Expert Systems with Applications 36 (2009) 6613–6620
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
Attitude control of a satellite using fuzzy controllers Chin-Hsing Cheng a,*, Sheng-Li Shu a, Po-Jen Cheng b a b
Department of Electrical Engineering, Feng Chia University, No. 100, Wen Hwa Road, Taichung 407, Taiwan Department of Electrical Engineering, Nan Jeon Institute of Technology, No. 178, Chau-chin Road, Yen-Shui, Tainan Hsien 737, Taiwan
a r t i c l e
i n f o
Keywords: ROCSAT-1 Fuzzy controller Attitude stabilization
a b s t r a c t This paper proposes the design of fuzzy controllers for the attitude stabilization of the Republic of China Satellite (ROCSAT-1). In the first step, the original satellite controllers, two classical linearized controllers, are superseded by two fuzzy controllers. The objective is to obtain faster convergent time and lower steady-state error. The two fuzzy controllers will be consolidated to form one fuzzy controller in the next step, to obtain the same effectiveness of control. To demonstrate a fuzzy controller’s performance, interference to disturb the attitude stabilization is added during the simulation. Ó 2008 Elsevier Ltd. All rights reserved.
1. Introduction ROCSAT-1 was the first satellite of the Republic of China. It was launched on January 27, 1999, into a circular orbit with an altitude near 600 km. Its orbital inclination was 35°, its orbital period was 97 min, and its weight was 402 kg. The mission life of the satellite was at least 2 years, with a design life of 4 years. Reliability for the spacecraft was 0.9 at the end of its 4-year design life. Although its design life is over, ROCSAT-1 is still in motion in space. A satellite must maintain a certain attitude while in orbit to allow precise pointing of an antenna toward the Earth, to allow the accurate orientation of observation instruments toward the object being observed, and to direct solar panels toward the Sun. In the short-term, the satellite receives interference from phenomena such as the Earth’s gravitation, airflow, magnetic fields, and the solar wind. These phenomena can disturb the satellite’s attitude at any time or place. This makes it necessary to control attitude to maintain the satellite’s stability. In the long-term, the satellite receives interference from phenomena such as the Sun and Moon’s gravitation, aerodynamic drag, plus other factors which will make the altitude of the satellite lower gradually. The motion of the satellite can be influenced in its attitude by internal and external interferences. The factors that affect a low orbit satellite are the residual magnetic field, the disturbance torques caused by interacting with Earth’s magnetic fields, and gravity gradient torques affected by Earth’s gravitation. Recently many research studies have been done concerning about these factors. Fuzzy theory was initiated in 1965 by Zadeh who had also worked in developing the concept of state, which forms the basis of modern control theory (Wang, 1997). As the control methods * Corresponding author. Tel.: +886 4 24517250x3827; fax: +886 4 24516842. E-mail address:
[email protected] (C.-H. Cheng). 0957-4174/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2008.08.053
evolved, Zadeh thought that classical control theory put too much emphasis on precision to handle complex systems in a practical manner. Fuzzy theory generated many debates and there are still ongoing discussions regarding its excellent way of handling complicated nonlinear systems. Since the fuzzy logic controller successfully controlled the simple dynamic plant in the laboratory, it was applied to the controlling of commercial mercantile products in Japan (Akahoshi, 1991; Tersai, Abe, & Kondoh, 1991). Many applications of the fuzzy logic controller on attitude controlling of satellites have been proposed successfully. Three MISO fuzzy controllers are used for attitude stabilization of a small satellite in a low earth orbit, proving that the fuzzy controller solves the control constrain problem by choosing the best magneto-torque, polarity and switching instances. The fuzzy controller is also computationally less demanding than the adaptive MIMO LQR controller (Steyn, 1994). Fuzzy logic is incorporated in the robust LQG/LTR method and showed that the proposed method achieved precise attitude control (Nam & Zhang, 1997). Application of the fuzzy logic controller to attitude control of a satellite with bigger solar panels is proved that can have a low settling time, plus it can work in a very low force working environment (Zadeh & Wood, 1999). The Takagi–Sugeno type of fuzzy model and combined H1 output feedback is used for attitude control of a flexible satellite to achieve precise attitude stabilization (Nam & Kim, 2001). An adaptive fuzzy mixed H2/H1 attitude control is used for nonlinear spacecraft systems with unknown or uncertain inertia matrix and external disturbances (Chen, Wu, & Jan, 2000). The controller is tuned by means of reinforcement learning without using any model of the sensors or the satellite is proposed (Buijtenen, Schram, Babuška, & Verbruggen, 1998). Since the applications of fuzzy logic attitude controllers on satellites in the cited references are mature, introducing an interference to disturb the attitude stabilization during the
6614
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
Nomenclature
x
general angular velocity vector in body axes, ½ x1 x2 x3 T attitude Euler angle, ½ h1 h2 h3 T orbital rate inertia matrix total spacecraft angular momentum in body axes, ½ h1 h2 h3 T h = Jx torque vector due to actuator, ½ sa1 sa2 sa3 T
h
xo J h
sa
simulation demonstrates the performance of a fuzzy controller in restraining the disturbance. As previously stated two fuzzy controllers supersede the classical controllers to obtain faster convergent time and lower steady-state error. Two fuzzy controllers are consolidated to form one fuzzy controller and it is expected that this one will obtain the same effectiveness of control.
2. Mathematical model of spacecraft system The attitude control system of satellite is shown in Fig. 1. The nonlinear equations in terms of components along the body fixed control axes are given by the attitude kinematics and the spacecraft dynamics and can be written as follows (Chen et al., 2000).
x ¼ RðhÞh_ xc ðhÞ;
ð1Þ
where
1 6 RðhÞ ¼ 4 0
0 cos h1
0 sin h1
3
aerodynamic disturbance torque vector external disturbance torque vector gravity gradient torque vector solar radiation pressure disturbance torque vector reference trajectory of attitude Euler angle, ½ hr1 hr2 hr3 T attitude tracking error tracking error vector
hr ~h e
2.2. Spacecraft dynamics
_ ¼ ½hx þ sg þ sa þ sd ; Jx
ð2Þ
where
2
J 11 6 J ¼ 4 J 21 J 31
J12
J 13
3
J22
7 J 23 5;
J32
J 33
sg ¼ 3x2o ½cJc; 2
3 sin h2 6 7 c ¼ 4 sin h1 cos h2 5; cos h1 cos h2 and
2.1. Attitude kinematics
2
saesr sd sg ssolar
sd ¼ saero þ ssolar
Thus, the attitude tracking error is defined as follows:
" # ~h h hr e¼ _ ¼ _ _ : ~h h hr
ð3Þ
sin h2 7 sin h1 cos h2 5; cos h1 cos h2
h1 ¼ yaw angle; h2 ¼ pitch angle; h3 ¼ roll angle; 2
cos h2 sin h3
3
7 xc ðhÞ ¼ xo 6 4 cos h1 cos h3 þ sin h1 sin h2 sin h3 5: sin h1 cos h3 þ cos h1 sin h2 sin h3
Attitude
Controller
Sensors
(Computer)
Earth sensors Gyros Sun sensors
Actuators
Reaction Control Sy Momentum Wheels Reaction Wheels Magentic Torquers Disturbance Forces
Satellite Dynamics Fig. 1. The attitude control system of satellite.
Fig. 2. Classical controller (a) PI pitch controller (b) PID roll/yaw controller.
6615
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
Spacecraft and Sensors
K1
1/s H3
E1
FLC-1
CE1
Attitude Determination Filters
K2
U1
+
H2
1/s
E2
FLC-2
CE2
U2
+
Fig. 3. Two fuzzy controllers.
Table 1 Variable and fuzzy set (two fuzzy)
Table 3 Variable and fuzzy set (consolidated fuzzy)
Variable
Fuzzy set
Variable
Fuzzy set
E1 CE1 U1 E2 CE2 U2
NB, NB, NB, NB, NB, NB,
E1, E2 CE1, CE2 U1, U2
NB, NM, Z, PM, PB NB, NM, Z, PM, PB NVB, NM, NS, Z, PS, PM, PVB
NM, Z, PM, PB NM, Z, PM, PB NM, NS, Z, PS, PM, PB NM, NS, Z, PS, PM, PB Z, PB NM, NS, Z, PS, PM, PB
Table 2 Rule base of FLC-1(a) and FLC-2(b) E1 CE1
NB
NM
Z
PM
PB
NB NM Z PM PB
NB NB NM NS Z
NB NM NS Z PS
NM NS Z PS PM
NS Z PS PM PB
Z PS PM PB PB
E2 CE2
NB
NM
NS
ZE
PS
PM
PB
NB Z PB
NB NB NM
NB NM NS
NM NS Z
NS Z PS
Z PS PM
PS PM PB
PM PB PB
3. Design of fuzzy controller The classical controllers include a PI controller for pitch axis control and a PID controller for roll/yaw axis control for attitude control of the satellite, which are shown in Fig. 2. The fuzzy con-
trollers are used to supersede the PI controller and PID controller to improve the performance of the system. The proposed controllers output the control commands from the fuzzy logic controller via the inputs of angular error and differential angular error to control the speed-biased wheels. This stabilizes the attitude of the satellite. The attitude can reach steady-state rapidly even if the satellite were affected by the interference. 3.1. Two fuzzy controllers In the cited literature, it is demonstrated that fuzzy logic controllers would take the integration of error into consideration to decrease the steady-state error of simulation results (Tomescu & VanLandingham, 1999; Uma, Latha, & vChellamuthu, 2000). The fuzzy logic controller-1 (FLC-1) and fuzzy logic controller-2 (FLC2) are used to supersede the classical controllers of a satellite respectively, as shown in Fig. 3. The variables are as follows: First, the input and output variables of fuzzy systems are the linguistic variables. Second, the variables E1, CE1, E2, and CE2 represent roll angle error, differentiation of roll angle error, pitch angle error, and differentiation of pitch angle error, respectively. Finally, H3 and H2
Fig. 4. Input membership functions of FLC-1: (a) E1 (b) CE1.
6616
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
Fig. 5. Input membership functions of FLC-2: (a) E2 (b) CE2.
Fig. 6. Output membership functions of FLC-1(a) and FLC-2(b).
Spacecraft and Sensors K1 1/s K2 E1 CE1
Attitude Determination Filters
E2 CE2
H3
Kp
Ku
KB
Kd FI
DML
+
U1
DFI
FLC
U2
Fig. 7. Consolidated fuzzy controller.
Fig. 8. Input membership functions of FLC: (a) E (b) CE.
+
H2
6617
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
3.1.1. Fuzzification The linguistic values taken by the variables are expressed by linguistic sets. Each of the variables is assumed to take linguistic sets defined as Negative Big (NB), Negative Medium (NM), Negative Small (NS), Zero (Z), Positive Big (PB), Positive Medium (PM), and Positive Small (PS). The definitions of the four input and two output variables by membership functions are listed in Table 1. The pitch has to be maintained to spin at the speed of 0.0621°/s. In order to combine two controllers, the CE2 will be increased by 0.0621°/s to modify the deviation of pitch axis, so that the deviation of pitch is centered at 0 and the same membership function can be used for the two controllers, before the measured signal is inputted to the controller. The linguistic sets are described by their membership functions as shown in Figs. 4–6. To simplify the computation in the actual operation, triangular membership functions are suggested.
Fig. 9. Output membership functions of FLC.
Table 4 Rule base of FLC E CE
NB
NM
Z
PM
PB
NB NM Z PM PB
NVB NB NM NS Z
NB NM NS Z PS
NM NS Z PS PM
NS Z PS PM PB
Z PS PM PB PVB
are the commands to control the yaw axis attitude and pitch axis attitude, respectively. Procedures to design of the fuzzy controller are as follows.
3.1.2. Rule base The rule base contains a collection of rules and forms an integral part of the total knowledge embedded in the computer. In order to achieve better control capability, the FLC-1 uses 21 rules and the FLC-2 uses 25 rules. The complete rule table is given in Table 2. To illustrate, some sample rules were given are as follows: If E1 is NB and CE1 is NB then U1 is NB If E2 is NB and CE2 is NB then U2 is NB
3.1.3. Rule inference The max–min inference was used to generate the best possible conclusions (Mamdani & Assilian, 1975). In this inference
FSW S/C Angular Velocity : degree/S
0.05
a
Roll Pitch Yaw
FSW S/C Angular Velocity : degree/S
0.04
Roll Pitch Yaw
0.02 0
0
-0.05
-0.02 -0.04 -0.06
-0.1
-0.08
-0.1
-0.15
-0.12 -0.14 -0.16
-0.2 0
2000
4000
6000
8000
10000
12000
0
2000
4000
b
FSW S/C Angular Error : degree
5 4
8000
10000
12000
FSW S/C Angular Error : degree
5 Roll Pitch Yaw
6000
time (sec)
time (sec)
Roll Pitch Yaw
4 3
3
2
2
1
1
0
0
-1
-1
-2
-2
-3 -3 -4 -4 0
2000
4000
6000
8000
10000
12000
0
2000
4000
6000
8000
10000
12000
time (sec)
time (sec) Fig. 10. FSW simulation of FLC-1 and FLC-2: (a) angular velocity (b) angular error.
Fig. 11. FSW simulation of classical controllers: (a) angular velocity (b) angular error.
6618
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
mechanism, the computation of min and max are used for the AND and OR operations. This type of inference is computationally easy and effective. The fuzzified inputs are fired individually, according to each rule. The clipped membership functions of the individual rule are then merged to produce one final fuzzy set. The max compute is used to merge overlapping regions. 3.1.4. Defuzzification The outputs of the linguistic rules are fuzzy, but the guidance command must be crisp. Therefore, the outputs of the linguistic rules must be defuzzified before feeding into the plant. The crisp control action is calculated here using the center-of-area (COA) defuzzification procedure that provides defuzzified output with better continuity. For a plant that is sensitive to the command quality, this criterion will be more appropriate than other defuzzification methods.
the U1, and the E2 and CE2 are placed in a second organization to get the U2 sequentially. When the inputs are E1 and CE1, the output U1 is obtained from the FLC. After the U1 output is finished, the E2 and CE2 are inputted to the FLC, the output U2 is obtained from the FLC. When the controller outputs U1 and U2 are obtained, one process of control is finished. Note that only one organization is inputted to FLC and only one output will be received from the FLC at the same time. The definition of the four input and two output variables by membership functions is listed in Table 3. The linguistic sets described by their membership functions are shown in Figs. 8 and 9. The complete rule table of the FLC is given in Table 4. NVB stands for Negative Very Big and PVM is Positive Very Big. The rule evaluation in terminal guidance remains as max–min inference. To calculate the crisp control action from the output of the linguistic rules, a COA defuzzification procedure is used.
3.2. Consolidated fuzzy controller
4. Simulation results and analysis
Drawing from the cited literatures, it is found that if the operations of the fuzzy controllers are similar, then the rule base will be similar and the only difference is the form of membership functions. Thus, the notion of consolidating FLC-1 and FLC-2 to form one fuzzy controller, with the same rule base and membership functions, is used to reduce the structure of the controller. The FLC-1 and FLC-2 are consolidated to form a single FLC, as shown in Fig. 7. This paper divides the four inputs and the two outputs into two organizations. The E1 and CE1 are placed in one organization to get
From the simulation results of the Flight Software (FSW) and the Dynamical Model designed by the National Space Program Office (NSPO), we observed a variation in errors of angle (degree) and angular velocity (degree/s, differentiation of angle), as well as control capability to reach steady-state when the satellite encountered the interference. The parameters are k1, k2, kp, kd, and ku, equal to 0.05, 0.04, 1, 1, and 0.6, respectively. From the simulation results of FSW, we found that both the two fuzzy controllers and the consolidated fuzzy controller improve performance and are better than the classical controllers used.
FSW S/C Angular Velocity : degree/S
0.04
Roll Pitch Yaw
0.02
Dynamical Model S/C Angular Velocity : degree/S
0.04
Roll Pitch Yaw
0.02
0
0 -0.02
-0.02
-0.04
-0.04
-0.06
-0.06 -0.08
-0.08
-0.1
-0.1
-0.12
-0.12
-0.14
-0.14
0 0
2000
4000
6000
8000
10000
12000
2000
4000
5
12000
2
3 2
1
1
0
0
-1
-1
-2
-2
-3
-3 -4
10000
Roll Pitch Yaw
3
Roll Pitch Yaw
4
8000
Dynamical Model S/C Angular Error : degree
4
FSW S/C Angular Error : degree
6000
time (sec)
time (sec)
-4 0 0
2000
4000
6000
8000
10000
12000
2000
4000
6000
8000
10000
12000
time (sec)
time (sec) Fig. 12. FSW simulation of FLC: (a) angular velocity (b) angular error.
Fig. 13. Dynamical Model simulation of FLC-1 and FLC-2: (a) angular velocity (b) angular error.
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
Dynamical Model S/C Angular Velocity : degree/S
0.05
Roll Pitch Yaw
0
-0.05
-0.1
-0.15
-0.2 0
2000
4000
6000
8000
10000
12000
time (sec) Dynamical Model S/C Angular Error : degree
4
Roll Pitch Yaw
3 2 1 0 -1
6619
When interference is added at 600 s, the maximum vibrations of the angular speed response of the fuzzy controllers (FLC-1 and FLC-2) are about 0.03°/s as shown in Fig. 10 and FLC is less than 0.03°/s as shown in Fig. 12. Both are lower than the classical controllers, which is about 0.04°/s as shown in Fig. 11 and settle to a steady-state rapidly when the satellite be encounters the interference. Figs. 10–12 show that the fuzzy logic controllers have lower steady-state errors of angle response when the satellite is in steady-state occurring at 20004000 s and the angular error responses have better performance occurring at 8000–12000 s. From the simulation results of the Dynamical Model, it can also be said that the two fuzzy controllers and the consolidated fuzzy controller both can improve the efficiency of attitude stabilization better than the classical controllers used. When interference is added at 600 s, the maximum vibrations of the angular speed response of the two fuzzy logic controllers (FLC-1 and FLC-2) are about 0.03°/s as shown in Fig. 13, and FLC is less than 0.03°/s as shown in Fig. 15. Both are lower than the classical controllers used about 0.04°/s as shown in Fig. 14, and settled to a steady-state rapidly when the satellite be encountered interference. Figs. 13–15 show that the fuzzy logic controllers have lower steady-state errors of angle response when the satellite is in steady-state occurring at 15004000 s, and the angular errors have better performance occurring at 8000–12000 s.
-2
5. Conclusion
-3 -4 0
2000
4000
6000
8000
10000
12000
time (sec) Fig. 14. Dynamical Model simulation of classical controllers: (a) angular velocity (b) angular error.
Dynamical Model S/C Angular Velocity : degree/S
0.04
Roll Pitch Yaw
0.02 0
A new approach using a fuzzy controller has been proposed for attitude control of the satellite. The simulation results indicate that the two fuzzy controllers are used to supersede two classical controllers for attitude stabilization of the satellite and to obtain a faster convergent time and lower steady-state error. The two fuzzy controllers are consolidated to form one fuzzy controller successfully, and the consolidated fuzzy controller also obtains the performance as expected. The proposed controller is superior to the classical controller in that it does not require gain settings and complicated computations, making it easier to be implemented on a microcomputer.
-0.02
Acknowledgment
-0.04 -0.06
This research was sponsored by National Space Program Office (NSPO), Taiwan, Republic of China under the Grant NSC91NSPO(A)-PC-FD06-01.
-0.08 -0.1 -0.12 -0.14 0
References 2000
4000
6000
8000
10000
12000
time (sec) Dynamical Model S/C Angular Error : degree
4
Roll Pitch Yaw
3 2 1 0 -1 -2 -3 -4 0
2000
4000
6000
8000
10000
12000
time (sec) Fig. 15. Dynamical Model simulation of FLC: (a) angular velocity (b) angular error.
Akahoshi, K. (1991). SLR camera a-7xi using fuzzy logic in AF AE AZ. Fuzzy Engineering Toward Human Friendly System, 1132–1133. Buijtenen, W. M., Schram, G., Babuška, R., & Verbruggen, H. B. (1998). Adaptive fuzzy control of satellite attitude by reinforcement learning. IEEE Transactions on Fuzzy Systems, 6, 185–194. Chen, B. S., Wu, C. S., & Jan, Y. W. (2000). Adaptive fuzzy matrix H2/H1 attitude control of spacecraft. IEEE Transactions on Aerospace and Electronic Systems, 36, 1343–1359. Mamdani, E. H., & Assilian, S. (1975). An experiment in linguistic synthesis with a fuzzy logic controller. International Journal of Man-Machine Studies, 7(1), 1–13. Nam, S. K., & Kim, K. K. (2001). Fuzzy control based on H1 output feedback for attitude stabilization of flexible satellite. IEEE International Conference on Fuzzy Systems, 1, 159–162. Nam, S. K., & Zhang, R. W. (1997). Fuzzy multi-variable control for attitude stabilization of flexible spacecraft. IEEE International Conference on Intelligent Processing Systems, 1, 257–261. Steyn, W. H. (1994). Fuzzy control for a non-linear MIMO plant subject to control constraints. IEEE Transactions on Man and Cybernetics Systems, 24, 1565–1571. Tersai, H., Abe, S., & Kondoh, S. (1991). Application of fuzzy logic technology to home appliances. Fuzzy Engineering Toward Human Friendly System, 1118–1119. Tomescu, B., & VanLandingham, H. F. (1999). Improved large-signal performance of paralleled DC–DC converter current sharing using fuzzy logic control. IEEE Transactions on Power Electronics, 14(3), 573–577.
6620
C.-H. Cheng et al. / Expert Systems with Applications 36 (2009) 6613–6620
Uma, G., Latha, J., & vChellamuthu, C. (2000). A fuzzy based speed controller for soft switched DC to DC converter fed DC servomotor for aero space applications. IEEE International Symposium on Industrial Electronics, 2, 730–734.
Wang, L. X. (1997). A course in fuzzy systems and control. Prentice Hall. Zadeh, H. S., & Wood, L. A. (1999). Heuristic optimization of a vibration suppression controller. IEEE Conference on Electrical and Computer, 2, 1024–1028.