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.
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. Section 2 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 matrix J=diag(Jx,Jy,Jz)); let wheel angular momentums in three main axes be (hx,hy,hz); then dynamic equations of satellite attitude control system are
(1)Jxω˙x+(Jz-Jy)ωyωz=-h˙x+hyωz-hzωy+Tx,Jyω˙y+(Jx-Jz)ωxωz=-h˙y+hzωx-hxωz+Ty,Jzω˙z+(Jy-Jx)ωxωy=-h˙z+hxωy-hyωx+Tz,
where Tx, Ty, Tz 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-ω00]=[φ˙-ω0ψθ˙-ω0ψ˙+ω0φ].
Substituting (2) into (1), the dynamic equations are transformed as
(3)Jxφ¨+[(Jy-Jz)ω02-ω0hy]φ+[(Jy-Jx-Jz)ω0-hy]ψ˙=-h˙x+ω0hz+Tx,Jyθ¨+hx(ψ˙+ω0φ˙)-hz(φ˙-ω0ψ)=-h˙y+Ty,Jzψ¨+[(Jy-Jx)ω02-ω0hy]ψ-[(Jy-Jx-Jz)ω0-hy]φ˙=-h˙z-ω0hx+Tz.
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)Jxφ¨+ω02(Jy-Jz)φ+ω0(Jy-Jx-Jz)ψ˙=Tx-h˙x,Jyθ¨=Ty-h˙y,Jzψ¨+ω02(Jy-Jx)ψ-ω0(Jy-Jx-Jz)φ˙=Tz-h˙z,
where Tx, Ty, Tz 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˙=AX+BU+GTe,Y=CX,
where
(6)X=[φ˙θ˙ψ˙φθψ]T,U=[h˙xh˙yh˙z]T,Te=[TxTyTz]T,Y=[φθψ]T,A=[00a1a200000000a30000a4100000010000001000],B=[-1Jx000-1Jy000-1Jz000000000],G=-B,C=[000000000100010001],a1=-ω0(Jy-Jx-Jz)Jx,a2=-ω02(Jy-Jz)Jx,a3=ω0(Jy-Jx-Jz)Jz,a4=-ω02(Jy-Jx)Jz.
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 Figure 1). 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].
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.
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.
Stability: under fault condition, fault-tolerant control should make satellite attitude stabilize and change in the setting range.
Precision: for satellite attitude stabilization, high precision of attitude control means attitude errors are small enough and attitude angles are close to the expected.
Robustness: fault-tolerant control should be robust to both of the system uncertainties and the external disturbances.
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 is 3 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)=A0x(k)+B0u(k)+W(k),|u(k)≤r|,
where x=[x1x2], A0=[1h01], B0=[0b], and b≠0; W=[0w] is load disturbance, h is the sampling period, and r is the actuator saturation limit.
Time optimal control function fhan(x1,x2,r,h) [15, 16] of the controlled system (7) can be implemented in a digital computer as
(8)d=rh,d0=hd,y=x1+hx2,a0=d2+8r|y|,a={x2+(a0-d)2sign(y),|y|>d0x2+yh,|y|≤d0,fhan=-{rsign(a),|a|>drad,|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)fh=fhan(v1(k)-v(k),v2(k),r,h),v1(k+1)=v1(k)+hv2(k),v2(k+1)=v2(k)+hfh,
where v1(k) and v2(k) are the outputs of the tracking differentiator [15].
Extended state observer (ESO) is
(10)z(k+1)=A~0z(k)+B~0u(k)+hL(y(k)-z1(k)),
where z=[z1z2z3] is the output of the ESO (10), A~0=[1h0010000], B~0=[0b0], and L=[l1l2l3]. l1, l2, l3 are the parameters of the ESO (10) [15, 17, 18].
State error feedback function is
(11)e1(k)=v1(k)-z1(k),e2(k)=v2(k)-z2(k),u0=-fhan(e1(k),e2(k),r0,h0),
where r0 and h0 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)=(u0(k)-z3(k))b.
The estimated variable z3 is compensated by the error feedback control variable u0. The control variable u is determined by both u0 and z3 [15]. The structure of second-order ADRC is illustrated in 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)Td)-X(kTd)Td,
where Td 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 Td, so that
(14)X˙(t)=˙X((k+1)Td)-X(kTd)TdX˙(t)=AX(kTd)+BU(kTd)+GTe(kTd),
and it is obvious that
(15)X((k+1)Td)-X(kTd)Td=AX(kTd)+BU(kTd)X((k+1)Td)-X(kTd)Td=+GTe(kTd),X((k+1)Td)-X(kTd)=TdAX(kTd)+TdBU(kTd)X((k+1)Td)-X(kTd)=+TdGTe(kTd),X((k+1)Td)=X(kTd)+TdAX(kTd)+TdBU(kTd)X((k+1)Td)=+TdGTe(kTd),X((k+1)Td)=(I+TdA)X(kTd)+TdBU(kTd)X((k+1)Td)=+TdGTe(kTd),
where I is a proper dimensional identity matrix.
Compared with the following standard discrete time state space model
(16)Xl(k+1)=AlXl(k)+BlUl(k)+GlTl(k),
the parameter matrices of discretized model with finite difference method can be listed as follows: Al=I+TdA, Bl=TdB, and Gl=TdG.
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 v01=0, v02=0, and v03=0 be the inputs of three tracking differentiators; then the TDs are
(17)vl1(k+1)=vl1(k)+h1vl2(k),vl2(k+1)=vl2(k)vl2(k+1)=+h1fhan(vl1(k)-v01(k),vl2(k),r1,h1),vl3(k+1)=vl3(k)+h1vl4(k),vl4(k+1)=vl4(k)vl4(k+1)=+h1fhan(vl3(k)-v02(k),vl4(k),r1,h1),vl5(k+1)=vl5(k)+h1vl6(k),vl6(k+1)=vl6(k)vl6(k+1)=+h1fhan(vl5(k)-v03(k),vl6(k),r1,h1),
where h1 and r1 are the sampling times and limit for three-axis attitude stabilization, respectively. vl1, vl2, vl3, vl4, vl5, and vl6 are the outputs of the above three TDs.
The ESO of the attitude control system is
(18)Zl(k+1)=A~lZl(k)+B~lUl(k)+L~lEl(k),
where Zl=[zl1zl2zl3zl4zl5zl6zl7zl8zl9]T, A~l=[Al06×303×603×3], B~l=[Bl03×3], L~l=[ll1ll2ll3ll4ll5ll6ll7ll8ll9]T, and El=[yl1-zl4yl2-zl5yl3-zl6]T.
The state error feedback functions are
(19)el1(k)=vl1(k)-zl4(k),el2(k)=vl2(k)-zl1(k),u0x(k)=-fhan(el1(k),el2(k),r2,h2),el3(k)=vl3(k)-zl5(k),el4(k)=vl4(k)-zl2(k),u0y(k)=-fhan(el3(k),el4(k),r2,h2),el5(k)=vl5(k)-zl6(k),el6(k)=vl6(k)-zl3(k),u0z(k)=-fhan(el5(k),el6(k),r2,h2).
Let bx=-Td/Jx, by=-Td/Jy, and bz=-Td/Jz. Under fault-free condition, control laws are
(20)ux(k)=u0x(k)-zl7(k)bx,uy(k)=u0y(k)-zl8(k)by,uz(k)=u0z(k)-zl9(k)bz.
The model of attitude control system in flywheel fault is
(21)Xl(k+1)=AlXl(k)+BlUl(k)+ElFl(k)+GlTl(k),Yl(k)=ClXl(k),
where El=Bl, Fl∈R3 represent reaction flywheel fault.
The relationship between actual control torque Ua and control torque Ur supplied by reaction flywheels is
(22)Ua(k)=[100330103300133]Ur(k),
where Ua=[uaxuayuaz]T and uax, uay, and uaz are actual control torque acting on three axes. Ur=[urxuryurzurs]Tand urx, ury, urz, and urs are control torque supplied by roll-axis flywheel, pitch-axis flywheel, yaw-axis flywheel, and spare flywheel, respectively. Under fault-free condition, us(k) is equal to 0 and urx(k), ury(k), and urz(k) are, respectively, equal to ux(k), uy(k), and uz(k). If the absolute difference between control torque as the controller requires and control torque output by flywheel is greater than the threshold uf 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.
If |ux(k)-urx(k)|≥uf, then isolate the roll-axis flywheel and activate the spare flywheel; us(k+1)=3ux(k+1), the control torque output by pitch-axis flywheel and yaw-axis flywheel are adjusted as ury(k+1)=uy(k+1)-ux(k+1) and urz(k+1)=uz(k+1)-ux(k+1).
If |uy(k)-ury(k)|≥uf, then isolate the pitch-axis flywheel and activate the spare flywheel; urs(k+1)=3uy(k+1), the control torque output by roll-axis flywheel and yaw-axis flywheel are adjusted as urx(k+1)=ux(k+1)-uy(k+1) and urz(k+1)=uz(k+1)-uy(k+1).
If |uz(k)-urz(k)|≥uf, then isolate the yaw-axis flywheel and activate the spare flywheel; urs(k+1)=3uz(k+1), the control torques output by roll-axis flywheel and pitch-axis flywheel are adjusted as urx(k+1)=ux(k+1)-uz(k+1) and ury(k+1)=uy(k+1)-uz(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), l1, l2, and l3 are the tuning parameters. If the controlled system (7) can be approximated by the second-order system model structure
(23)y¨0=f(t,y0,y˙0,w)
and l1, l2, and l3 are well tuned, z1, z2, z3 track y0, 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, l1, l2, and l3, are suggested to be chosen as in the following [19, 20]:
(24)s3+l1s2+l2s+l3=(s+ω0)3,
where ω0 is denoted as observer bandwidth. The observer gains, l1, l2, and l3, are
(25)l1=3ω0,l2=3ω02,l3=ω03.
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].
Assume Ne to be the number of food resources (equal to the number of employed or onlooker bees), D the dimension of each solution vector, and xbi the position of a food resource. Generate a population {Xb1,Xb2,…,XbNe} randomly.
Let Xbi=(xbi1,xbi2,…,xbiD) represent the ith food source in the population. Each solution is then generated by the following equation:
(26)xbij=xbminj+rand(0,1)(xbmaxj-xbminj),
where i=1,2,…,Ne, j=1,2,…,D, and xbminj and xbmaxj are the lower and upper bounds of the jth 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)xcij=xbij+βij(xbij-xbnj),
where βij is a random number in the range [-1,1]; n=1,2,…,Ne,n≠i,n,i, and j are randomly chosen indexes; xci is a candidate food source position, xbi is the current food source position, and xbn 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 value Pbi associated with that food source
(28)Pbi=fiti∑m=1Nefitm,
where fiti 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. Let fobject 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 fobject. ωbu and ωbl are, respectively, the lower and upper bounds of the region. If the bandwidth is larger than ωbu or smaller than ωbl, the performance of ADRC is worse than the one chosen from the stable region. The bounds of the solution are equal to ωbu and ωbl. 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.
<bold>Algorithm 1: </bold>The optimizing algorithm of bandwidth parameter by ABC.
Input Ne,D,fobject
Initialize i=1,j=1
While (i<Ne) do
While (j<D) do
Generate new population (solution) xcij in the neighborhood of xbij for employed bees using (27) and evaluate them;
Employ the greedy selection process for employed bees between xbi and xci;
Calculate the probability Pbi for xci using (28);
Produce new population xcij from xbij for onlooker bees based on and evaluate them;
Employ the greedy selection process for onlooker bees between xbi and xci;
Determine the abandoned xbi, 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 Figure 3. 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)fobject=∑k=1Nt|Aactual(k)-Aexpected(k)|Nt,
where Nt represents sampling number in control period and Aactual and Aexpected 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 Xl(0) are equal to attitude angles of the initial moment. The expected attitude angles are v01, v02, and v03. A~l, B~l are associated with satellite attitude dynamic model. Ul(0) and Ur(0) are the initial moment control torque supplied by flywheels. The fault detection threshold is uf. 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.
<bold>Algorithm 2: </bold>Robust fault-tolerant control algorithm for satellite stabilization based on ADRC with bandwidth parameter optimization by ABC.
Under fault-free condition, control torques of flywheels are
urx(k)=ux(k);
ury(k)=uy(k);
urz(k)=uz(k);
urs(k)=0.
When a fault is detected, isolate the faulty flywheel and activate the spare flywheel.
If |ux(k)-urx(k)|≥uf, then
urs(k+1)=3ux(k+1),
urx(k+1)=0,
ury(k+1)=uy(k+1)-ux(k+1),
urz(k+1)=uz(k+1)-ux(k+1);
If |uy(k)-ury(k)|≥uf, then
urs(k+1)=3uy(k+1),
ury(k+1)=0,
urx(k+1)=ux(k+1)-uy(k+1),
urz(k+1)=uz(k+1)-uy(k+1);
If |uz(k)-urz(k)|≥uf, then
urs(k+1)=3uz(k+1),
urz(k+1)=0,
urx(k+1)=ux(k+1)-uz(k+1),
ury(k+1)=uy(k+1)-uz(k+1).
End.
Output Yl
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·m^{2}; the orbit angular velocity ω0=0.0011058 rad/s; the environmental disturbance torque is
(30)Te=[A0(3cos(ω0t)+1)A0(1.5sin(ω0t)+3cos(ω0t))A0(3sin(ω0t)+1)],
where the experimental disturbance torque amplitude is A0=1.5×10-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 Td=0.05s; the fault detection threshold value uf=0.0002 N·m.
The system parameter uncertainty condition is that the system matrix Al is used to design control laws, but the system matrix of actual system is Al+ΔAl; here we let ΔAl be 0.03Al.
The measurement parameter uncertainty condition is that the measurement matrix Cl is used to design control laws, but the measurement matrix of actual system is Cl+ΔCl; here we let ΔCl be rCl 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)Fl(k)=[fx(k)fy(k)fz(k)]T,
where
(32)fx(k)=0N·m,fz(k)=0N·m,fy(k)={0N·mk≤1000(k-1000)10000N·m1000<k≤15000.05N·m1500<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. Figure 4 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.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ATADRC under fault-free condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ABCADRC under fault-free and environmental disturbance torque amplified by three times condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ATADRC under fault-free and environmental disturbance torque amplified by three times condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ABCADRC under system parameter uncertainty condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ATADRC under system parameter uncertainty condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ABCADRC under measurement parameter uncertainty condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ATADRC under measurement parameter uncertainty condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ABCADRC under flywheel fault condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ATADRC under flywheel fault condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ABCADRC under flywheel fault and environmental disturbance torque amplified by five times condition.
Attitude angles
Control torque supplied by the four flywheels
Simulation result of attitude stabilization with ATADRC under flywheel fault and environmental disturbance torque amplified by five times condition.
Attitude angles
Control torque supplied by the four flywheels
As 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 than 5×10-4 degrees.
As shown in Table 1, 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.
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
413
As shown in Table 2, 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.
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
414
As shown in Table 3, 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.
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
417
As shown in Table 4, 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.
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
413
As shown in Table 5, 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.
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.00241320
As shown in Table 6, 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.
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.00242137
With 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.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgment
This work was supported by the National Natural Science Foundation of China (Grant no. 61273350).
TuS. C.XuX. F.YangB. H.NobariN. A.MisraA. K.Attitude dynamics and control of satellites with fluid ring actuatorsSekhavatP.YanH.FlemingA.RossI. M.AlfriendK. T.Closed-loop time-optimal attitude maneuvering of magnetically actuated spacecraftKimD.MacKunisW.Fitz-CoyN.DixonW. E.Precision integrated power and attitude control system (IPACS) in the presence of dynamic uncertaintyLeeK. W.SinghS. N.Non-certainty-equivalent adaptive satellite attitude control using solar radiation pressureDasS.SinhaM.KumarK. D.MisraA.Reconfigurable magnetic attitude control of Earth-pointing satellitesGuanY.ZhaoS. L.ZhangY. C.JiaQ. X.Fault-tolerant control of a satellite attitude control system based on on-line compensation algorithmJiangL.LiH.YangG.YangQ.HuangH.A survey of spacecraft autonomous fault diagnosis researchChangQ.YuanS.Overview of integrated vehicle health management technology and developmentZengS. K.MichealG. P.WuJ.Status and perspectives of prognostics and health management technologiesXingY.WuH.WangX.LiZ.Survey of fault diagnosis and fault-tolerance control technology for spacecraftZhouD. H.YeY. Z.HanJ. Q.LiuR. J.WuM.LiuG. P.ShenJ. H.ThomasC.Active on an improved equivalent-input-disturbance approachFengH.LiS.Active disturbance rejection control based on weighed-moving-average-state-observerTeppa-GarranP.GarciaG.Optimal tuning of PI/PID/PID(n-1) controllers in active disturbance rejection controlYooD.YauS. S.-T.GaoZ. Q.Optimal fast tracking observer bandwidth of the linear extended state observerChenX.LiD. H.GaoZ. Q.WangC. F.Tuning method for second-order active disturbance rejection controlProceedings of the 30th Chinese Control Conference (CCC '11)July 2011Yantai, China632263272-s2.0-80053062795ZhengQ.GaoL. Q.GaoZ. Q.On stability analysis of active disturbance rejection control for nonlinear time-varying plants with unknown dynamicsProceedings of the 46th IEEE Conference on Decision and ControlDecember 2007New Orleans, La, USA35013506SeeleyT. D.TeodorovicD.Dell'OrcoM.Bee colony optimization: a cooperative learning approach to complex transportation problemsXuC.DuanH.Artificial bee colony (ABC) optimized edge potential function (EPF) approach to target recognition for low-altitude aircraftGaoW. F.LiuS. Y.Improved artificial bee colony algorithm for global optimizationZhangX.ZhangX.YuenS. Y.HoS. L.FuW. N.An improved artificial bee colony algorithm for optimal design of electromagnetic devicesLuoJ.WangQ.XiaoX. H.A modified artificial bee colony algorithm based on converge-onlookers approach for global optimizationLuanJ. H.