# Design of Satellite Attitude Control Algorithm Based on the SDRE Method Using Gas Jets and Reaction Wheels

Authors: Luiz C. G. de Souza; Victor M. R. Arena
Journal: Journal of Engineering
 (2013)

---

## Abstract

An experimental attitude control algorithm design using prototypes can minimize space mission costs by reducing the number of errors transmitted to the next phase of the project. The Space Mechanics and Control Division (DMC) of INPE is constructing a 3D simulator to supply the conditions for implementing and testing satellite control hardware and software. Satellite large angle maneuver makes the plant highly nonlinear and if the parameters of the system are not well determined, the plant can also present some level of uncertainty. As a result, controller designed by a linear control technique can have its performance and robustness degraded. In this paper the standard LQR linear controller and the SDRE controller associated with an SDRE filter are applied to design a controller for a nonlinear plant. The plant is similar to the DMC 3D satellite simulator where the unstructured uncertainties of the system are represented by process and measurements noise. In the sequel the State-Dependent Riccati Equation (SDRE) method is used to design and test an attitude control algorithm based on gas jets and reaction wheel torques to perform large angle maneuver in three axes. The SDRE controller design takes into account the effects of the plant nonlinearities and system noise which represents uncertainty. The SDRE controller performance and robustness are tested during the transition phase from angular velocity reductions to normal mode of operation with stringent pointing accuracy using a switching control algorithm based on minimum system energy. This work serves to validate the numerical simulator model and to verify the functionality of the control algorithm designed by the SDRE method.


---

## Body

## 1. Introduction

The design of a satellite Attitude Control System (ACS), that involves plant uncertainties [1] and large angle maneuvers followed by stringent pointing control, may require new nonlinear attitude control techniques in order to have adequate stability, good performance, and robustness. Experimental ACS design using nonlinear control techniques through prototypes is one way to increase confidence in the control algorithm. Experimental design has the important advantage of representing the satellite dynamics in a laboratory setting, from which it is possible to accomplish different simulations to evaluate the satellite ACS [2]. However, the drawback of experimental testing is the difficulty of reproducing zero gravity and torque free space conditions. A multiobjective approach [3] has been used to design a satellite controller with real codification. An investigated through experimental procedure has been used by Conti and Souza in [4] for simulator inertia parameters identification. An algorithm based on the least squares method to identify mass parameters of a rotating space vehicle during attitude maneuvers has been developed by Lee and Wertz in [5], a method with the same objectives, but based on Kaman filter theory also has been investigated by Souza in [6]. The H-infinity control technique was used in [7] to design robust control laws for a satellite composed of rigid and flexible panels. In the SDRE method, the nonlinear dynamics are brought to a time-invariant, linear-like structure containing state-dependent coefficients. Infinite-horizon LQR is then applied to the linear-like structure with the coefficient matrices being evaluated at the current operational point in the state space.   The process is repeated in the next sampling periods therefore producing and controlling several state-dependent linear models out of a nonlinear one. The SDRE method was applied by Souza in [8] for controlling a nonlinear satellite system with six-degrees of freedom. However, it did not incorporate the SDRE filter as a state observer for   the SDRE method, so that uncertainties could be accounted for in the filtering process. In this paper the SDRE technique [9] along with the associated Kalman filter [10] is applied to design a nonlinear controller for a nonlinear simulator plant where the unstructured uncertainties of the system are represented by process and measurement noise. As a result, the satellite attitude control algorithm design using the SDRE technique and SDRE filter is able to deal with large angle maneuvers and plant uncertainties. The control strategy is based on reaction wheel and gas jets as actuators which allow the design of two control algorithms related to the transition from high angular velocity mode to the normal mode of operation with stringent pointing using an optimal switching control algorithm based on minimum system energy. Several simulations have proven the computationally feasibility for real time execution of the SDRE control algorithm using the  satellite’s  onboard computer [11].


## 2. SDRE Control Methodology

The Linear Quadratic Regulation (LQR) approach is well known and its theory has been extended for the synthesis of nonlinear control laws for nonlinear systems [8]. This is the case for satellite dynamics that are inherently nonlinear [12]. A number of methodologies exist for the control design and synthesis of these highly nonlinear systems; these techniques include a large number of linear design methodologies [13] such as Jacobian linearization and feedback linearization used in conjunction with gain scheduling [14]. Nonlinear design techniques have also been proposed including dynamic inversion and sliding mode control [15], recursive back stepping, and adaptive control [16].Compared to multiobjective optimization nonlinear control methods [3] the SDRE method has the advantage of avoiding intensive interaction calculations, resulting in simpler control algorithms that are more appropriate for implementation on a satellite’s onboard computer.The nonlinear regulator problem [17] for a system represented in the state-dependent Riccati equation form with infinite horizon, can be formulated by minimizing the cost functional given by
(1)J(x0,u)=12∫t0∞(xTQ(x)x+uTR(x)u)dt,
with the state x∈ℜn and control  u∈ℜm subject to the nonlinear system constraints given by
(2)x˙=f(x)+B(x)u,y=C(x)x,x(0)=x0,
where B∈ℜn×m, and C  are the system input and the output matrices, and y∈ℜs (ℜs is the dimension of the output vector of the system). The vector initial conditions is  x(0), Q(x)∈ℜn×n and  R(x)∈ℜm×m  are the weight matrix semi defined positive and  defined positive.Applying a direct parameterization to transform the nonlinear system into State Dependent Coefficients (SDC) representation, the dynamic equations of the system with control can be write in the form(3)x˙=A(x)x+B(x)u,
with  f(x)=A(x)x, where A∈ℜn×n is the state matrix. By and large A(x) is not unique. In fact there are an infinite number of parameterizations for SDC representation. This is true provided there are at least two parameterizations for all  0≤α≤1  satisfying
(4)αA1(x)x+(1-α)A2(x)x=αf(x)+(1-α)f(x)=f(x).The choice of parameterizations to be made must be appropriate in accordance with the control system of interest. An important factor for this choice is not violating the controllability of the system, that is, the matrix controllability state-dependent[B(x)+A(x)B(x)⋯An-1(x)B(x)] must be full rank.The state-dependent algebraic Riccati equation (SDARE) can be obtained applying the conditions for optimality of the variational calculus. As a result, the Hamiltonian for the optimal control problem given by (1) and (2) is given by
(5)H(x,u,λ)=12(xTQ(x)x+uTR(x)u)+λT(A(x)x+B(x)u),
where  λ∈ℜn is the Lagrange multiplier.Applying to (5) the necessary conditions for the optimal control given by x˙=∂H/∂λ, ∂H/∂u=0,  and    λ˙=-∂H/∂x,  one gets
(6)λ˙=-Q(x)x-12xT∂Q(x)∂xx-12uT∂R(x)∂xu-[∂(A(x)x)∂x]Tλ-[∂(B(x)u)∂x]Tλ,(7)x˙=A(x)x+B(x)u,(8)0=R(x)u+B(x)λ.Assuming the costate in the formλ=P(x)x, which is dependent of the state, from (8) one obtains  the feedback control law
(9)u=-R-1(x)BT(x)P(x)x.
Substituting this result into (7) one gets
(10)x˙=A(x)x-B(x)R-1(x)BT(x)P(x)x.To find the functionP(x) one differentiates λ=P(x) with respect the time along the path from which one gets
(11)λ˙=P˙(x)x+P(x)x˙=P˙(x)x+P(x)A(x)x-P(x)B(x)R-1(x)BT(x)P(x)x.Substituting (11)  in the first necessary condition of optimal control (see (6)) one obtains
(12)P˙(x)x+P(x)A(x)x-P(x)B(x)R-1(x)BT(x)P(x)x=-Q(x)x-12xT∂Q(x)∂xx-12uT∂R(x)∂xu-[A(x)+∂(A(x)x)∂xx]TP(x)x-[∂(B(x)u)∂x]TP(x)x.Arranging the terms more appropriately one has(13)P˙(x)x+12xT∂Q(x)∂xx+12uT∂R(x)∂xu+xT[∂(A(x))∂x]TP(x)x+[∂(B(x)u)∂x]TP(x)+[P(x)A(x)+AT(x)P(x)-P(x)B(x)×R-1(x)BT(x)P(x)+Q(x)]x=0.In order to satisfy the equality of (13) one obtains two important relations. The first one is state-dependent algebraic Riccati equation (SDARE) which solution is  P(x)  given by
(14)P(x)A(x)+AT(x)P(x)-P(x)B(x)R-1(x)BT(x)P(x)+Q(x)=0.
The second one is the necessary condition of optimality which must be satisfied and it is given by
(15)P˙(x)x+12xT∂Q(x)∂xx+12uT∂R(x)∂xu+xT[∂(A(x))∂x]TP(x)x+[∂(B(x)u)∂x]TP(x)x=0.For the infinite time problem and considering the standard Linear Quadratic Regulator (LQR) problem, this is a condition that satisfies the optimality of the solution suboptimal control.Finally, the nonlinear control law feedback by the states has the following form:(16)u=-S(x)x,withS(x)=R-1(x)BT(x)P(x).For some special cases, such as systems with little dependence on the state or with few state variables, (14) can be solved analytically. On the other hand, for more complex systems the numerical solution can be obtained using an adequate sampling rate.  It is assumed that the parameterization of the coefficients dependent on the state is chosen so that the pair (A(x),B(x))and(C(x),A(x)) are in the linear sense for all x  belonging to the neighbourhood about the origin, point-to-point, stabilizable and detectable, respectively. Then the SDRE nonlinear regulator produces a closed loop solution that is locally asymptotically stable. An important factor of the SDRE method is that it does not cancel the benefits that result from the nonlinearities of the dynamic system, because, it is not a required inversion and not a dynamic feedback linearization of the nonlinear system.The Nonlinear State Estimation problem [18] is analogous to linear method. Using the dual formulation to the nonlinear quadratic regulator problem, a nonlinear estimator can be formed, assuming that the measurement is a nonlinear function of  x  such that
(17)y=g(x).
One needs to form a state dependent coefficient measurement
(18)y=C(x)x.For the optimal estimation problem, the cost function can be of the form:(19)Min(x^)J=12E×{∫t0∞[(x-x^)TΓTW-1Γ(x-x^)+(y-Cx^)TV-1(x-x^)]{∫t0∞(x-x^)TΓTW-1Γ(x-x^)}}dtSubject to the nonlinear differential constraints(20)x˙=A(x)x+Γwy=C(x)x+v,where w is the is Gaussian zero-mean white process noise with W=E[wTw],  the variance of the process noise and is υ is the  Gaussian zero mean white measurement noise with V=E[vTv],  the variance of the  measurement noise.  The SDC matrices of measurement have to satisfy the same conditions for the SDC regulator problem.Using the dual of the regulator problem, the SDRE nonlinear estimator is given by(21)dx^dt=A(x^)x^+Kf(y+y^),y^=C(x^)x^,Kf=Y(x)CT(x^)V-1,
where Y(x) is also positive semidefinite solution of another state-dependent algebraic Riccati equation (SDARE) given by
(22)A(x^)Y(x)+Y(x)AT(x^)-Y(x)CT(x^)V-1C(x^)Y(x)+ΓTWΓ=0.The SDRE estimator has shown to be effective in many applications [10] and its matrix A(x^) is calculated in every step after estimating the states x^  and calculating  Kf  and Y(x). The conjunction of the SDRE and SDRE filter techniques is quite adequate for onboard computer implementations. However, here the SDRE filter is only implemented in the normal mode of operation where the sensor noise can affect the fine pointing accuracy.


## 3. SimulatorModel

Figure1 shows the INPE 3D simulator which has a disk-shaped platform, supported on a plane with a spherical air bearing. Considering that the simulator is not complete build, one assumes that there are three reaction wheels and the gas jets configuration set capable of performing maneuver around the  three axes and that there are three angular velocities sensor, like gyros. Apart from the difficulty of reproducing zero gravity and torque free condition, modeling a 3-D simulator, basically, follows the same step of the modeling of a rigid satellite with rotation in three axes free in space.Figure 1
INPE 3-D simulator with gas jets and three reaction wheels.The orientation of the platform is given by the body reference systemFb  with respect to inertial reference system  FI  considering the principal axes of inertia and using the Euler angles (θ1,θ2,θ3) in the sequence 3-2-1, to guarantee that there is no singularity in the simulator attitude rotation.  The equations of motions are obtained using Euler’s angular moment theorem given by
(23)h→˙=g,→
where g→ and h→ are the torque and the angular moment of the system, which is given by
(24)h→=Iω→+Iw(Ω→+ω→),
where I=diag(I11,I22,I33)  is the system matrix inertia moment, ω→ is the angular velocity of  the platform,  Iw→=diag(Iw1,Iw2,Iw3)  is the reaction wheel matrix inertia moment and Ω=(Ω1,Ω2,Ω3)  are the reaction wheel angular velocity.Differentiating (24) and considering that the angular velocity of Fb is ω→ and that the external torque is equal to zero, one has
(25)h→˙+ω→xh→=0.Substituting (24) into (25), the angular velocity of the system is
(26)ω→˙=(I+Iw)-1[-ω→x(I+Iw)ω→-ω→xIwΩ→-IwΩ→˙]The simulator attitude as function of the angular velocity is(27)(θ˙1θ˙2θ˙3)=(0sinθ3cosθ2cosθ3cosθ20cosθ3-sinθ31sinθ3sinθ2cosθ2cosθ3sinθ2cosθ2)×(ω1ω2ω3).In order to design the attitude control system based on reaction wheels and gas jets actuators of performing a large angle maneuver, it is important to have in mind that each control algorithm is designed based on in two different sets of equations of motions. In other words, the gas jets are applied to reduce the high angular velocity and the reaction wheel is used to control in the fine pointing accuracy mode. As a result, for each operation mode one has different matricesA(x)  and the respective matrix B associated with it. The C matrix, although depend on the sensor type is assumed unity for simplicity.In the fine pointing mode where the reaction wheel is the actuator, the state’sx are  (θ1θ2θ3ω1ω2ω3)T, and the control u  are (Ω˙1Ω˙2Ω˙3)T, the matrices A(x) and B are given by (28)A(x)=(0000sinθ3cosθ2cosθ3cosθ20000cosθ3-sinθ30001sinθ3sinθ2cosθ2cosθ3sinθ2cosθ20000I22ω3-IwΩ3(I11+Iw)-I33ω2+IwΩ2(I11+Iw)000-I11ω3+IwΩ3(I22+Iw)0I33ω1-IwΩ1(I22+Iw)000I11ω2-IwΩ2(I33+Iw)-I22ω1+IwΩ1(I33+Iw)0),B=(-Iw(I11+Iw)000-Iw(I22+Iw)000-Iw(I33+Iw)).One knows that the reaction wheel generates internal torques and the attitude control is performed by exchange of angular moment between the reaction wheel and the satellite. On the other hand, gas jets generate external torqueM given by
(29)MPi=-Ti·di,
where  MPi is the torque generated around the “i” axis due to the force Ti applied at distance di from the rotation axis.In the angular reduction mode using gas jets the reaction wheel is locked, therefore, its acceleration and angular velocity are zero and the satellite angular velocity is given by(30)ω˙=(I+Iw)-1[-ωx(I+Iw)ω-Ti·di].
The states x are (θ1θ2θ3ω1ω2ω3)T and the control u are (T1T2T3)T, therefore, the matrices A(x) and  B  are given by  (31)A(x)=(0000sinθ3cosθ2cosθ3cosθ20000cosθ3-sinθ30001sinθ3sinθ2cosθ2cosθ3sinθ2cosθ20000I22ω3(I11+Iw)-I33ω2(I11+Iw)000-I11ω3(I22+Iw)0I33ω1(I22+Iw)000I11ω2(I33+Iw)-I22ω1(I33+Iw)0),B=(-d1(I11+Iw)000-d2(I22+Iw)000-d3(I33+Iw)).


## 4. Criterion  for  Changing  the  Actuator

The implementation of the SDRE algorithm in real time has becomes more realistic because of the commercial microprocessor is getting faster [11].  Here,  the control system has to deal with two operation modes where the first one is the reduction of high angular velocity using gas jets and the second one is the control in three axes with fine pointing accuracy using reaction wheel. As a result, it is necessary to establish a criterion to change from one actuator to another. This criterion of course is function of the satellite space mission and the control system equipments. For example, from the angular velocity reduction mode to the normal mode of operation the criterion could be associated with the amount of energy that the reaction wheel can support before being saturated or with the minimum and maximum values of the gas jets capacity.  The criterion used here is based on the total potential and kinetic energy of the system, which means that when the system reaches a certain level of energy the control algorithm change the type of actuator.The potential energy associated with the angular displacement is(32)U=KuΔθ2,
where Ku is a constant and Δθ represent the angular displacement of the simulators.The simulator kinetic energy is given by(33)K=Kcw2,
where  Kc is a constant and w is the angular velocity of the simulator.  It is important to say that the constants Ku and Kc must be such to maintain the total system energy compatibles. Besides, the level of energy can be changed according to the kind of control system to be evaluated. Here one assumes certain level of energy just for simulation purpose.


## 5. Simulation Results

The superiority of the SDRE method to perform a regulation and tracking large angle manoeuvre over the LQR method has been demonstrated in [10]. Here, the simulation is to demonstrate the ability of the SDRE plus SDRE filter techniques to control a nonlinear plant based on switching control algorithm using the previous criterion of energy to change from the gas jets to reaction wheel action. The simulator platform can accommodate various satellites components like sensors, actuators, computers and its respective interface, and electronics. Therefore, the inertia moments of the simulator depend on the equipment’s distribution over it. Here, one assumes and uses the following typical inertia moment for the simulator:  I11=I22=1.17 Kg·m2 and I33=1.13 Kg·m2 and for the reaction wheel Ix=Iy=Iz= 0.0018 Kg·m2. The maximum and minimum gas jet torque used is 10 Nm and the total amount of system energy to change from gas jets to reaction wheel is 0.5 J. In the fine pointing mode the typical sensor noises used are theta = 0.2 (deg) and rate theta = 0.1 (deg/s).To demonstrate the performance of the SRRE controller one imposes a severe large angle maneuver which begins on 0° and in the end it has to track an angular reference of  (100, 50, 70) deg. The controller performance requirements are small overshoot and quick time of response. The controller robustness is associated with its ability to perform big tracking maneuver apart from the perturbations due to sensor noise and plant nonlinear terns.  Besides, it is important to say that   this performance is a function of the weighting matrices of the SDRE controllers.  After some trial and error one gets the following values for matricesR= diag [0.0001 0 0;0 0.0001 0;0 0 0.0001] and Q= diag [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 100 0 0;0 0 0 0 100 0;0 0 0 0 0 100].Figures2 and 3 show the angular displacement and angular velocity when the SDRE controller performs the simulator large maneuver from 0° and it has to tracking the previous angular reference. One observes that at the maneuver end the nonlinear terms of the plant are more relevant. The SDRE controller is able to get the reference in about 250 s.Figure 2
Simulator angular displacement inx,y, and z.Figure 3
Simulator angular velocities inx,y, and z.Figures4 and 5 show the SDRE controller in the transition phase of the previously maneuver where the torque is only due to the gas jets and the torque is only due to the reaction wheel, respectively.Figure 4
SDRE controller using torque due to the gas jets.Figure 5
SDRE controller using torque due to the reaction wheel.Figure6 shows how the switching control algorithm works. That is, the gas jets stop acting and the reaction wheel started acting when the criterion for changing actuators is achieves, system total energy equals to 0.5 J.Figure 6
Criterion for changing actuators is achieves—0.5 J.From simulations one observes that at the beginning of the maneuver the level of energy is high, because the simulator is far from the final attitude to be follow. As a result, the switching control algorithm selects as actuators the thrusters in order to deal with high angular velocities reduction. On the other hands, when the simulator reaches the reference attitude, the total energy decreases rapidly and the switching control algorithm selects as actuators the reaction wheels,  in order to perform fine pointing adjustment of the simulator.Finally, it is important to say that the criterion for changing the actuated based on the energy value defined in the program was established just to provide a good visualization of the torques from the two actuators during the simulation. However, further study of this actuated change can be done based in other criterion of optimization like minimum time maneuver or fuel, reaction wheel speed, and pointing accuracy.


## 6. Conclusions

In this paper one develops a general 3D simulator nonlinear model, once it only depends on the inertia moment of the system. The MATLAB/simulink model is used to investigate large angle tracking maneuver in order to design a control algorithm based on the gas jet and reaction wheel, where the first actuator is used to reduce high angular velocity and the second one to perform fine pointing control. The switching control algorithm used to change from gas jet to reaction wheel action is based on the potential plus the kinetic energy of the system. Therefore, the transition between modes of operation occurs when the system reaches a certain level of energy. The nonlinear controller design uses the conjunction of the SDRE (State Dependent Riccati Equation) and SDRE filter methods to deal with high nonlinear simulator plant and system noise. Simulations have demonstrated the good performance and robustness of the SDRE controller to perform large angle tracking maneuver  considering as project trade-off the settling time and fuel consumption. The investigation has also shown that SDRE control algorithm can be implemented in satellite onboard computer. The next step of this work is to compare the SDRE technique here developed with other nonlinear control methodology.



---

*Source: 318072-2013-01-03.xml*