# Robust Fault-Tolerant Control for Satellite Attitude Stabilization Based on Active Disturbance Rejection Approach with Artificial Bee Colony Algorithm

Authors: Fei Song; Shiyin Qin
Journal: Mathematical Problems in Engineering
 (2014)

---

## Abstract

This paper proposed a robust fault-tolerant control algorithm for satellite stabilization based on active disturbance rejection approach with artificial bee colony algorithm. The actuating mechanism of attitude control system consists of three working reaction flywheels and one spare reaction flywheel. The speed measurement of reaction flywheel is adopted for fault detection. If any reaction flywheel fault is detected, the corresponding fault flywheel is isolated and the spare reaction flywheel is activated to counteract the fault effect and ensure that the satellite is working safely and reliably. The active disturbance rejection approach is employed to design the controller, which handles input information with tracking differentiator, estimates system uncertainties with extended state observer, and generates control variables by state feedback and compensation. The designed active disturbance rejection controller is robust to both internal dynamics and external disturbances. The bandwidth parameter of extended state observer is optimized by the artificial bee colony algorithm so as to improve the performance of attitude control system. A series of simulation experiment results demonstrate the performance superiorities of the proposed robust fault-tolerant control algorithm.


---

## Body

## 1. Introduction

As space technology develops fast, satellites are widely used in many fields, including communication, navigation, exploration, and broadcast. For most of the missions, attitude control plays an important role in keeping and changing attitude of satellites to achieve the goals. For an on-orbit satellite, its attitude is changing all the time in effect of environmental torque (mainly including aerodynamic torque, solar pressure torque, gravity gradient torque, and magnetic torque) [1]. Attitude control counteracts or utilizes the effect of environmental torque to satisfy the requirements for different tasks. The torque generated by a satellite, such as thrust-eccentric effect, satellite-borne parts movement, thermal radiation, and electromagnetic radiation, causes different effect to attitude control. In addition, the existence of design tolerance and assemble errors, occurrence of faults, and uncertainties of sensors and actuators bring difficulties to acquire a good performance of attitude control [1–3].According to the way to acquire control torque, there are three types of satellite attitude control systems: passive attitude control systems, semipassive attitude control systems (also known as semiactive attitude control systems), and active attitude control systems [2]. The passive attitude control systems depend on satellite dynamics characteristics and surrounding environmental factors with almost no or little satellite-borne energy consumption to stabilize the attitude. For active attitude control systems, control torque is supplied by satellite-borne energy consumption to obtain the expected attitude on the basis of control law with measured attitude information. Semipassive attitude control systems adopt passive control mechanism for attitude stabilization and use the measured attitude information to accomplish some active control actions. Passive attitude control has advantages of low cost and low energy consumption. However, its application is subject to the environment. Once the environmental factors change heavily, it is hard to keep good performances of passive attitude control. Semipassive attitude control owns the advantages of passive attitude control, but it is also limited to the environmental factors. With more cost in hardware configuration and energy, active attitude control has many advantages, such as high accuracy, quick response, and robustness. Thus, it can be used in some unexpected conditions and is suitable for more difficult tasks [1–3].In recent years some new satellite attitude control methods are proposed by researchers from various countries. Reference [4] proposed a dynamics model of a satellite with four fluid rings for passive attitude control and designed a hybrid controller comprising a sliding mode and a PID controller to cope with the model uncertainties and eliminate chattering in the response of the system. Reference [5] examined the performance of the pseudospectral optimal control scheme for closed-loop time-optimal attitude maneuvering of the NPSATI spacecraft and compared its response with the one from a standard state feedback-control technique and verified the optimality by numerical propagation. Reference [6] presented an adaptive robust integrated power and attitude control system (IPACS) for a variable speed control moment gyroscope (VSCMG) actuated satellite, the controller of which is capable of achieving globally uniformly ultimately bounded (GUUB) attitude tracking in the presence of uncertain friction in the VSCMG gimbals and compensates for the effects of uncertain, time-varying satellite inertia properties. Reference [7] presented an adaptive controller based on the non-certainty-equivalence principle for attitude control of satellites using solar radiation pressure. With it, the precise large pitch angle control in spite of large parameter uncertainties was accomplished. Reference [8] presented a formulation for the modulation of magnetic dipole moment of a magnetically actuated satellite in the postfailure scenario of one of the three magnetic coils. The proposed magnetic dipole moment modulation in combination with the conventional control law is effective to achieve the attitude control of Earth-pointing satellites. Reference [9] proposed an inner model fault-tolerant control method based on online kernel learning algorithm. Depending on the character of inner model control and the compensation ability of online learning method, the adaptive fault-tolerant control for the satellite attitude control system with the actuator fault or sensor fault was achieved. With the research results including the above methods, the satellite attitude control technique is powerfully improved and well developed.Satellite attitude control includes attitude stabilization and attitude maneuver. The role of attitude stabilization is to keep the current attitude or attitude motion [2]. For an on-orbit satellite, the performance of attitude stabilization, especially under fault condition, is important for both the mission and the safety. To develop an active attitude control methodology of high precision and strong robustness, this paper proposed a robust fault-tolerant control algorithm for attitude stabilization of three-axis stable satellites. Active disturbance rejection control (ADRC) approach is employed to handle the system uncertainties and environmental disturbances. Combining ADRC with flywheel speed measurement, the fault-tolerant control law is designed for attitude control systems with actuator faults. Artificial bee colony (ABC) algorithm is used to optimize the parameters of ADRC in order to improve the performance of control systems.The remainder of this paper is organized as follows. Section2 presents modeling analysis of fault-tolerant control of satellite attitude stabilization. Strategy and scheme to counteract fault effect are given in Section 3. Section 4 designs robust fault-tolerant control law based on ADRC. Section 5 employs ABC algorithm for parameter optimization to improve the performance of robust fault-tolerant control. Sections 6 and 7 are simulation experiment comparative analysis and conclusion, respectively.


## 2. Modeling Analysis of Fault-Tolerant Control for Satellite Attitude Stabilization

Three-axis satellite attitude control system using reaction flywheels as actuators is considered as a flywheel control system. The reaction flywheel control system is mainly constituted by attitude sensors, controller, and actuators (reaction flywheels). Attitude sensors measure attitude information of the three orthogonal axes (roll axis, pitch axis, and yaw axis are parallel with space datum axes). Controller processes measured attitude information and sends control commands. Reaction flywheels supply control torque as the controller requires [1–3].


### 2.1. Modeling of Satellite Attitude Dynamics

Let the satellite’s principal axes of inertia be three main axes of the satellite body coordinate system; let inertia matrix be diagonal matrixJ
=
diag
⁡
(
J
x
,
J
y
,
J
z
)
); let wheel angular momentums in three main axes be (
h
x
,
h
y
,
h
z
); then dynamic equations of satellite attitude control system are
(1)
J
x
ω
˙
x
+
(
J
z
-
J
y
)
ω
y
ω
z
=
-
h
˙
x
+
h
y
ω
z
-
h
z
ω
y
+
T
x
,
J
y
ω
˙
y
+
(
J
x
-
J
z
)
ω
x
ω
z
=
-
h
˙
y
+
h
z
ω
x
-
h
x
ω
z
+
T
y
,
J
z
ω
˙
z
+
(
J
y
-
J
x
)
ω
x
ω
y
=
-
h
˙
z
+
h
x
ω
y
-
h
y
ω
x
+
T
z
,
where T
x, T
y, T
z are the external torque and ω
x, ω
y, ω
z are the attitude angular velocities [2].Satellite attitude information in orbital coordinate system could be determined by measured roll angleφ, pitch angle θ, and yaw angle ψ. The speed of the satellite relative to the orbital coordinates is (
φ
˙
,
θ
˙
,
ψ
˙
). Define the speed in orbit coordinate system in space as (
0
,
-
ω
0
,
0
). In satellite coordinate system, the speed ω can be expressed as
(2)
ω
=
[
ω
x
ω
y
ω
z
]
=
[
φ
˙
θ
˙
ψ
˙
]
+
[
1
ψ
-
θ
-
ψ
1
φ
θ
-
φ
1
]
[
0
-
ω
0
0
]
=
[
φ
˙
-
ω
0
ψ
θ
˙
-
ω
0
ψ
˙
+
ω
0
φ
]
.
Substituting (2) into (1), the dynamic equations are transformed as
(3)
J
x
φ
¨
+
[
(
J
y
-
J
z
)
ω
0
2
-
ω
0
h
y
]
φ
+
[
(
J
y
-
J
x
-
J
z
)
ω
0
-
h
y
]
ψ
˙
=
-
h
˙
x
+
ω
0
h
z
+
T
x
,
J
y
θ
¨
+
h
x
(
ψ
˙
+
ω
0
φ
˙
)
-
h
z
(
φ
˙
-
ω
0
ψ
)
=
-
h
˙
y
+
T
y
,
J
z
ψ
¨
+
[
(
J
y
-
J
x
)
ω
0
2
-
ω
0
h
y
]
ψ
-
[
(
J
y
-
J
x
-
J
z
)
ω
0
-
h
y
]
φ
˙
=
-
h
˙
z
-
ω
0
h
x
+
T
z
.
For zero momentum reaction flywheel control of three-axis stable satellite, ignoring the influence of the solar panels and the wheel angular momentums, the dynamic equations are transformed as
(4)
J
x
φ
¨
+
ω
0
2
(
J
y
-
J
z
)
φ
+
ω
0
(
J
y
-
J
x
-
J
z
)
ψ
˙
=
T
x
-
h
˙
x
,
J
y
θ
¨
=
T
y
-
h
˙
y
,
J
z
ψ
¨
+
ω
0
2
(
J
y
-
J
x
)
ψ
-
ω
0
(
J
y
-
J
x
-
J
z
)
φ
˙
=
T
z
-
h
˙
z
,
where T
x, T
y, T
z are environmental torque of three axes in satellite coordinate system [3].With (4), the state space model of satellite dynamics can be built as
(5)
X
˙
=
A
X
+
B
U
+
G
T
e
,
Y
=
C
X
,
where
(6)
X
=
[
φ
˙
θ
˙
ψ
˙
φ
θ
ψ
]
T
,
U
=
[
h
˙
x
h
˙
y
h
˙
z
]
T
,
T
e
=
[
T
x
T
y
T
z
]
T
,
Y
=
[
φ
θ
ψ
]
T
,
A
=
[
0
0
a
1
a
2
0
0
0
0
0
0
0
0
a
3
0
0
0
0
a
4
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
]
,
B
=
[
-
1
J
x
0
0
0
-
1
J
y
0
0
0
-
1
J
z
0
0
0
0
0
0
0
0
0
]
,
G
=
-
B
,
C
=
[
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
]
,
a
1
=
-
ω
0
(
J
y
-
J
x
-
J
z
)
J
x
,
a
2
=
-
ω
0
2
(
J
y
-
J
z
)
J
x
,
a
3
=
ω
0
(
J
y
-
J
x
-
J
z
)
J
z
,
a
4
=
-
ω
0
2
(
J
y
-
J
x
)
J
z
.


### 2.2. Problem Statement of Fault-Tolerant Control

Generally speaking, for a closed-loop control system, when some actuator fault, sensor fault, or the other fault happens, it keeps stable and owns an acceptable performance; then the system is called a fault-tolerant control system. For satellites attitude stabilization, many of the faults occur in reaction flywheel; thus, the fault-tolerant control focuses on the flywheel fault situation in this paper. For a satellite, which adopts reaction flywheels as its main actuators, reaction flywheel fault makes control torque it supplies not meet the current requirements for attitude control and may cause the satellite to be in danger. Once any reaction flywheel fault occurs in one of the three axes, as time goes with no action to repair it, the increase of attitude error would result in a catastrophic failure. When a reaction flywheel fault happens, according to fault-tolerant control law, the spare flywheel, working together with the remainder of the use ability, is used to counteract the attitude error. Fault-tolerant control makes the satellite with a reaction flywheel fault work safely and reliably and keeps attitude stabilization in an acceptable condition.


### 2.3. Key Difficulties of Robust Fault-Tolerant Control

For an on-orbit satellite, there are some challenging difficulties to achieve robust fault-tolerant control. Satellite system, which is made up of many parts and components, is of complexity. When a satellite runs on-orbit, there would be some faults happening almost inevitably. A tiny fault may cause the whole system failure. There are too many uncertain factors, for example, existence of cosmic dust, uneven temperature change, and difference of air densities, in the orbit environment, which is quite different from the ground environment. Environmental factors, which weaken the components and shorten their use-life, make the satellite much easier to be in fault in space than on the ground. Satellite-borne resources including computing resources, energies, and fuels, the amount of which is restrained to the capacity of the rocket and overall design of the satellite is not infinite, are limitations for design of robust fault-tolerant control. Because of the long distance and the rotating of the Earth, manual intervention is limited to achieve robust fault-tolerant control. Some missions require high accuracy and high stabilization for attitude control, even though there are some faults occurring [10–12]. Above all, robust fault-tolerant control should be of quick response, effective, efficient, of high precision, and of low cost.


## 2.1. Modeling of Satellite Attitude Dynamics

Let the satellite’s principal axes of inertia be three main axes of the satellite body coordinate system; let inertia matrix be diagonal matrixJ
=
diag
⁡
(
J
x
,
J
y
,
J
z
)
); let wheel angular momentums in three main axes be (
h
x
,
h
y
,
h
z
); then dynamic equations of satellite attitude control system are
(1)
J
x
ω
˙
x
+
(
J
z
-
J
y
)
ω
y
ω
z
=
-
h
˙
x
+
h
y
ω
z
-
h
z
ω
y
+
T
x
,
J
y
ω
˙
y
+
(
J
x
-
J
z
)
ω
x
ω
z
=
-
h
˙
y
+
h
z
ω
x
-
h
x
ω
z
+
T
y
,
J
z
ω
˙
z
+
(
J
y
-
J
x
)
ω
x
ω
y
=
-
h
˙
z
+
h
x
ω
y
-
h
y
ω
x
+
T
z
,
where T
x, T
y, T
z are the external torque and ω
x, ω
y, ω
z are the attitude angular velocities [2].Satellite attitude information in orbital coordinate system could be determined by measured roll angleφ, pitch angle θ, and yaw angle ψ. The speed of the satellite relative to the orbital coordinates is (
φ
˙
,
θ
˙
,
ψ
˙
). Define the speed in orbit coordinate system in space as (
0
,
-
ω
0
,
0
). In satellite coordinate system, the speed ω can be expressed as
(2)
ω
=
[
ω
x
ω
y
ω
z
]
=
[
φ
˙
θ
˙
ψ
˙
]
+
[
1
ψ
-
θ
-
ψ
1
φ
θ
-
φ
1
]
[
0
-
ω
0
0
]
=
[
φ
˙
-
ω
0
ψ
θ
˙
-
ω
0
ψ
˙
+
ω
0
φ
]
.
Substituting (2) into (1), the dynamic equations are transformed as
(3)
J
x
φ
¨
+
[
(
J
y
-
J
z
)
ω
0
2
-
ω
0
h
y
]
φ
+
[
(
J
y
-
J
x
-
J
z
)
ω
0
-
h
y
]
ψ
˙
=
-
h
˙
x
+
ω
0
h
z
+
T
x
,
J
y
θ
¨
+
h
x
(
ψ
˙
+
ω
0
φ
˙
)
-
h
z
(
φ
˙
-
ω
0
ψ
)
=
-
h
˙
y
+
T
y
,
J
z
ψ
¨
+
[
(
J
y
-
J
x
)
ω
0
2
-
ω
0
h
y
]
ψ
-
[
(
J
y
-
J
x
-
J
z
)
ω
0
-
h
y
]
φ
˙
=
-
h
˙
z
-
ω
0
h
x
+
T
z
.
For zero momentum reaction flywheel control of three-axis stable satellite, ignoring the influence of the solar panels and the wheel angular momentums, the dynamic equations are transformed as
(4)
J
x
φ
¨
+
ω
0
2
(
J
y
-
J
z
)
φ
+
ω
0
(
J
y
-
J
x
-
J
z
)
ψ
˙
=
T
x
-
h
˙
x
,
J
y
θ
¨
=
T
y
-
h
˙
y
,
J
z
ψ
¨
+
ω
0
2
(
J
y
-
J
x
)
ψ
-
ω
0
(
J
y
-
J
x
-
J
z
)
φ
˙
=
T
z
-
h
˙
z
,
where T
x, T
y, T
z are environmental torque of three axes in satellite coordinate system [3].With (4), the state space model of satellite dynamics can be built as
(5)
X
˙
=
A
X
+
B
U
+
G
T
e
,
Y
=
C
X
,
where
(6)
X
=
[
φ
˙
θ
˙
ψ
˙
φ
θ
ψ
]
T
,
U
=
[
h
˙
x
h
˙
y
h
˙
z
]
T
,
T
e
=
[
T
x
T
y
T
z
]
T
,
Y
=
[
φ
θ
ψ
]
T
,
A
=
[
0
0
a
1
a
2
0
0
0
0
0
0
0
0
a
3
0
0
0
0
a
4
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
]
,
B
=
[
-
1
J
x
0
0
0
-
1
J
y
0
0
0
-
1
J
z
0
0
0
0
0
0
0
0
0
]
,
G
=
-
B
,
C
=
[
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
]
,
a
1
=
-
ω
0
(
J
y
-
J
x
-
J
z
)
J
x
,
a
2
=
-
ω
0
2
(
J
y
-
J
z
)
J
x
,
a
3
=
ω
0
(
J
y
-
J
x
-
J
z
)
J
z
,
a
4
=
-
ω
0
2
(
J
y
-
J
x
)
J
z
.


## 2.2. Problem Statement of Fault-Tolerant Control

Generally speaking, for a closed-loop control system, when some actuator fault, sensor fault, or the other fault happens, it keeps stable and owns an acceptable performance; then the system is called a fault-tolerant control system. For satellites attitude stabilization, many of the faults occur in reaction flywheel; thus, the fault-tolerant control focuses on the flywheel fault situation in this paper. For a satellite, which adopts reaction flywheels as its main actuators, reaction flywheel fault makes control torque it supplies not meet the current requirements for attitude control and may cause the satellite to be in danger. Once any reaction flywheel fault occurs in one of the three axes, as time goes with no action to repair it, the increase of attitude error would result in a catastrophic failure. When a reaction flywheel fault happens, according to fault-tolerant control law, the spare flywheel, working together with the remainder of the use ability, is used to counteract the attitude error. Fault-tolerant control makes the satellite with a reaction flywheel fault work safely and reliably and keeps attitude stabilization in an acceptable condition.


## 2.3. Key Difficulties of Robust Fault-Tolerant Control

For an on-orbit satellite, there are some challenging difficulties to achieve robust fault-tolerant control. Satellite system, which is made up of many parts and components, is of complexity. When a satellite runs on-orbit, there would be some faults happening almost inevitably. A tiny fault may cause the whole system failure. There are too many uncertain factors, for example, existence of cosmic dust, uneven temperature change, and difference of air densities, in the orbit environment, which is quite different from the ground environment. Environmental factors, which weaken the components and shorten their use-life, make the satellite much easier to be in fault in space than on the ground. Satellite-borne resources including computing resources, energies, and fuels, the amount of which is restrained to the capacity of the rocket and overall design of the satellite is not infinite, are limitations for design of robust fault-tolerant control. Because of the long distance and the rotating of the Earth, manual intervention is limited to achieve robust fault-tolerant control. Some missions require high accuracy and high stabilization for attitude control, even though there are some faults occurring [10–12]. Above all, robust fault-tolerant control should be of quick response, effective, efficient, of high precision, and of low cost.


## 3. Strategy and Scheme to Counteract Fault Effect

The three-axis stable satellite attitude control system owns three reaction flywheels, respectively, located in three orthogonal axes and one spare reaction flywheel located in the other axis as redundancy. The angles between the direction of redundant reaction flywheel and each one of the three axes are the same (about 54.74 degree, as shown in Figure1). Under fault-free condition, three flywheels work to supply control torque and the spare one is in standby mode. Once any fault of the three working flywheels is detected, activate the spare flywheel to recover the acceptable attitude [1, 2].Figure 1
Configuration of four reaction wheels.


### 3.1. Aim and Performance Index of Robust Fault-Tolerant Control

The aim of robust fault-tolerant control for satellite attitude stabilization is to counteract the effect of faults and ensure safety and reliability of the faulty attitude control system under the system uncertainties and environmental disturbances condition [12–14]. Robust fault-tolerant control for attitude stabilization should satisfy the following performance indexes.(1)
Quick response: the time cost, mainly including fault detection time, time to start the spare component, and system recovery time, should be short enough to reduce the fault effect.
(2)
Stability: under fault condition, fault-tolerant control should make satellite attitude stabilize and change in the setting range.
(3)
Precision: for satellite attitude stabilization, high precision of attitude control means attitude errors are small enough and attitude angles are close to the expected.
(4)
Robustness: fault-tolerant control should be robust to both of the system uncertainties and the external disturbances.
(5)
Fault tolerance: once a fault is detected, fault-tolerant control should be effective and efficient to counteract the fault effect and stabilize the satellite attitude in an acceptable range.The above indexes serve as references to measure performance of fault-tolerant control for attitude stabilization.


### 3.2. Implementing Strategy and Scheme

Implementing strategy of fault-tolerant control for attitude stabilization in this paper is detecting the reaction flywheel fault based on flywheel speed measurement and using the spare flywheel to supply control torque for eliminating attitude errors caused by the flywheel fault.For a reaction flywheel, the torque it supplies is closely related to its speed. The faster the speed is, the greater the torque the flywheel supplies. The flywheel torque can be calculated by measuring the flywheel speed. When the difference value between the expected torque that the controller requires and the actual torque calculated by speed measurement is over the fault detection threshold, the flywheel is judged in fault. After that, isolate the fault flywheel and activate the spare flywheel to supply control torque, the size of which is3 times the one the controller requires. The torques acted by the spare flywheel in the three axes are respectively equal to 1
/
3 of the actual torque supplied by the spare flywheel. For the axis with a reaction flywheel fault, the spare flywheel compensates the torque loss caused by the fault. Meanwhile, the flywheels in the other two axes reduce their torque by the same size which is equal to 1
/
3 of the torque of the spare flywheel. With these actions, fault-tolerant control is achieved to make attitude stabilize in an acceptable working range.


## 3.1. Aim and Performance Index of Robust Fault-Tolerant Control

The aim of robust fault-tolerant control for satellite attitude stabilization is to counteract the effect of faults and ensure safety and reliability of the faulty attitude control system under the system uncertainties and environmental disturbances condition [12–14]. Robust fault-tolerant control for attitude stabilization should satisfy the following performance indexes.(1)
Quick response: the time cost, mainly including fault detection time, time to start the spare component, and system recovery time, should be short enough to reduce the fault effect.
(2)
Stability: under fault condition, fault-tolerant control should make satellite attitude stabilize and change in the setting range.
(3)
Precision: for satellite attitude stabilization, high precision of attitude control means attitude errors are small enough and attitude angles are close to the expected.
(4)
Robustness: fault-tolerant control should be robust to both of the system uncertainties and the external disturbances.
(5)
Fault tolerance: once a fault is detected, fault-tolerant control should be effective and efficient to counteract the fault effect and stabilize the satellite attitude in an acceptable range.The above indexes serve as references to measure performance of fault-tolerant control for attitude stabilization.


## 3.2. Implementing Strategy and Scheme

Implementing strategy of fault-tolerant control for attitude stabilization in this paper is detecting the reaction flywheel fault based on flywheel speed measurement and using the spare flywheel to supply control torque for eliminating attitude errors caused by the flywheel fault.For a reaction flywheel, the torque it supplies is closely related to its speed. The faster the speed is, the greater the torque the flywheel supplies. The flywheel torque can be calculated by measuring the flywheel speed. When the difference value between the expected torque that the controller requires and the actual torque calculated by speed measurement is over the fault detection threshold, the flywheel is judged in fault. After that, isolate the fault flywheel and activate the spare flywheel to supply control torque, the size of which is3 times the one the controller requires. The torques acted by the spare flywheel in the three axes are respectively equal to 1
/
3 of the actual torque supplied by the spare flywheel. For the axis with a reaction flywheel fault, the spare flywheel compensates the torque loss caused by the fault. Meanwhile, the flywheels in the other two axes reduce their torque by the same size which is equal to 1
/
3 of the torque of the spare flywheel. With these actions, fault-tolerant control is achieved to make attitude stabilize in an acceptable working range.


## 4. Design of Robust Fault-Tolerant Control Based on ADRC

ADRC is employed to design control laws for satellite attitude stabilization, which makes the control of robustness. The measured flywheel speed is used to calculate control torque of three-axis flywheels for fault detection. The spare flywheel works to supply control torque to counteract the effect of flywheel fault and achieve fault-tolerant control.


### 4.1. ADRC and Its Characteristics

In order to expound the principle of ADRC, a discrete double integral controlled system is considered here:(7)
x
(
k
+
1
)
=
A
0
x
(
k
)
+
B
0
u
(
k
)
+
W
(
k
)
,
|
u
(
k
)
≤
r
|
,
where x
=
[
x
1
x
2
], A
0
=
[
1
h
0
1
], B
0
=
[
0
b
], and b
≠
0; W
=
[
0
w
] is load disturbance, h is the sampling period, and r is the actuator saturation limit.Time optimal control functionfhan
(
x
1
,
x
2
,
r
,
h
) [15, 16] of the controlled system (7) can be implemented in a digital computer as
(8)
d
=
r
h
,
d
0
=
h
d
,
y
=
x
1
+
h
x
2
,
a
0
=
d
2
+
8
r
|
y
|
,
a
=
{
x
2
+
(
a
0
-
d
)
2
sign
⁡
(
y
)
,
|
y
|
>
d
0
x
2
+
y
h
,
|
y
|
≤
d
0
,
fhan
=
-
{
r
sign
⁡
(
a
)
,
|
a
|
>
d
r
a
d
,
|
a
|
≤
d
.
Let v
(
k
) be a set point, tracked by the output y
(
k
) of controlled system. Time optimal tracking differentiator (TD) is
(9)
f
h
=
fhan
(
v
1
(
k
)
-
v
(
k
)
,
v
2
(
k
)
,
r
,
h
)
,
v
1
(
k
+
1
)
=
v
1
(
k
)
+
h
v
2
(
k
)
,
v
2
(
k
+
1
)
=
v
2
(
k
)
+
h
f
h
,
where v
1
(
k
) and v
2
(
k
) are the outputs of the tracking differentiator [15].Extended state observer (ESO) is(10)
z
(
k
+
1
)
=
A
~
0
z
(
k
)
+
B
~
0
u
(
k
)
+
h
L
(
y
(
k
)
-
z
1
(
k
)
)
,
where z
=
[
z
1
z
2
z
3
] is the output of the ESO (10), A
~
0
=
[
1
h
0
0
1
0
0
0
0
], B
~
0
=
[
0
b
0
], and L
=
[
l
1
l
2
l
3
]. l
1, l
2, l
3 are the parameters of the ESO (10) [15, 17, 18].State error feedback function is(11)
e
1
(
k
)
=
v
1
(
k
)
-
z
1
(
k
)
,
e
2
(
k
)
=
v
2
(
k
)
-
z
2
(
k
)
,
u
0
=
-
fhan
(
e
1
(
k
)
,
e
2
(
k
)
,
r
0
,
h
0
)
,
where r
0 and h
0 are the limit and sampling period of the function (11), respectively.The control law of second-order ADRC for the controlled system (7) is
(12)
u
(
k
)
=
(
u
0
(
k
)
-
z
3
(
k
)
)
b
.
The estimated variable z
3 is compensated by the error feedback control variable u
0. The control variable u is determined by both u
0 and z
3 [15]. The structure of second-order ADRC is illustrated in Figure 2.Figure 2
Structure of second-order ADRC.The controllers that consist of tracking differentiator, extended state observer, state error feedback, and compensation for disturbance estimation are called active disturbance rejection controllers. Active disturbance rejection characteristics are mainly about real-time disturbance estimation and compensation, which are the most essential functions of ADRC. With ESO, the key of ADRC, the external disturbances, and internal uncertainties can be estimated and counteracted by compensation in real time. ADRC does not depend on model, and it is inherently robust [15, 16].


### 4.2. Design of Robust Fault-Tolerant Control Law

For an on-orbit satellite, the digital controllers are employed based on the discrete state space model. Thus the continuous time satellite system model should be discretized in order to design effective control law according to required performance indices and constraints. In this paper, we use a finite difference method to complete the discretization of satellite system model. In this way, the derivative of state vector is approximated to the first-order difference rate as follows:(13)
X
˙
(
t
)
=
˙
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
,
where T
d is the sampling period which is fairly satisfied with the Shannon sampling theorem.Thus, the state space model (5) is discretized by finite difference method with a proper sampling period T
d, so that
(14)
X
˙
(
t
)
=
˙
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
X
˙
(
t
)
=
A
X
(
k
T
d
)
+
B
U
(
k
T
d
)
+
G
T
e
(
k
T
d
)
,
and it is obvious that
(15)
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
=
A
X
(
k
T
d
)
+
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
=
+
G
T
e
(
k
T
d
)
,
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
=
T
d
A
X
(
k
T
d
)
+
T
d
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
=
+
T
d
G
T
e
(
k
T
d
)
,
X
(
(
k
+
1
)
T
d
)
=
X
(
k
T
d
)
+
T
d
A
X
(
k
T
d
)
+
T
d
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
=
+
T
d
G
T
e
(
k
T
d
)
,
X
(
(
k
+
1
)
T
d
)
=
(
I
+
T
d
A
)
X
(
k
T
d
)
+
T
d
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
=
+
T
d
G
T
e
(
k
T
d
)
,
where I is a proper dimensional identity matrix.Compared with the following standard discrete time state space model(16)
X
l
(
k
+
1
)
=
A
l
X
l
(
k
)
+
B
l
U
l
(
k
)
+
G
l
T
l
(
k
)
,
the parameter matrices of discretized model with finite difference method can be listed as follows: A
l
=
I
+
T
d
A, B
l
=
T
d
B, and G
l
=
T
d
G.Consider the model (16) as three second-order controlled systems. For satellite attitude stabilization, attitude angles are expected to be 0
°. Let the set points v
01
=
0, v
02
=
0, and v
03
=
0 be the inputs of three tracking differentiators; then the TDs are
(17)
v
l
1
(
k
+
1
)
=
v
l
1
(
k
)
+
h
1
v
l
2
(
k
)
,
v
l
2
(
k
+
1
)
=
v
l
2
(
k
)
v
l
2
(
k
+
1
)
=
+
h
1
fhan
(
v
l
1
(
k
)
-
v
01
(
k
)
,
v
l
2
(
k
)
,
r
1
,
h
1
)
,
v
l
3
(
k
+
1
)
=
v
l
3
(
k
)
+
h
1
v
l
4
(
k
)
,
v
l
4
(
k
+
1
)
=
v
l
4
(
k
)
v
l
4
(
k
+
1
)
=
+
h
1
fhan
(
v
l
3
(
k
)
-
v
02
(
k
)
,
v
l
4
(
k
)
,
r
1
,
h
1
)
,
v
l
5
(
k
+
1
)
=
v
l
5
(
k
)
+
h
1
v
l
6
(
k
)
,
v
l
6
(
k
+
1
)
=
v
l
6
(
k
)
v
l
6
(
k
+
1
)
=
+
h
1
fhan
(
v
l
5
(
k
)
-
v
03
(
k
)
,
v
l
6
(
k
)
,
r
1
,
h
1
)
,
where h
1 and r
1 are the sampling times and limit for three-axis attitude stabilization, respectively. v
l
1, v
l
2, v
l
3, v
l
4, v
l
5, and v
l
6 are the outputs of the above three TDs.The ESO of the attitude control system is(18)
Z
l
(
k
+
1
)
=
A
~
l
Z
l
(
k
)
+
B
~
l
U
l
(
k
)
+
L
~
l
E
l
(
k
)
,
where Z
l
=
[
z
l
1
z
l
2
z
l
3
z
l
4
z
l
5
z
l
6
z
l
7
z
l
8
z
l
9
]
T, A
~
l
=
[
A
l
0
6
×
3
0
3
×
6
0
3
×
3
], B
~
l
=
[
B
l
0
3
×
3
], L
~
l
=
[
l
l
1
l
l
2
l
l
3
l
l
4
l
l
5
l
l
6
l
l
7
l
l
8
l
l
9
]
T, and E
l
=
[
y
l
1
-
z
l
4
y
l
2
-
z
l
5
y
l
3
-
z
l
6
]
T.The state error feedback functions are(19)
e
l
1
(
k
)
=
v
l
1
(
k
)
-
z
l
4
(
k
)
,
e
l
2
(
k
)
=
v
l
2
(
k
)
-
z
l
1
(
k
)
,
u
0
x
(
k
)
=
-
fhan
(
e
l
1
(
k
)
,
e
l
2
(
k
)
,
r
2
,
h
2
)
,
e
l
3
(
k
)
=
v
l
3
(
k
)
-
z
l
5
(
k
)
,
e
l
4
(
k
)
=
v
l
4
(
k
)
-
z
l
2
(
k
)
,
u
0
y
(
k
)
=
-
fhan
(
e
l
3
(
k
)
,
e
l
4
(
k
)
,
r
2
,
h
2
)
,
e
l
5
(
k
)
=
v
l
5
(
k
)
-
z
l
6
(
k
)
,
e
l
6
(
k
)
=
v
l
6
(
k
)
-
z
l
3
(
k
)
,
u
0
z
(
k
)
=
-
fhan
(
e
l
5
(
k
)
,
e
l
6
(
k
)
,
r
2
,
h
2
)
.
Let b
x
=
-
T
d
/
J
x, b
y
=
-
T
d
/
J
y, and b
z
=
-
T
d
/
J
z. Under fault-free condition, control laws are
(20)
u
x
(
k
)
=
u
0
x
(
k
)
-
z
l
7
(
k
)
b
x
,
u
y
(
k
)
=
u
0
y
(
k
)
-
z
l
8
(
k
)
b
y
,
u
z
(
k
)
=
u
0
z
(
k
)
-
z
l
9
(
k
)
b
z
.
The model of attitude control system in flywheel fault is
(21)
X
l
(
k
+
1
)
=
A
l
X
l
(
k
)
+
B
l
U
l
(
k
)
+
E
l
F
l
(
k
)
+
G
l
T
l
(
k
)
,
Y
l
(
k
)
=
C
l
X
l
(
k
)
,
where E
l
=
B
l, F
l
∈
R
3 represent reaction flywheel fault.The relationship between actual control torqueU
a and control torque U
r supplied by reaction flywheels is
(22)
U
a
(
k
)
=
[
1
0
0
3
3
0
1
0
3
3
0
0
1
3
3
]
U
r
(
k
)
,
where U
a
=
[
u
a
x
u
a
y
u
a
z
]
T and u
a
x, u
a
y, and u
a
z are actual control torque acting on three axes. U
r
=
[
u
r
x
u
r
y
u
r
z
u
r
s
]
Tand u
r
x, u
r
y, u
r
z, and u
r
s are control torque supplied by roll-axis flywheel, pitch-axis flywheel, yaw-axis flywheel, and spare flywheel, respectively. Under fault-free condition, u
s
(
k
) is equal to 0 and u
r
x
(
k
), u
r
y
(
k
), and u
r
z
(
k
) are, respectively, equal to u
x
(
k
), u
y
(
k
), and u
z
(
k
). If the absolute difference between control torque as the controller requires and control torque output by flywheel is greater than the threshold u
f and the flywheel is judged in fault, then isolate it and activate the spare flywheel.Three rules are summarized and extracted to steer the fault-tolerant control, which are listed as follows.(1)
If|
u
x
(
k
)
-
u
r
x
(
k
)
|
≥
u
f, then isolate the roll-axis flywheel and activate the spare flywheel; u
s
(
k
+
1
)
=
3
u
x
(
k
+
1
), the control torque output by pitch-axis flywheel and yaw-axis flywheel are adjusted as u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
x
(
k
+
1
) and u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
x
(
k
+
1
).
(2)
If|
u
y
(
k
)
-
u
r
y
(
k
)
|
≥
u
f, then isolate the pitch-axis flywheel and activate the spare flywheel; u
r
s
(
k
+
1
)
=
3
u
y
(
k
+
1
), the control torque output by roll-axis flywheel and yaw-axis flywheel are adjusted as u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
y
(
k
+
1
) and u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
y
(
k
+
1
).
(3)
If|
u
z
(
k
)
-
u
r
z
(
k
)
|
≥
u
f, then isolate the yaw-axis flywheel and activate the spare flywheel; u
r
s
(
k
+
1
)
=
3
u
z
(
k
+
1
), the control torques output by roll-axis flywheel and pitch-axis flywheel are adjusted as u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
z
(
k
+
1
) and u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
z
(
k
+
1
).It is obvious that the actual control torque is equal to the one as controller requires in order to stabilize satellite attitude. ADRC is organically syncretized with the above rule set so as to achieve well performance and robustness of fault-tolerant control.


### 4.3. Impact on Control Performance from Bandwidth Parameter

For ADRC, the sampling times and the actuator saturation limits are determined by system characteristics and requirements for controller design [15, 19]. In the ESO (10), l
1, l
2, and l
3 are the tuning parameters. If the controlled system (7) can be approximated by the second-order system model structure
(23)
y
¨
0
=
f
(
t
,
y
0
,
y
˙
0
,
w
)
and l
1, l
2, and l
3 are well tuned, z
1, z
2, z
3 track y
0, y
˙
0, y
¨
0, respectively. The term f represents the combined effect of the internal dynamics and external disturbances w. For ADRC, it reduces the dependence on accurate mathematical model and requires the observer gains to be well tuned. For tuning simplicity, the observer gains, l
1, l
2, and l
3, are suggested to be chosen as in the following [19, 20]:
(24)
s
3
+
l
1
s
2
+
l
2
s
+
l
3
=
(
s
+
ω
0
)
3
,
where ω
0 is denoted as observer bandwidth. The observer gains, l
1, l
2, and l
3, are
(25)
l
1
=
3
ω
0
,
l
2
=
3
ω
0
2
,
l
3
=
ω
0
3
.
All three of the observer poles are placed at ω
0. The larger the bandwidth is, the sooner the disturbances are observed by ESO and counteracted by active disturbance rejection controller. If ω
0 is too large or lies out of the stable region, it is hard to maintain the stability of the control. In the certain region, ω
0 should be properly selected in order to obtain a good control performance [17, 20, 21].


### 4.4. Feasible Approach to Parameter Optimization

Artificial bee colony algorithm is a metaheuristic approach that simulates the intelligent foraging behavior of honey bee swarms. ABC algorithm has a simple structure and needs only a few control parameters. In ABC algorithm, global search and local search are carried out during each iteration. Hence, the probability of finding the optimal solution increases greatly and the local optimum is largely avoided [22, 23]. Due to its simplicity and ease of implementation of computer programming, ABC algorithm is feasible and suitable to optimize the bandwidth parameter of ADRC.


## 4.1. ADRC and Its Characteristics

In order to expound the principle of ADRC, a discrete double integral controlled system is considered here:(7)
x
(
k
+
1
)
=
A
0
x
(
k
)
+
B
0
u
(
k
)
+
W
(
k
)
,
|
u
(
k
)
≤
r
|
,
where x
=
[
x
1
x
2
], A
0
=
[
1
h
0
1
], B
0
=
[
0
b
], and b
≠
0; W
=
[
0
w
] is load disturbance, h is the sampling period, and r is the actuator saturation limit.Time optimal control functionfhan
(
x
1
,
x
2
,
r
,
h
) [15, 16] of the controlled system (7) can be implemented in a digital computer as
(8)
d
=
r
h
,
d
0
=
h
d
,
y
=
x
1
+
h
x
2
,
a
0
=
d
2
+
8
r
|
y
|
,
a
=
{
x
2
+
(
a
0
-
d
)
2
sign
⁡
(
y
)
,
|
y
|
>
d
0
x
2
+
y
h
,
|
y
|
≤
d
0
,
fhan
=
-
{
r
sign
⁡
(
a
)
,
|
a
|
>
d
r
a
d
,
|
a
|
≤
d
.
Let v
(
k
) be a set point, tracked by the output y
(
k
) of controlled system. Time optimal tracking differentiator (TD) is
(9)
f
h
=
fhan
(
v
1
(
k
)
-
v
(
k
)
,
v
2
(
k
)
,
r
,
h
)
,
v
1
(
k
+
1
)
=
v
1
(
k
)
+
h
v
2
(
k
)
,
v
2
(
k
+
1
)
=
v
2
(
k
)
+
h
f
h
,
where v
1
(
k
) and v
2
(
k
) are the outputs of the tracking differentiator [15].Extended state observer (ESO) is(10)
z
(
k
+
1
)
=
A
~
0
z
(
k
)
+
B
~
0
u
(
k
)
+
h
L
(
y
(
k
)
-
z
1
(
k
)
)
,
where z
=
[
z
1
z
2
z
3
] is the output of the ESO (10), A
~
0
=
[
1
h
0
0
1
0
0
0
0
], B
~
0
=
[
0
b
0
], and L
=
[
l
1
l
2
l
3
]. l
1, l
2, l
3 are the parameters of the ESO (10) [15, 17, 18].State error feedback function is(11)
e
1
(
k
)
=
v
1
(
k
)
-
z
1
(
k
)
,
e
2
(
k
)
=
v
2
(
k
)
-
z
2
(
k
)
,
u
0
=
-
fhan
(
e
1
(
k
)
,
e
2
(
k
)
,
r
0
,
h
0
)
,
where r
0 and h
0 are the limit and sampling period of the function (11), respectively.The control law of second-order ADRC for the controlled system (7) is
(12)
u
(
k
)
=
(
u
0
(
k
)
-
z
3
(
k
)
)
b
.
The estimated variable z
3 is compensated by the error feedback control variable u
0. The control variable u is determined by both u
0 and z
3 [15]. The structure of second-order ADRC is illustrated in Figure 2.Figure 2
Structure of second-order ADRC.The controllers that consist of tracking differentiator, extended state observer, state error feedback, and compensation for disturbance estimation are called active disturbance rejection controllers. Active disturbance rejection characteristics are mainly about real-time disturbance estimation and compensation, which are the most essential functions of ADRC. With ESO, the key of ADRC, the external disturbances, and internal uncertainties can be estimated and counteracted by compensation in real time. ADRC does not depend on model, and it is inherently robust [15, 16].


## 4.2. Design of Robust Fault-Tolerant Control Law

For an on-orbit satellite, the digital controllers are employed based on the discrete state space model. Thus the continuous time satellite system model should be discretized in order to design effective control law according to required performance indices and constraints. In this paper, we use a finite difference method to complete the discretization of satellite system model. In this way, the derivative of state vector is approximated to the first-order difference rate as follows:(13)
X
˙
(
t
)
=
˙
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
,
where T
d is the sampling period which is fairly satisfied with the Shannon sampling theorem.Thus, the state space model (5) is discretized by finite difference method with a proper sampling period T
d, so that
(14)
X
˙
(
t
)
=
˙
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
X
˙
(
t
)
=
A
X
(
k
T
d
)
+
B
U
(
k
T
d
)
+
G
T
e
(
k
T
d
)
,
and it is obvious that
(15)
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
=
A
X
(
k
T
d
)
+
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
T
d
=
+
G
T
e
(
k
T
d
)
,
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
=
T
d
A
X
(
k
T
d
)
+
T
d
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
-
X
(
k
T
d
)
=
+
T
d
G
T
e
(
k
T
d
)
,
X
(
(
k
+
1
)
T
d
)
=
X
(
k
T
d
)
+
T
d
A
X
(
k
T
d
)
+
T
d
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
=
+
T
d
G
T
e
(
k
T
d
)
,
X
(
(
k
+
1
)
T
d
)
=
(
I
+
T
d
A
)
X
(
k
T
d
)
+
T
d
B
U
(
k
T
d
)
X
(
(
k
+
1
)
T
d
)
=
+
T
d
G
T
e
(
k
T
d
)
,
where I is a proper dimensional identity matrix.Compared with the following standard discrete time state space model(16)
X
l
(
k
+
1
)
=
A
l
X
l
(
k
)
+
B
l
U
l
(
k
)
+
G
l
T
l
(
k
)
,
the parameter matrices of discretized model with finite difference method can be listed as follows: A
l
=
I
+
T
d
A, B
l
=
T
d
B, and G
l
=
T
d
G.Consider the model (16) as three second-order controlled systems. For satellite attitude stabilization, attitude angles are expected to be 0
°. Let the set points v
01
=
0, v
02
=
0, and v
03
=
0 be the inputs of three tracking differentiators; then the TDs are
(17)
v
l
1
(
k
+
1
)
=
v
l
1
(
k
)
+
h
1
v
l
2
(
k
)
,
v
l
2
(
k
+
1
)
=
v
l
2
(
k
)
v
l
2
(
k
+
1
)
=
+
h
1
fhan
(
v
l
1
(
k
)
-
v
01
(
k
)
,
v
l
2
(
k
)
,
r
1
,
h
1
)
,
v
l
3
(
k
+
1
)
=
v
l
3
(
k
)
+
h
1
v
l
4
(
k
)
,
v
l
4
(
k
+
1
)
=
v
l
4
(
k
)
v
l
4
(
k
+
1
)
=
+
h
1
fhan
(
v
l
3
(
k
)
-
v
02
(
k
)
,
v
l
4
(
k
)
,
r
1
,
h
1
)
,
v
l
5
(
k
+
1
)
=
v
l
5
(
k
)
+
h
1
v
l
6
(
k
)
,
v
l
6
(
k
+
1
)
=
v
l
6
(
k
)
v
l
6
(
k
+
1
)
=
+
h
1
fhan
(
v
l
5
(
k
)
-
v
03
(
k
)
,
v
l
6
(
k
)
,
r
1
,
h
1
)
,
where h
1 and r
1 are the sampling times and limit for three-axis attitude stabilization, respectively. v
l
1, v
l
2, v
l
3, v
l
4, v
l
5, and v
l
6 are the outputs of the above three TDs.The ESO of the attitude control system is(18)
Z
l
(
k
+
1
)
=
A
~
l
Z
l
(
k
)
+
B
~
l
U
l
(
k
)
+
L
~
l
E
l
(
k
)
,
where Z
l
=
[
z
l
1
z
l
2
z
l
3
z
l
4
z
l
5
z
l
6
z
l
7
z
l
8
z
l
9
]
T, A
~
l
=
[
A
l
0
6
×
3
0
3
×
6
0
3
×
3
], B
~
l
=
[
B
l
0
3
×
3
], L
~
l
=
[
l
l
1
l
l
2
l
l
3
l
l
4
l
l
5
l
l
6
l
l
7
l
l
8
l
l
9
]
T, and E
l
=
[
y
l
1
-
z
l
4
y
l
2
-
z
l
5
y
l
3
-
z
l
6
]
T.The state error feedback functions are(19)
e
l
1
(
k
)
=
v
l
1
(
k
)
-
z
l
4
(
k
)
,
e
l
2
(
k
)
=
v
l
2
(
k
)
-
z
l
1
(
k
)
,
u
0
x
(
k
)
=
-
fhan
(
e
l
1
(
k
)
,
e
l
2
(
k
)
,
r
2
,
h
2
)
,
e
l
3
(
k
)
=
v
l
3
(
k
)
-
z
l
5
(
k
)
,
e
l
4
(
k
)
=
v
l
4
(
k
)
-
z
l
2
(
k
)
,
u
0
y
(
k
)
=
-
fhan
(
e
l
3
(
k
)
,
e
l
4
(
k
)
,
r
2
,
h
2
)
,
e
l
5
(
k
)
=
v
l
5
(
k
)
-
z
l
6
(
k
)
,
e
l
6
(
k
)
=
v
l
6
(
k
)
-
z
l
3
(
k
)
,
u
0
z
(
k
)
=
-
fhan
(
e
l
5
(
k
)
,
e
l
6
(
k
)
,
r
2
,
h
2
)
.
Let b
x
=
-
T
d
/
J
x, b
y
=
-
T
d
/
J
y, and b
z
=
-
T
d
/
J
z. Under fault-free condition, control laws are
(20)
u
x
(
k
)
=
u
0
x
(
k
)
-
z
l
7
(
k
)
b
x
,
u
y
(
k
)
=
u
0
y
(
k
)
-
z
l
8
(
k
)
b
y
,
u
z
(
k
)
=
u
0
z
(
k
)
-
z
l
9
(
k
)
b
z
.
The model of attitude control system in flywheel fault is
(21)
X
l
(
k
+
1
)
=
A
l
X
l
(
k
)
+
B
l
U
l
(
k
)
+
E
l
F
l
(
k
)
+
G
l
T
l
(
k
)
,
Y
l
(
k
)
=
C
l
X
l
(
k
)
,
where E
l
=
B
l, F
l
∈
R
3 represent reaction flywheel fault.The relationship between actual control torqueU
a and control torque U
r supplied by reaction flywheels is
(22)
U
a
(
k
)
=
[
1
0
0
3
3
0
1
0
3
3
0
0
1
3
3
]
U
r
(
k
)
,
where U
a
=
[
u
a
x
u
a
y
u
a
z
]
T and u
a
x, u
a
y, and u
a
z are actual control torque acting on three axes. U
r
=
[
u
r
x
u
r
y
u
r
z
u
r
s
]
Tand u
r
x, u
r
y, u
r
z, and u
r
s are control torque supplied by roll-axis flywheel, pitch-axis flywheel, yaw-axis flywheel, and spare flywheel, respectively. Under fault-free condition, u
s
(
k
) is equal to 0 and u
r
x
(
k
), u
r
y
(
k
), and u
r
z
(
k
) are, respectively, equal to u
x
(
k
), u
y
(
k
), and u
z
(
k
). If the absolute difference between control torque as the controller requires and control torque output by flywheel is greater than the threshold u
f and the flywheel is judged in fault, then isolate it and activate the spare flywheel.Three rules are summarized and extracted to steer the fault-tolerant control, which are listed as follows.(1)
If|
u
x
(
k
)
-
u
r
x
(
k
)
|
≥
u
f, then isolate the roll-axis flywheel and activate the spare flywheel; u
s
(
k
+
1
)
=
3
u
x
(
k
+
1
), the control torque output by pitch-axis flywheel and yaw-axis flywheel are adjusted as u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
x
(
k
+
1
) and u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
x
(
k
+
1
).
(2)
If|
u
y
(
k
)
-
u
r
y
(
k
)
|
≥
u
f, then isolate the pitch-axis flywheel and activate the spare flywheel; u
r
s
(
k
+
1
)
=
3
u
y
(
k
+
1
), the control torque output by roll-axis flywheel and yaw-axis flywheel are adjusted as u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
y
(
k
+
1
) and u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
y
(
k
+
1
).
(3)
If|
u
z
(
k
)
-
u
r
z
(
k
)
|
≥
u
f, then isolate the yaw-axis flywheel and activate the spare flywheel; u
r
s
(
k
+
1
)
=
3
u
z
(
k
+
1
), the control torques output by roll-axis flywheel and pitch-axis flywheel are adjusted as u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
z
(
k
+
1
) and u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
z
(
k
+
1
).It is obvious that the actual control torque is equal to the one as controller requires in order to stabilize satellite attitude. ADRC is organically syncretized with the above rule set so as to achieve well performance and robustness of fault-tolerant control.


## 4.3. Impact on Control Performance from Bandwidth Parameter

For ADRC, the sampling times and the actuator saturation limits are determined by system characteristics and requirements for controller design [15, 19]. In the ESO (10), l
1, l
2, and l
3 are the tuning parameters. If the controlled system (7) can be approximated by the second-order system model structure
(23)
y
¨
0
=
f
(
t
,
y
0
,
y
˙
0
,
w
)
and l
1, l
2, and l
3 are well tuned, z
1, z
2, z
3 track y
0, y
˙
0, y
¨
0, respectively. The term f represents the combined effect of the internal dynamics and external disturbances w. For ADRC, it reduces the dependence on accurate mathematical model and requires the observer gains to be well tuned. For tuning simplicity, the observer gains, l
1, l
2, and l
3, are suggested to be chosen as in the following [19, 20]:
(24)
s
3
+
l
1
s
2
+
l
2
s
+
l
3
=
(
s
+
ω
0
)
3
,
where ω
0 is denoted as observer bandwidth. The observer gains, l
1, l
2, and l
3, are
(25)
l
1
=
3
ω
0
,
l
2
=
3
ω
0
2
,
l
3
=
ω
0
3
.
All three of the observer poles are placed at ω
0. The larger the bandwidth is, the sooner the disturbances are observed by ESO and counteracted by active disturbance rejection controller. If ω
0 is too large or lies out of the stable region, it is hard to maintain the stability of the control. In the certain region, ω
0 should be properly selected in order to obtain a good control performance [17, 20, 21].


## 4.4. Feasible Approach to Parameter Optimization

Artificial bee colony algorithm is a metaheuristic approach that simulates the intelligent foraging behavior of honey bee swarms. ABC algorithm has a simple structure and needs only a few control parameters. In ABC algorithm, global search and local search are carried out during each iteration. Hence, the probability of finding the optimal solution increases greatly and the local optimum is largely avoided [22, 23]. Due to its simplicity and ease of implementation of computer programming, ABC algorithm is feasible and suitable to optimize the bandwidth parameter of ADRC.


## 5. Robust Fault-Tolerant Control for Satellite Attitude Stabilization Based on ADRC with Parameter Optimization by ABC

Artificial bee colony algorithm is employed for bandwidth parameter optimization to improve the performances of ADRC. Combining fault-tolerant control strategy with ADRC, the bandwidth parameter is optimized by ABC algorithm to enhance the response speed and the precision of fault-tolerant control for satellite attitude stabilization.


### 5.1. Optimizing Algorithm of Bandwidth Parameter by ABC

In artificial bee colony algorithm, a colony of artificial bees is divided into three types of bees: employed bees, onlookers, and scouts. Employed bee is the bee that currently exploits a food resource and passes food information to onlooker bees. The onlooker waits in the hive to choose a good food source according to the information shared by the employed bees and then further searches the food around the selected food source. The bees that abandon their food sources and carry out random searches for new ones are called scout bees. Half of the colony consists of employed bees and the other half constitutes the onlookers. The position of a food source indicates a feasible solution of the optimization problem and the nectar amount of a food source represents the fitness of the solution. The number of the employed bees or the onlooker bees is equal to the number of solutions in the population [22–24].AssumeN
e to be the number of food resources (equal to the number of employed or onlooker bees), D the dimension of each solution vector, and x
b
i the position of a food resource. Generate a population {
X
b
1
,
X
b
2
,
…
,
X
b
N
e
} randomly.LetX
b
i
=
(
x
b
i
1
,
x
b
i
2
,
…
,
x
b
i
D
) represent the i
th food source in the population. Each solution is then generated by the following equation:
(26)
x
b
i
j
=
x
b
min
⁡
j
+
rand
(
0,1
)
(
x
b
max
⁡
j
-
x
b
min
⁡
j
)
,
where i
=
1,2
,
…
,
N
e, j
=
1,2
,
…
,
D, and x
b
min
⁡
j and x
b
max
⁡
j are the lower and upper bounds of the j
th parameter of the solution i, respectively.After initialization of the population, evaluate the fitness of each food source and then regenerate the population. The employed bee searches for a new food source in the neighborhood of the food sources using the following expression:(27)
x
c
i
j
=
x
b
i
j
+
β
i
j
(
x
b
i
j
-
x
b
n
j
)
,
where β
i
j is a random number in the range [
-
1,1
]; n
=
1
,
2
,
…
,
N
e
,
n
≠
i
,
n
,
i, and j are randomly chosen indexes; x
c
i is a candidate food source position, x
b
i is the current food source position, and x
b
n is a neighbor food source position. Once each candidate source position is produced and evaluated, compare its performance with that of the old one. A greedy selection mechanism is employed. If the new food source has an equal or better quality than the old source, replace the old one by the new one that the bee memorizes. Otherwise, retain the old one and keep it in the bee’s memory.After completing the search process, all the employed bees are back to the hive and share the nectar information of their sources with the onlooker bees. An onlooker bee chooses a food source depending on the probability valueP
b
i associated with that food source
(28)
P
b
i
=
fit
i
∑
m
=
1
N
e
fit
m
,
where fit
i is the fitness of the solution. The employed bee of a food source becomes a scout bee in case that the nectar of the food source is exhausted. It then randomly determines a new food source using (26) to replace the abandoned (exhausted) one. The above is main principle of the ABC algorithm and there are more details about it in references [22–27].The ABC algorithm is employed to optimize the bandwidth parameter of ADRC. Letf
object be the object function associated with the performance of ADRC that is under the influence of bandwidth parameter. Then the bandwidth parameter optimizing problem is to select a right value from the stable region of bandwidth parameter, which usually minimizes f
object. ω
b
u and ω
b
l are, respectively, the lower and upper bounds of the region. If the bandwidth is larger than ω
b
u or smaller than ω
b
l, the performance of ADRC is worse than the one chosen from the stable region. The bounds of the solution are equal to ω
b
u and ω
b
l. The solution with optimum fitness is the best bandwidth selected in the region. The optimizing algorithm of bandwidth parameter by ABC is given as Algorithm 1.Algorithm 1:The optimizing algorithm of bandwidth parameter by ABC.
InputN
e
,
D
,
f
object
Initializei
=
1
,
j
=
1
While(
i
<
N
e
) do
While(
j
<
D
) do
Generate new population (solution)x
c
i
j in the neighborhood of x
b
i
j for employed bees using (27) and evaluate them;
Employ the greedy selection process for employed bees betweenx
b
i and x
c
i;
Calculate the probabilityP
b
i for x
c
i using (28);
Produce new populationx
c
i
j from x
b
i
j for onlooker bees based on and evaluate them;
Employ the greedy selection process for onlooker bees betweenx
b
i and x
c
i;
Determine the abandonedx
b
i, if exists, update it for scout bees by (26);
Memorize the best solution achieved so far.
j
=
j
+
1
i
=
i
+
1
End while
End while
Output global optimum (best solution for bandwidth optimizing of ADRC)


### 5.2. Robust Fault-Tolerant Control Algorithm with Optimizing Bandwidth Parameter

A principle diagram for robust fault-tolerant control for satellite attitude stabilization based on ADRC with bandwidth parameter optimization by ABC is given in Figure3. The design of robust fault-tolerant attitude controller is based on ADRC as illustrated in Section 3. The expected attitude angles and the attitude angles measured by attitude sensors are the inputs of the controller. The output of the controller drives the flywheels as actuators to counteract the difference between actual and expected attitude angles. Flywheel speed measurement is used for fault detection. Implementing fault-tolerant control depends on the employment of the spare flywheel. For an on-orbit satellite, the main external disturbances are caused by experimental factors. The object function of the bandwidth parameter algorithm employs the MAE (mean absolute error) function as given in the following:
(29)
f
object
=
∑
k
=
1
N
t
|
A
actual
(
k
)
-
A
expected
(
k
)
|
N
t
,
where N
t represents sampling number in control period and A
actual and A
expected represent the actual and expected attitude angles, respectively. For saving computing resource, the bandwidth parameter is offline optimized by the ABC algorithm and online used. The proposed robust fault-tolerant control algorithm is given as Algorithm 2. The initial state variables X
l
(
0
) are equal to attitude angles of the initial moment. The expected attitude angles are v
01, v
02, and v
03. A
~
l, B
~
l are associated with satellite attitude dynamic model. U
l
(
0
) and U
r
(
0
) are the initial moment control torque supplied by flywheels. The fault detection threshold is u
f. The three bandwidth parameters of ESO select the same value. The bandwidth parameter ω
best is chosen from the stable region with the optimizing algorithm by ABC and L
~
l is fixed by ω
best.Algorithm 2:Robust fault-tolerant control algorithm for satellite stabilization based on ADRC with bandwidth parameter optimization by ABC.
InputX
l
(
0
)
,
U
l
(
0
)
,
U
r
(
0
)
,
u
f
,
v
01
,
v
02
,
v
03
,
ω
best
InitializeA
~
l
,
B
~
l
,
N
t
,
h
1
,
r
1
,
h
2
,
r
2
Fork
=
1 to N
t
The model of the attitude control system is
{
X
l
(
k
+
1
)
=
A
l
X
l
(
k
)
+
B
l
U
l
(
k
)
+
G
l
T
l
(
k
)
Y
l
(
k
)
=
C
l
X
l
(
k
)
v
01
,
v
02
,
v
03 are input to TDs.
v
l
1
(
k
+
1
)
=
v
l
1
(
k
)
+
h
1
v
l
2
(
k
);
v
l
2
(
k
+
1
)
=
v
l
2
(
k
)
+
h
1
fhan
(
v
l
1
(
k
)
-
v
01
(
k
)
,
v
l
2
(
k
)
,
r
1
,
h
1
);
v
l
3
(
k
+
1
)
=
v
l
3
(
k
)
+
h
1
v
l
4
(
k
);
v
l
4
(
k
+
1
)
=
v
l
4
(
k
)
+
h
1
fhan
(
v
l
3
(
k
)
-
v
02
(
k
)
,
v
l
4
(
k
)
,
r
1
,
h
1
);
v
l
5
(
k
+
1
)
=
v
l
5
(
k
)
+
h
1
v
l
6
(
k
);
v
l
6
(
k
+
1
)
=
v
l
6
(
k
)
+
h
1
fhan
(
v
l
5
(
k
)
-
v
03
(
k
)
,
v
l
6
(
k
)
,
r
1
,
h
1
).
ESO is established:
Z
l
(
k
+
1
)
=
A
~
l
Z
l
(
k
)
+
B
~
l
U
l
(
k
)
+
L
~
l
E
l
(
k
).
Feedback state errors:
e
l
1
(
k
)
=
v
l
1
(
k
)
-
z
l
4
(
k
);
e
l
2
(
k
)
=
v
l
2
(
k
)
-
z
l
1
(
k
);
u
0
x
(
k
)
=
-
fhan
(
e
l
1
(
k
)
,
e
l
2
(
k
)
,
r
2
,
h
2
);
e
l
3
(
k
)
=
v
l
3
(
k
)
-
z
l
5
(
k
);
e
l
4
(
k
)
=
v
l
4
(
k
)
-
z
l
2
(
k
);
u
0
y
(
k
)
=
-
fhan
(
e
l
3
(
k
)
,
e
l
4
(
k
)
,
r
2
,
h
2
);
e
l
5
(
k
)
=
v
l
5
(
k
)
-
z
l
6
(
k
);
e
l
6
(
k
)
=
v
l
6
(
k
)
-
z
l
3
(
k
);
u
0
z
(
k
)
=
-
fhan
(
e
l
5
(
k
)
,
e
l
6
(
k
)
,
r
2
,
h
2
).
Control laws are
u
x
(
k
)
=
u
0
x
(
k
)
-
z
l
7
(
k
)
b
x;
u
y
(
k
)
=
u
0
y
(
k
)
-
z
l
8
(
k
)
b
y;
u
z
(
k
)
=
u
0
z
(
k
)
-
z
l
9
(
k
)
b
z.
Under fault-free condition, control torques of flywheels are
u
r
x
(
k
)
=
u
x
(
k
);
u
r
y
(
k
)
=
u
y
(
k
);
u
r
z
(
k
)
=
u
z
(
k
);
u
r
s
(
k
)
=
0.
When a fault is detected, isolate the faulty flywheel and activate the spare flywheel.
If|
u
x
(
k
)
-
u
r
x
(
k
)
|
≥
u
f, then
u
r
s
(
k
+
1
)
=
3
u
x
(
k
+
1
),
u
r
x
(
k
+
1
)
=
0,
u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
x
(
k
+
1
),
u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
x
(
k
+
1
);
If|
u
y
(
k
)
-
u
r
y
(
k
)
|
≥
u
f, then
u
r
s
(
k
+
1
)
=
3
u
y
(
k
+
1
),
u
r
y
(
k
+
1
)
=
0,
u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
y
(
k
+
1
),
u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
y
(
k
+
1
);
If|
u
z
(
k
)
-
u
r
z
(
k
)
|
≥
u
f, then
u
r
s
(
k
+
1
)
=
3
u
z
(
k
+
1
),
u
r
z
(
k
+
1
)
=
0,
u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
z
(
k
+
1
),
u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
z
(
k
+
1
).
End.
OutputY
lFigure 3
Robust fault-tolerant control for satellite attitude stabilization based on ADRC with bandwidth parameter optimization by ABC.


## 5.1. Optimizing Algorithm of Bandwidth Parameter by ABC

In artificial bee colony algorithm, a colony of artificial bees is divided into three types of bees: employed bees, onlookers, and scouts. Employed bee is the bee that currently exploits a food resource and passes food information to onlooker bees. The onlooker waits in the hive to choose a good food source according to the information shared by the employed bees and then further searches the food around the selected food source. The bees that abandon their food sources and carry out random searches for new ones are called scout bees. Half of the colony consists of employed bees and the other half constitutes the onlookers. The position of a food source indicates a feasible solution of the optimization problem and the nectar amount of a food source represents the fitness of the solution. The number of the employed bees or the onlooker bees is equal to the number of solutions in the population [22–24].AssumeN
e to be the number of food resources (equal to the number of employed or onlooker bees), D the dimension of each solution vector, and x
b
i the position of a food resource. Generate a population {
X
b
1
,
X
b
2
,
…
,
X
b
N
e
} randomly.LetX
b
i
=
(
x
b
i
1
,
x
b
i
2
,
…
,
x
b
i
D
) represent the i
th food source in the population. Each solution is then generated by the following equation:
(26)
x
b
i
j
=
x
b
min
⁡
j
+
rand
(
0,1
)
(
x
b
max
⁡
j
-
x
b
min
⁡
j
)
,
where i
=
1,2
,
…
,
N
e, j
=
1,2
,
…
,
D, and x
b
min
⁡
j and x
b
max
⁡
j are the lower and upper bounds of the j
th parameter of the solution i, respectively.After initialization of the population, evaluate the fitness of each food source and then regenerate the population. The employed bee searches for a new food source in the neighborhood of the food sources using the following expression:(27)
x
c
i
j
=
x
b
i
j
+
β
i
j
(
x
b
i
j
-
x
b
n
j
)
,
where β
i
j is a random number in the range [
-
1,1
]; n
=
1
,
2
,
…
,
N
e
,
n
≠
i
,
n
,
i, and j are randomly chosen indexes; x
c
i is a candidate food source position, x
b
i is the current food source position, and x
b
n is a neighbor food source position. Once each candidate source position is produced and evaluated, compare its performance with that of the old one. A greedy selection mechanism is employed. If the new food source has an equal or better quality than the old source, replace the old one by the new one that the bee memorizes. Otherwise, retain the old one and keep it in the bee’s memory.After completing the search process, all the employed bees are back to the hive and share the nectar information of their sources with the onlooker bees. An onlooker bee chooses a food source depending on the probability valueP
b
i associated with that food source
(28)
P
b
i
=
fit
i
∑
m
=
1
N
e
fit
m
,
where fit
i is the fitness of the solution. The employed bee of a food source becomes a scout bee in case that the nectar of the food source is exhausted. It then randomly determines a new food source using (26) to replace the abandoned (exhausted) one. The above is main principle of the ABC algorithm and there are more details about it in references [22–27].The ABC algorithm is employed to optimize the bandwidth parameter of ADRC. Letf
object be the object function associated with the performance of ADRC that is under the influence of bandwidth parameter. Then the bandwidth parameter optimizing problem is to select a right value from the stable region of bandwidth parameter, which usually minimizes f
object. ω
b
u and ω
b
l are, respectively, the lower and upper bounds of the region. If the bandwidth is larger than ω
b
u or smaller than ω
b
l, the performance of ADRC is worse than the one chosen from the stable region. The bounds of the solution are equal to ω
b
u and ω
b
l. The solution with optimum fitness is the best bandwidth selected in the region. The optimizing algorithm of bandwidth parameter by ABC is given as Algorithm 1.Algorithm 1:The optimizing algorithm of bandwidth parameter by ABC.
InputN
e
,
D
,
f
object
Initializei
=
1
,
j
=
1
While(
i
<
N
e
) do
While(
j
<
D
) do
Generate new population (solution)x
c
i
j in the neighborhood of x
b
i
j for employed bees using (27) and evaluate them;
Employ the greedy selection process for employed bees betweenx
b
i and x
c
i;
Calculate the probabilityP
b
i for x
c
i using (28);
Produce new populationx
c
i
j from x
b
i
j for onlooker bees based on and evaluate them;
Employ the greedy selection process for onlooker bees betweenx
b
i and x
c
i;
Determine the abandonedx
b
i, if exists, update it for scout bees by (26);
Memorize the best solution achieved so far.
j
=
j
+
1
i
=
i
+
1
End while
End while
Output global optimum (best solution for bandwidth optimizing of ADRC)


## 5.2. Robust Fault-Tolerant Control Algorithm with Optimizing Bandwidth Parameter

A principle diagram for robust fault-tolerant control for satellite attitude stabilization based on ADRC with bandwidth parameter optimization by ABC is given in Figure3. The design of robust fault-tolerant attitude controller is based on ADRC as illustrated in Section 3. The expected attitude angles and the attitude angles measured by attitude sensors are the inputs of the controller. The output of the controller drives the flywheels as actuators to counteract the difference between actual and expected attitude angles. Flywheel speed measurement is used for fault detection. Implementing fault-tolerant control depends on the employment of the spare flywheel. For an on-orbit satellite, the main external disturbances are caused by experimental factors. The object function of the bandwidth parameter algorithm employs the MAE (mean absolute error) function as given in the following:
(29)
f
object
=
∑
k
=
1
N
t
|
A
actual
(
k
)
-
A
expected
(
k
)
|
N
t
,
where N
t represents sampling number in control period and A
actual and A
expected represent the actual and expected attitude angles, respectively. For saving computing resource, the bandwidth parameter is offline optimized by the ABC algorithm and online used. The proposed robust fault-tolerant control algorithm is given as Algorithm 2. The initial state variables X
l
(
0
) are equal to attitude angles of the initial moment. The expected attitude angles are v
01, v
02, and v
03. A
~
l, B
~
l are associated with satellite attitude dynamic model. U
l
(
0
) and U
r
(
0
) are the initial moment control torque supplied by flywheels. The fault detection threshold is u
f. The three bandwidth parameters of ESO select the same value. The bandwidth parameter ω
best is chosen from the stable region with the optimizing algorithm by ABC and L
~
l is fixed by ω
best.Algorithm 2:Robust fault-tolerant control algorithm for satellite stabilization based on ADRC with bandwidth parameter optimization by ABC.
InputX
l
(
0
)
,
U
l
(
0
)
,
U
r
(
0
)
,
u
f
,
v
01
,
v
02
,
v
03
,
ω
best
InitializeA
~
l
,
B
~
l
,
N
t
,
h
1
,
r
1
,
h
2
,
r
2
Fork
=
1 to N
t
The model of the attitude control system is
{
X
l
(
k
+
1
)
=
A
l
X
l
(
k
)
+
B
l
U
l
(
k
)
+
G
l
T
l
(
k
)
Y
l
(
k
)
=
C
l
X
l
(
k
)
v
01
,
v
02
,
v
03 are input to TDs.
v
l
1
(
k
+
1
)
=
v
l
1
(
k
)
+
h
1
v
l
2
(
k
);
v
l
2
(
k
+
1
)
=
v
l
2
(
k
)
+
h
1
fhan
(
v
l
1
(
k
)
-
v
01
(
k
)
,
v
l
2
(
k
)
,
r
1
,
h
1
);
v
l
3
(
k
+
1
)
=
v
l
3
(
k
)
+
h
1
v
l
4
(
k
);
v
l
4
(
k
+
1
)
=
v
l
4
(
k
)
+
h
1
fhan
(
v
l
3
(
k
)
-
v
02
(
k
)
,
v
l
4
(
k
)
,
r
1
,
h
1
);
v
l
5
(
k
+
1
)
=
v
l
5
(
k
)
+
h
1
v
l
6
(
k
);
v
l
6
(
k
+
1
)
=
v
l
6
(
k
)
+
h
1
fhan
(
v
l
5
(
k
)
-
v
03
(
k
)
,
v
l
6
(
k
)
,
r
1
,
h
1
).
ESO is established:
Z
l
(
k
+
1
)
=
A
~
l
Z
l
(
k
)
+
B
~
l
U
l
(
k
)
+
L
~
l
E
l
(
k
).
Feedback state errors:
e
l
1
(
k
)
=
v
l
1
(
k
)
-
z
l
4
(
k
);
e
l
2
(
k
)
=
v
l
2
(
k
)
-
z
l
1
(
k
);
u
0
x
(
k
)
=
-
fhan
(
e
l
1
(
k
)
,
e
l
2
(
k
)
,
r
2
,
h
2
);
e
l
3
(
k
)
=
v
l
3
(
k
)
-
z
l
5
(
k
);
e
l
4
(
k
)
=
v
l
4
(
k
)
-
z
l
2
(
k
);
u
0
y
(
k
)
=
-
fhan
(
e
l
3
(
k
)
,
e
l
4
(
k
)
,
r
2
,
h
2
);
e
l
5
(
k
)
=
v
l
5
(
k
)
-
z
l
6
(
k
);
e
l
6
(
k
)
=
v
l
6
(
k
)
-
z
l
3
(
k
);
u
0
z
(
k
)
=
-
fhan
(
e
l
5
(
k
)
,
e
l
6
(
k
)
,
r
2
,
h
2
).
Control laws are
u
x
(
k
)
=
u
0
x
(
k
)
-
z
l
7
(
k
)
b
x;
u
y
(
k
)
=
u
0
y
(
k
)
-
z
l
8
(
k
)
b
y;
u
z
(
k
)
=
u
0
z
(
k
)
-
z
l
9
(
k
)
b
z.
Under fault-free condition, control torques of flywheels are
u
r
x
(
k
)
=
u
x
(
k
);
u
r
y
(
k
)
=
u
y
(
k
);
u
r
z
(
k
)
=
u
z
(
k
);
u
r
s
(
k
)
=
0.
When a fault is detected, isolate the faulty flywheel and activate the spare flywheel.
If|
u
x
(
k
)
-
u
r
x
(
k
)
|
≥
u
f, then
u
r
s
(
k
+
1
)
=
3
u
x
(
k
+
1
),
u
r
x
(
k
+
1
)
=
0,
u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
x
(
k
+
1
),
u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
x
(
k
+
1
);
If|
u
y
(
k
)
-
u
r
y
(
k
)
|
≥
u
f, then
u
r
s
(
k
+
1
)
=
3
u
y
(
k
+
1
),
u
r
y
(
k
+
1
)
=
0,
u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
y
(
k
+
1
),
u
r
z
(
k
+
1
)
=
u
z
(
k
+
1
)
-
u
y
(
k
+
1
);
If|
u
z
(
k
)
-
u
r
z
(
k
)
|
≥
u
f, then
u
r
s
(
k
+
1
)
=
3
u
z
(
k
+
1
),
u
r
z
(
k
+
1
)
=
0,
u
r
x
(
k
+
1
)
=
u
x
(
k
+
1
)
-
u
z
(
k
+
1
),
u
r
y
(
k
+
1
)
=
u
y
(
k
+
1
)
-
u
z
(
k
+
1
).
End.
OutputY
lFigure 3
Robust fault-tolerant control for satellite attitude stabilization based on ADRC with bandwidth parameter optimization by ABC.


## 6. Simulation Experiments and Comparative Analysis

To demonstrate the performance of the proposed robust fault-tolerant control algorithm based on ADRC with ABC, simulation experiment of satellite attitude stabilization has been carried out using MATLAB software. The satellite parameters are selected referring to [28]. The inertia matrix is J
=
diag
⁡
(
80
,
90
,
70
) kg·m2; the orbit angular velocity ω
0
=
0.0011058 rad/s; the environmental disturbance torque is
(30)
T
e
=
[
A
0
(
3
cos
⁡
(
ω
0
t
)
+
1
)
A
0
(
1.5
sin
(
ω
0
t
)
+
3
cos
⁡
(
ω
0
t
)
)
A
0
(
3
sin
(
ω
0
t
)
+
1
)
]
,
where the experimental disturbance torque amplitude is A
0
=
1.5
×
1
0
-
5 N·m; the maximum output torque of reaction flywheel is u
-
max
⁡
=
0.2 N·m; the initial attitude angles are [
-
0
.
1
°
-
0
.
1
°
-
0
.
1
°
]
T; the sampling period T
d
=
0.05
s; the fault detection threshold value u
f
=
0.0002 N·m.The system parameter uncertainty condition is that the system matrixA
l is used to design control laws, but the system matrix of actual system is A
l
+
Δ
A
l; here we let Δ
A
l be 0.03
A
l.The measurement parameter uncertainty condition is that the measurement matrixC
l is used to design control laws, but the measurement matrix of actual system is C
l
+
Δ
C
l; here we let Δ
C
l be r
C
l and r is a random value changed from -
0.01 to 0.01 every second.The fault condition is that the pitch-axis flywheel is in fault after 1000 seconds; the fault effect vector is(31)
F
l
(
k
)
=
[
f
x
(
k
)
f
y
(
k
)
f
z
(
k
)
]
T
,
where
(32)
f
x
(
k
)
=
0
N

·

m
,
f
z
(
k
)
=
0
N

·

m
,
f
y
(
k
)
=
{
0
N

·

m
k
≤
1000
(
k
-
1000
)
10000
N

·

m
1000
<
k
≤
1500
0.05
N

·

m
1500
<
k
.The bandwidth parameter of ADRC is usually artificial tuning and selected from the stable region associated with the controlled system. Here, we call the ADRC, bandwidth parameter of which is selected by ABC algorithm, ABCADRC and the one selected by artificial tuning method ATADRC. For satellite attitude stabilization with the above satellite parameters, the bandwidth parameters of ABCADRC and ATADRC are, respectively, selected as 0.9245 and 1, which are dimensionless unit. The simulation time is 6000 seconds.The simulation experiment results of RFTC for satellite attitude stabilization with ABCADRC and ATADRC are given as follows. Figure4 shows the simulation result of satellite attitude stabilization with ABCADRC under fault-free condition, including the three-axis attitude angles and the control torques supplied by the four reaction flywheels. Figure 5 shows the simulation result of satellite attitude stabilization with ATADRC under fault-free condition, including the three-axis attitude angles and control torque supplied by the four reaction flywheels. Under the condition that there is no fault and the environmental disturbance torque is amplified by three times, the simulation results of satellite attitude stabilization with ABCADRC and ATADRC are, respectively, shown as Figures 6 and 7. Under the fault-free and system parameter uncertainty condition, the simulation results of satellite attitude stabilization with ABCADRC and ATADRC are, respectively, shown as Figures 8 and 9. Under the fault-free and measurement parameter uncertainty condition, the simulation results of satellite attitude stabilization with ABCADRC and ATADRC are, respectively, shown as Figures 10 and 11. Under the flywheel fault condition, the simulation results of satellite attitude stabilization with ABCADRC and ATADRC are, respectively, shown as Figures 12 and 13. Under the condition that flywheel fault happens and the environmental disturbance torque is amplified by five times, the simulation results of satellite attitude stabilization with ABCADRC and ATADRC are, respectively, shown as Figures 14 and 15.Simulation result of attitude stabilization with ABCADRC under fault-free condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ATADRC under fault-free condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ABCADRC under fault-free and environmental disturbance torque amplified by three times condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ATADRC under fault-free and environmental disturbance torque amplified by three times condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ABCADRC under system parameter uncertainty condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ATADRC under system parameter uncertainty condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ABCADRC under measurement parameter uncertainty condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ATADRC under measurement parameter uncertainty condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ABCADRC under flywheel fault condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ATADRC under flywheel fault condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ABCADRC under flywheel fault and environmental disturbance torque amplified by five times condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsSimulation result of attitude stabilization with ATADRC under flywheel fault and environmental disturbance torque amplified by five times condition.
(a)
Attitude angles
(b)
Control torque supplied by the four flywheelsAs these figures show, both RFTC based on ABCADRC and RFTC based on ATADRC can achieve a good performance of satellite attitude stabilization under different conditions. Under fault-free condition, the spare flywheel is in standby mode. Under flywheel fault condition, the spare flywheel is activated and supplies torque to counteract the fault effect. The attitude angles change more heavily under flywheel fault condition than the one under fault-free condition. In the visual perception, both RFTC based on ABCADRC and ATADRC achieve satellite attitude stabilization with a high precision.MAEs of attitude angles and transition time (TT) are used to evaluate the performance of robust fault-tolerant control for satellite stabilization, respectively, based on ABCADRC and ATADRC. Here, transition time means the time from the initial moment to the moment that the absolute attitude angle error is smaller than5
×
1
0
-
4 degrees.As shown in Table1, under fault-free condition, both MAAEs and TTs of RFTC based on ABCADRC are better than ATADRC for satellite attitude stabilization. The precision and response speed of RFTC based on ABCADRC are, respectively, higher and faster than the control based on ATADRC for satellite attitude stabilization under fault-free and environmental disturbances are in normal level condition.Table 1
Performance of robust fault-tolerant control for satellite attitude stabilization, respectively, based on ATADRC and ABCADRC under fault-free condition.
Performance index
Position
ATADRC
ABCADRC
MAE(°/s)
Roll axis
0.00271354
0.00270116
Pitch axis
0.00297974
0.00296033
Yaw axis
0.00241845
0.00241320
TT(s)
Roll axis
437
436
Pitch axis
500
496
Yaw axis
414
413As shown in Table2, under fault-free and environmental disturbance torque amplified by three times condition, MAEs and TTs of RFTC based on ABCADRC are better than ATADRC for satellite attitude stabilization. The precision and robustness (to environmental change) of RFTC based on ABCADRC are, respectively, higher and better than ATADRC for satellite attitude stabilization under fault-free and environmental disturbances are heavily changed condition.Table 2
Performance of robust fault-tolerant control for satellite attitude stabilization, respectively, based on ATADRC and ABCADRC under fault-free and environmental disturbance torques amplified by three times condition.
Performance index
Position
ATADRC
ABCADRC
MAE(°/s)
Roll axis
0.00271791
0.00270576
Pitch axis
0.00298355
0.00296472
Yaw axis
0.00242225
0.00241728
TT(s)
Roll axis
438
437
Pitch axis
501
497
Yaw axis
415
414As shown in Table3, under system parameter uncertainty condition, MAEs and TTs of RFTC based on ABCADRC are smaller than ATADRC for satellite attitude stabilization. Under the condition that there are uncertainties in system parameters and environmental disturbances are in normal level, RFTC based on ABCADRC owns the higher precision and the faster response speed for satellite attitude stabilization.Table 3
Performance of robust fault-tolerant control for satellite attitude stabilization, respectively, based on ATADRC and ABCADRC under system parameter uncertainty condition.
Performance index
Position
ATADRC
ABCADRC
MAE(°/s)
Roll axis
0.00265874
0.00264929
Pitch axis
0.00291440
0.00289817
Yaw axis
0.00237271
0.00237009
TT(s)
Roll axis
441
440
Pitch axis
473
470
Yaw axis
420
417As shown in Table4, under measurement parameter uncertainty condition, MAEs of RFTC based on ABCADRC are smaller than ATADRC for satellite attitude stabilization. TTs of RFTC based on ABCADRC and ATADRC are almost equal. RFTC based on ABCADRC owns the higher precision for satellite attitude stabilization under the condition that there are uncertainties in measurement parameters and environmental disturbances are in normal level.Table 4
Performance of robust fault-tolerant control for satellite attitude stabilization, respectively, based on ATADRC and ABCADRC under measurement uncertainty condition.
Performance index
Position
ATADRC
ABCADRC
MAE(°/s)
Roll axis
0.00271919
0.00270355
Pitch axis
0.00298260
0.00296581
Yaw axis
0.00241643
0.00241018
TT(s)
Roll axis
438
436
Pitch axis
499
499
Yaw axis
413
413As shown in Table5, under flywheel fault condition, MAEs of RFTC based on ABCADRC are smaller than ATADRC for satellite attitude stabilization. The precision of attitude stabilization under flywheel fault condition is almost the same as under fault-free condition, and fault counteracting mechanism is effective.Table 5
Performance of robust fault-tolerant control for satellite attitude stabilization, respectively, based on ATADRC and ABCADRC under flywheel fault condition.
Performance index
Position
ATADRC
ABCADRC
MAE(°/s)
Roll axis
0.00271354
0.00270116
Pitch axis
0.00297974
0.00296033
Yaw axis
0.00241845
0.00241320As shown in Table6, under flywheel fault and environmental disturbance torque amplified by five times condition, MAEs of RFTC based on ABCADRC are smaller than ATADRC for satellite attitude stabilization. This means that, even under the condition that there is a fault in flywheel and the environmental disturbances are heavily changed, the precision of RFTC based on ABCADRC is higher than ATADRC for satellite attitude stabilization.Table 6
Performance of robust fault-tolerant control for satellite attitude stabilization, respectively, based on ATADRC and ABCADRC under flywheel fault and environmental disturbance torques amplified by five times condition.
Performance index
Position
ATADRC
ABCADRC
MAE(°/s)
Roll axis
0.00272227
0.00271039
Pitch axis
0.00298739
0.00296915
Yaw axis
0.00242606
0.00242137With the above comparative analysis, we found that both RFTC based on ABCADRC and ATADRC can satisfy the requirements for high precision, quick response, and strong robustness for attitude stabilization. The proposed fault-tolerant mechanism is suitable and effective to counteract the flywheel fault effect. Under different conditions, the RFTC based on ABCADRC owns a better performance in precision, response speed, and robustness.


## 7. Conclusion

This paper proposed a robust fault-tolerant control algorithm for satellite stabilization based on ADRC with parameter optimization by ABC. The attitude controller, designed by ADRC, is robust to both internal dynamics and external disturbances. The bandwidth parameter of ADRC is optimized by the ABC algorithm to reduce attitude angle error and improve control performance. When a flywheel fault is detected and isolated, a spare flywheel is activated to supply control torque and counteract fault effect. The simulation experiment result demonstrates that the proposed RFTC based on ADRC with bandwidth parameter optimization by ABC algorithm can stabilize satellite attitude with high precision, quick response, and strong robustness. The comparative analysis shows that, under different conditions, RFTC based on ABCADRC owns better performance than ATADRC for satellite attitude stabilization.



---

*Source: 512707-2014-08-03.xml*