Inc. .I Non-Lmear
Mechomcs.
MINIMUM
Vo1.5,
pp.
557-575.
Pergamon
Press 1970.
Printed
in Great
Britain
FUEL ATTITUDE CONTROL OF A NON-LINEAR SATELLITE SYSTEM G. D. Bellcomm.
W0LSKEt
Inc., Washington
D.C
Abstract-The problem here is the computation of fuel-optimal controls for the large angle attitude motions of a satellite system in which the control is obtained by three sets of gas jets with bounded thrusts, each generating torques about one of the principal axes of inertia. Using a result from optimal control theory, an algorithm is developed that iteratively improves on an initial guess (nominal) for the control history which does not meet terminal constraints and/or does not minimize the fuel cost. In using the algorithm, which is based on linear programming, it is necessary to express the variation of the fuel cost and variations of the components of the terminal state constraint vector as linear functions of variations in the control. The algorithm is tested on two Sets of satellite differential equations. In one case, all dynamical effects are considered. In the other case, because control torque bounds are large enough, it is possible to neglect gravity gradient torque effects and orbital motion effects. A method to recursively approach minimum time control solutions by using this minimum fuel algorithm is described and illustrated. Numerical results are compared with the results of others who have worked identical examples.
1. OUTLINE
AND
MOTIVATION
FOR
THE
PROBLEM
THIS report
gives a method by which a satellite or general system may be controlled such that a minimum amount of fuel is consumed. The non-linear satellite equations of motion are used in this report. The satellite is assumed to have an arbitrary initial orientation and tumble rate. The solution consists of a scheme by which an active torque device may be actuated to position the satellite to another given orientation and tumble rate at a given time in the future. The active torque device is three sets of cold gas jets located orthogonally on the spacecraft. The magnitude of torque generated by these devices is directly proportional to the time rate of fuel consumption. The “minimum fuel problem” consists of accomplishing the orientation mission while expending a minimum amount of fuel. The satellite to be considered is in elliptic orbit above the earth, but this assumption does not critically influence the solution of the problem. The specific orbit used only modifies the dynamical equations of the system. There are, however, some assumptions and restrictions to be imposed on the problem. The first of these restrictions concerns the control torque. The torque levels are bounded in magnitude. Since no device can generate arbitrarily large torques, this assumption is reasonable. However, by bounding the torque, it is possible to request a mission which is impossible to accomplish in the allowed time. If such is the case, one must either equip the satellite with larger torque generating gas jets or accept the longer time necessary to accomplish the mission with the smaller jets. t Formerly
graduate
student
and research
assistant
at Stanford 551
University,
55x
G. D. WOLSKE
The next assumption is that the control torque enters the dynamics equations linearly. What this means is more specifically defined in Section 2, but it is not a very severe restriction because for many space vehicle systems one prefers to design controls which enter in the dynamics equations linearly. We shall arbitrarily limit the total rotation of the satellite in seeking a new orientation to less than 180”. This excludes the possibility of orienting the satellite in a position diametrically opposite from the original position. However, if one did desire to turn the satellite 180”, it could be accomplished in two missions. The first mission would spin the satellite /I1 degrees (0 < pi, < 180) and the second mission would spin the satellite 180~8, degrees. Another approach is to just let the satellite drift a little and then start the control from there. The reason for limiting the spin to 180 degrees has to do with ambiguities which arise in the dynamics equations. This is discussed more fully in Chapter II in the section on indifference regions in reference [ 11. In the event of an elliptical orbit, another control scheme must be used for maintaining the position once the new orientation has been reached. The work on optimization problems is well justified. Even if the optimal control scheme is not directly used, it provides valuable insight into just how good other more practical control schemes are. Since pioneering work in the theory of optimum control and the advent of Breakwell’s computational technique using large digital computers for optimization calculations, optimization has evolved to the point of becoming practical to implement in the actual control of some systems. This investigation will point to the possibility of applying the following algorithm of optimization in actually controlling a satellite. An iterative technique incorporating linear programming is developed such that highorder non-linear systems with magnitude bounded controls entering the state equations linearly and entering the performance index linearly in the absolute value of the control can be optimized effectively. The technique, which gives (locally) optimal open-loop controls and meets terminal constraints “exactly”, is shown to be relatively insensitive to the nominal control history and is shown to converge rapidly through tests performed on a satellite system described by Euler Parameters. When compared with identical examples to those worked by Hales et al. [2], the costs obtained by this method are between 10 and 15 per cent lower. While both methods take approximately 20 set per iteration on a modern computer, Hales’ method takes 20 or more iterations to give a solution while the method of this report takes only about five iterations. Computer sub-programs to do linear programming are quite standard and readily available, making it easy to implement the algorithm of this report. 2. PROBLEM
STATEMENT
The attitude motion of a satellite is governed by a set of first order non-linear differential equations as in expression (1) dx - = 2; = f(x, u, t) = g(x, t) + C(x, t)u dt
(1)
x is an n-dimensional vector referred to as the state. u is a p-dimensional vector called the control. A restriction that the control enter linearly in the dynamical equations is imposed
fuel attitude control ofa non-&w
Minimum
satellite system
and indicated by the right side of equation (1). The ma~itude control is limited as follows
559
of each component of the
:
UXt)<
Uj
j=
1,2,**.,p,
(2)
Uj,j = 1,2 )..., p are given positive bounds. At a given fixed, but arbitrary, final time denoted by tf, it is required that the state variables satisfy constraint equations as expressed by (3)
Wt,)l = 0,
(3)
JI is an r-dimensional vector function of the state. The solution of the minimum-fuel problem is to find that u*(t) of all possible controls satisfying expressions (l), (2), and (3) which minimizes the fuel cost as given in expression (4).
The satellite is assumed to be in a given arbitrary, but fixed, state at t = t,. That is x&J = x0
(5)
Pontr~agin has shown that each component of the optimal control for problems of this class assumes only values of + Uj, 0, or - Uj. In other words, the optimal fuel control as a function of time for the j-th component consists of positive and negative pulses with intervals of zero control effort separating the pulses. This is illustrated in Fig. 1.
FIG. 1. Typical control component.
3. STATE TRAJECTORY
SENSITIVITY
ANALYSIS
In the following development of an algorithm to compute minimum fuel controls, it will be necessary to consider how variations in the control affect variations in the state at the final time, tJ. Since the control will consist of pulses, general variations in the control can be adequately described by variations in the switching times, q. Consider a variation, 67;:, of the ith switching time, T. Such a change in the switching time will cause trajectory B in Fig. 2 to result rather than the original trajectory, A. By linearizing the variations in the state trajectory at this point in time, it follows that the variation in the state between trajectories A and B at t = ‘7;:is given approximately as Sx( q) in equation (6). Sx(T,) Z [f(x, u, T;) - f(x, u, T$q SF
(6)
G. D. WOLSKE
560
The variation in the state at t = tf is related to 6x(T) by the transition matrix, @(t,, 7J. Namely,
I
Ti6T
T
FIG. 2. Variation
in state due to strong
I‘
variation
-
in control.
The transition matrix, @, satisfies the matrix differential equations and boundary conditions as follows : a+,, ?) = - cP(t,, tf F(t)
(8)
at,> tr) = 1 F(t) is evaluated from equation (1) as follows : F(t) = ;; f[x(t), u(t), t]
(9)
i.e. F(t) is a matrix of the various partial derivatives of f(x, u, t) with respect to x. For the example to be presented later the expanded version of equation (8), in component form is : 4'ij(tfv
t,
=
k$l
@idtf2
tfFkj(x(t),
t,
i = 1,2,...,6 j = 1,2 ,..I >6.
The boundary conditions are 1 when when
@ijXtf,tf) = 0
i= j i # j.
Variations in the terminal constraint vector, +[x, ts)], are related to variations in the state at t = tf by equations (10).
Wl[Jef)l = kb&,)l Wt,).
(10)
Combining(6), (7) and (IO) shows that a small variation in one ofthe switching times ofthe control results in the variations of the terminal state constraint vector as given by (11). 6 JlMf)l
= dl/,[x(Ql @Of,73 m, u, T; 1 - f(Ku, c )I ST
(11)
561
Minimum fuel attitude control of a non-linear satellite system
If there are N switching times and each is varied, the composite effect on the state is given approximately as :
If aii is defined as the j-th component of the vector
JlxCx(tf)la)($,TI:)m u, F) - f(x,u, T+)l
(13)
then expression (12) can be expanded as
6tij[x(t/)l= i$+Iuji61;*
(14)
This expression for the variations of the components of the terminal state constraint in terms of the variations in the switching times will be used in the next section. 4. ALGORITHM
USING LINEAR
PROGRAMMING
An algorithm based on linear programming will be developed in this section which iteratively improves on an initial guess for the control. That is, a nominal guess for the control which does not meet constraints and/or does not minimize the fuel cost will evolve to a control which meets the terminal constraints and minimizes the fuel in a local sense. For the remainder of the discussion, the control is assumed without loss of generality to have three components as shown in Fig. 3. There are N1, Nz - N,, and N - N, switching times for each respective component as illustrated in this figure.
'N,tZ
1
FIG. 3. Configuration for homponent
control.
The first consideration in the development of the algorithm is to obtain an expression for the variation of the fuel cost in terms of variations in the control (switching times). From Fig. 3 and expression (4), it can be seen that the cost J can also be expressed as the sum of the magnitudes of the areas under the pulses, each area of course being weighted with di, i = 1,2, or 3 from expression (4). That is, NtiZ
J =
C dlUl(l;i
i=l
- T2i-1) +
“%’
d2U2(T2i
TZj-1)
-
i=(N,/Z)+l
N2 +
f:
i=(Nz/Z)+
d3U3(T,i
1
-
Gi-
1).
(15)
562
G. D.
WOLSKE
If the T are varied, the variation of the cost, 6J, is given as follows : N1/2 ~~ = C d,U,(6Tzi i=l
dzU,(6Tzi
‘f
- 6T,i_,) +
- 6Tzi_1)
i=(N,/2)+1 N2 +
da U,(STzi - 6T2i_ 1).
f i=(N2/2)+1
(16)
The purpose of the algorithm is to find the minimum of the variation of the fuel cost given in expression (16). However, without imposing certain constraints on the minimization of 6J, the solution for the ST, i = 1,2, . . . , N would be unbounded. The first of the constraints on the minimization problem concerns improving the terminal state constraints if they have not been met or else maintaining these state constraints if the algorithm has already satisfied the state constraints by previous iterations. Writing equation (14) in expanded form, one obtains expression (17). a+, = a,,6T,
+ a,,6T2..
&++,= a,,6T,
. a,,6TN
+ a,,6T2 + . . . a,,6TN.
(17)
If s*r . . . S$, are specified, then variations of ST, i = 1 . . . N are limited so that equation (17) is satisfied. The next of the constraints is imposed to insure that variations in the switching times remain small enough so that the validity ofthe linearized equations (8) and (17) is maintained. These constraints are implemented by restricting the magnitude of each of the variations of the switching times to be less than a given amount as in equation (18). [ST1 < c(i,@Zi > 0 i = 1...N
(18)
Expression (18) is equivalent to (19) which will be used henceforth. ST Q
Gli
ST 2 -ai
ai > 0, i = 1. . . N
There is one more constraint to be included before the algorithm will give meaningful answers. From Fig. 3 it can be seen that if one switching time should ever have a value less than a preceding switching time associated with the same control component, the control would not be properly defined. This is a computational situation and is due to the way in which the control is structured as a series of pulses. To prevent this from occurring. the inequalities of (20) are imposed. T_, < T
i = 2,3,4 ,...,
Tj_l < q
j=N,
Tk_l < Tk k=
N1
+2,N,
+3...N,
(20)
N2 + 2,N, + 3...N.
In conjunction with this constraint, it is necessary to keep all switching times within the time interval [to, tz]. This is included as expression (21). Tl 2 t, TN,+l
2
‘0
TN2+1
3
tO
&, d t/ TN2
d
t/
TN < tf.
(21)
563
Minimum fuel attitude control of a non-linear satellite system
Expressions (20) and (21), which relate various switching times, must be converted to equivalent relations among ~~~~~~~0~s in the switching times before they can be incorporated into the algorithm. If (20) and (21) are assumed to hold for one set of switching times, 7&,,, i = 1,2,..., N, we will insist that they hold for for an updated set of switching timesq,,,,, i= 1,2 ,..., N,where ‘I]:,,, = To,, + S;t;: i = 1,2,. . . , N
(22)
Substitution of (22) into (20) and (21) gives inequalities (23) which are equivalent to the relations of expressions (20) and (211, but which constrain the S’& i = 1,2,. . . , N. The manipulations necessary to arrive at the form of expression (23) are omitted. ~~_,-6~<~o,d-?f_lo,d;
i=2,3
Sl;-,
j=
- 6Tj < Tjold - jrj-lold;
I..., N,
N, + 2,...,Nz . . . ,N
> (23)
, In the Simplex method of solving linear programming problems, the minimization is normally considered only over non-negative values of the independent variables. Although it is possible to generalize the method to include minimization over negative values of the independent variables, this author has found no method of handling this situation without at least doubling the number of independent variables. Because of expression (181, this problem can be handled for this algorithm by simply making a transformation of variables. New variables SQi, i = 1. . . N, are defined by expression (24). SQi = So + Ai;
Ai > 0
i = 1. . . N.
(24)
The Ai must be chosen not less than the largest magnitude of variation in the ST. In particular, Ai = ai, i = 1 . . . N is a good choice for the Ai because it makes the second half of expression (19) redundant. Expressions (16), (171, (19), and (23) are presently converted into their equivalents by expression (24). The result is that the function to be minimized is 6J’ where
N2 f
Ik i= fN3’2)
+ 1
~sUS(~QZ< - dQ,i-,). (25)
564
G.
D.
WOLSKE
The complete set of constraints ofexpression (17. t19). and (23) reduce to those ofexpression (26). a,,SQ,
+ GQ,
+
. ..a.,&Q,
=
f i=l
. . . 0p,6Q,
= f
a,;A;
+
c&h1
(264 arlbQ,
iiQi G
zi + A,
SQi
-cli
2
+
Ai
+
’=
a,,dQ,
+
n,iAi + S&p
172’.-“N
6Qi-1- SQi G (To,, - ‘&lold) + Ai-1 - Ai;
i=2,3,...,N,
6Qj-,-6Qj~(~~,~-_-,o,*)+Aj-,-Aj;
j=N,+2,N,-c3.....Riz
W-1
)+A,-, -A,; - SQk % ('Gold - Tk-lvld
-SQl
G TIeid -
-dQsv,+l -SQ
d
to -
‘ISQN~G tf -
JQN~ d
tj
6Q.v G fy -
-
k=N,+2,Nz+3
,.,.,
N
A,
7;~,+i1<,,<,+1-to
N~+I G 7;~z+l),,,,
i
-
to -
-
>
,%,+I
(26bI
&‘+I
TNto,,j + A,,
?k,,, 7’kd
+ A,, + A,
~
In solving a fuel optimal problem by this method one first chooses a control which is structured as in Fig. 3. The switching times. T. i = 1 . N. are chosen arbitrarily. but, as will be elaborated in the next section when the actual satellite problem is solved, discriminate choice normally guarantees a faster solution. Next the systems equations, (l), are integrated from t = f, to t = t,. During this integration, there must be provisions for storing the time history of the state vector. Next. the transition matrix. @(r,. 7J is evaluated at each switching time. This is accomplished by integrating equations (8) backward from t = f to t = 1,. With these integrations performed, the aij, i = f,2, . . . N, j = 1,2,. . . , r in equati&s (24a) can be evaluated. The next step is the selection of the Slclj,j = 1,2, . . . , r in equations (26a). Since the desired terminal state in the control problem is that $[x(tf)] = 0 and because we normally will not satisfy $[x(t,)J = 0 with an arbitrarily picked control, one chooses S$j,j = 1,2,. . . * r such that the constraint is more nearly satisfied on the next iteration. In particular, one usually sets SI/J~equal to -ii/&x(tf)], j = 1,2,. . . , P. Values must now be chosen for CY~ and Aj. i = 1,2. . . . , N. When choosing these parameters, one simplifies the problem considerably by choosing Ai such that Ai = cli i = 1,2,...,N From the second inequality of 26b, it becomes clear why the Aj are chosen equal to the cl<. The second inequality of 26b can then be written as SQi 3 0;
i -
1,2,...,N
This constraint is now eliminated from the linear programmjng problem because it is a restriction which is implicitly incorporated in the linear programming algorithm. i.e.
Minimum fuel attitude control of a non-linear satellite system
565
all independent variables are non-negative. The linear programming problem statement is thus shortened by N equations and N slack variables. With all coefficients evaluated, 6J’ of equation 25 is minimized subject to expressions 26a and 26b by using a standard linear programming technique. The solution is given as non-negative values for the SQi i = 1,2,. . . , N. The ST are found as i=
ST = SQi - Ai, The switching times are updated as L.,
1.2 ,..., i =
= rJOld+ G;
N.
1,2,. . . , N.
(27)
The whole process is repeated using the new switching times for the control. Normally, J,,, will be less than Jold. Ideally, the terminal constraints on the state, Jl[x(t,)] should be satisfied. Because of the inaccuracies introduced by linearizing the sensitivity equations, obtaining @[x(tr)] = 0 would be exceptional on the first iteration of the total solution. Normally after a few iterations the control converges to a solution which minimizes the fuel cost (locally) and satisfies the state constraints at t = tf. When the cost can no longer be improved significantly, the procedure is terminated. Although one is not here confronted with the common problem of taking the inverse of matrices which tend toward singularity as the time t approaches tf, a certain amount of care must be taken against the possibility of “infeasible solutions”. Infeasibility means that no solution for the SQi may exist which satisfies the constraints of expressions 26a and 26b. What this usually implies is that the a,, i = 1,2,. . . , N have been chosen so small that euqation (26a) can not be satisfied for the given Stij, j = 1,2,. . . , Y. This is only a minor problem and was only rarely observed in simulation. It can be corrected by proper compensation in the choices of the C(~, i = 1, 2,. . . , N and Stij, j = 1,2,. . . , Y. 5. SATELLITE
DYNAMICAL
EQUATIONS
The algorithm described above will be used to solve for open-loop optimal-fuel attitude controls for a satellite described by a sixth order set of non-linear differential equations. These attitude equations are presented very briefly. The notation is self-explanatory and equal to that used in reference [ 11. If X,, X,, and X, are the angular velocity components of the body with respect to an earth-pointing orbital reference frame and X,, X,, X,, and X, are the Euler Parameters relating the body fixed axes to this orbital reference frame, the differential equations of motion are given as : k,
= u1 + ~k,d,,d,,
-
8d13 -
&X,d,,
-
Xzdx) -
222 = ll2 + ~k,d,,d,,
-
‘Bd,, -
&X,d,,
-
k,(Xz
+ dd,,HX,
+ dd,,)
X3dlJ
-
k,(X, +
&a)(& + k,)
J
G. D. WOLSKE
s, = %x,x3
k, = $-xX,x, x, = $x4x, 2, = 3(-X,X1
X6X2 + X,X1)
+ X6X,
+ X,X,)
x,x, + X,X,) - x,x, - X,X&
128b) ~
The orbital equations
are :
-Li)GMf-GM;.
rj=u(l
(2%
f=fl
These equations must be solved at the same time as the seven attitude differential equations in order to evaluate 0 and ‘eon the right side of (28). Specifically, 0 and ‘ecan be algebraically evaluated as follows :
(30)
The d,j, i, j = 1, 2, 3 are direction cosine components reference frames and are given in (3 1). d,, = +(xq +
between the bodyfixed and orbital
x: - xg -
X2)
4, = 4t-&J, - X,X,) 41 = %L&
- X6-G)
d2, = %X6 + X,X,) 4, = i&x, + x,x,) d,,
= 3x2
(31)
+ X:: - X: - X3).
The k,, k,, and k, in (28) are normalized inertia parameters defined as (32) If the control torque bounds are made large enough to complete the attitude acquisition in only a small fraction of the orbital period, then the equations may be simplified without losing important non-linear effects. In particular. by omitting gravity gradient effects, the differential equations for X,, X, and X, simplify to those of (33)
2, =
ul
-
k,X2X3
8,
u2
-
kyX1X3
=
8, = uj - k,X,X2
and orbital
(33)
The equations for X4, X5, X6 and X, are not changed however, and equations (29), (30) and (31), are not necessary for this “high-torque” case.
Minimum fuel attitude control of a non-linear satellite system 6. MINIMUM-FUEL
561
EXAMPLES
In this section, numerical examples of minimum fuel controls for the satellite attitude equations will be given. Both the high torque and low torque equations will be used. There are only six state variables in these examples because X7 is an integral of motion as expressed in (34). x7 = J(4 - xi - x; - Xi).
(34)
u and I are not considered state equations since they are not subject to constraints at t = tf as are the state variables. In the first example, the simplified high-torque equations given by (33) and (28b) are used with each control component able to generate a maximum angular acceleration of 0*412”/sec*. t, and tf are 0 and 60 seconds respectively. The initial state vector, X,, is given as (1. 1, 1.0.4.0.8,08). The angular velocity components of the state are in degreesisec. The terminal constraint is that Xi(t/) = 0 for i = 1,2, . . . ,6. Inertia moments from the OGO spacecraft described in Ref. [3] are taken as I, = 800 slug-ft.2, I, = 581 slug-ft2, and I, = 300 slug-ft2. From the inertia moments the values for k,, k,, k, can be calculated as 0.351,0*860, and - 0.730, respectively. Figures 4a and 4b depict a nominal control history with six pulses for each control variable along with the corresponding state trajectories. The linear programming algorithm previously described yields the optimal control and state trajectories of Figs. 5a and 5b after only five iterations. Only two pulses for each control variable are needed for the optimal control history of Fig. 5b ; the other pulses went to zero width and hence, gave no contribution to the cost. The cost of the fuel in this example is 0.131 set- 1 as compared to a cost of 0.162 set-’ computed by Hales and Fhigge-Lotz for the identical example. Dyer and McReynolds [4] work this example and get a solution identical to the one of this report, but their method is very sensitive to a choice of the nominal control.
*”
i-r_ *fI-y 0
20 0
400
600
0
200
0
20 0
400
600
0
600
to 18-p&e
200
400
600
J
T
FIG. 4a. Response
400 r
r
nominal
control
applied
to initial conditions
of run R-l.
56X
G. D.
W~LSKE
T
Frc. 4b. Response
7
to 18-pulse nominal
control
applied
to initial conditions
r
of run R-l (Ref. 1).
T
~~__--1. *+ ~~I 0
400
200
600
0
response
400
600
f
T
FIG. 5a. Optimal
20 0
for initial conditions
of run R-l
; Uj = 412’
ix& ; tr = 60 3~.
569
Minimum fuel attitude control of a non-linear satellite system
*”
2:[ -20
0
,
/ 20 0
40
I
0
f 600
~No5~J -050
0
I 20 0
0
0
40
20 0
T
600
T
T
-301
400
0
J
600
so,-
4x0~ 0
I
J
I
20 0
40
0
600
T
FIG. 5b. Optimal response for initial conditions of run R-l ; Ui = 0.412”jsec’ ; tl = 60 sec.
A second example is presently illustrated using the low torque dynamical equations given in expression (28). The period of control for this example is almost one-fourth the orbital period of the satellite. The moments of inertia of the satellite are the same as those used in the high torque example. The initial and final time (to and ts) are given as 0 and 1196 set, respectively. The initial values of the state, x(t,), are given as 3.8 x 10-20/sec, - 7.27 x 10-zo/sec, 3.44 x 10-2”/sec, 0~218,0638,0~104, and 1.88, respectively. Values for xs and xg are - 51 x 10e2 and 0.986. Thrust acceleration bounds are loweredto only 1.905 x 10e4”/ set - ‘. Scaled values [z = t(GM/a3)*] oft, and tf are 0 and 1.255.‘! The first three (angular velocity) components of the initial state have scaled values of 063, - 1.21, and 0.57. And the thrust acceleration scales to the value of 3.03 for each component. By using the method described in Section 4 for this example, the optimal control and trajectory of Figs 6a and 6b are obtained in five iterations. The fuel cost is 152 x lo- 3sec- 1 as opposed to l-70 x 10m3 set-’ obtained by Hales with his “extended method of steepest descent”. The cost of 1.52 x 10m3 set- 1 agrees to within less than one percent of the true t 2a = large axis of the elliptic orbit.
G.
570
-80 0
400 i-,
FIG.
60.
Optimal
angular
r,
z”
moo*!-1200
0
__._I_-_-_ 80
400
velocity
and control
120 0
response
0
1200
X10'
r,
80 0
400
X10'
T,
X!Ci
.040L 0
WOLSKE
X10'
7
0
D.
for low torque
example
_07j : 0
800
0
40
X10’
T.
120 0
x IO’
“F‘! ~~:~~~
-0
/ 60
15
0
403 r, FIG.
800
1200
_m
0
400
XIO1
6b. Optimal
T.
Euler parameters
for low torque
800 X10’
example.
1200
Minimum fuel attitude conirol of a non-linear satellite system
571
optimal cost of this trajectory which was initi~ly generated by backward integration of the adjoint and state differential equations. The second pulse for tij (shown in Fig. 6a) drifted between the position shown and a position at the terminal time for each new iteration without affecting the cost. Apparently the positioning of this pulse is not critical to the cost or terminal state constraints. In the simulation ofthis example, it is necessary to evaluate 8’ and #‘(from scaled versions of equations 30) for substitution into the right hand sides of equation (28a). Although the time varying dynamics of equation (28a) do not conceptually alter this method of solving for fuel-optimal controls, approximately 25 per cent more computing time is required per iteration because of the bulky right hand sides of equations (9) and (28a). One would probably only be interested in using such small thrust levels as those in this case if the satellite were to be engaged in long term experimentation with the necessity of using the acquisition system many times. It must be remembered that X, is dependent on X4, X,, and X6 and that the d,,{i, j = 1,2,3) are dependent on X4, X,, X6, and X7. Because of this, one must often make single or double application of the “chain rule” of differentiation in evaluating the Fii [see text following equation (9)]. For example, F,, is given as follows : F,,
+
+ 4
i
j,
j=l
In simulating the satellite dynamical equations and solving for the fuel optimal controls on a digital computer, several ideas are worth mentioning. It is important to integrate the dynamical equations exactly up to the time at which the control switches. If a switch is to occur within a given integration step, the step must be reduced appropriately. The linear programming was done by the Simplex algorithm. The components of &J/in equation (17) were assigned the value of -kx(ts) for the regulator problem with 0 & k < 1. k = 1 was found to give the best results in the later iterations of a problem. Because the convergence of numerical methods of computing optimal controls depends to a certain extent on the choice of a nominal control, the following rule [reference [2]) was usually employed to assign the polarity of the first pulse of each component of the nominal control. Sgn (first pulse Of Ui) =
7. AN APPROACH
-Sgn [X&)3 if X&J # 0 -Sgn EXi+,(t,)] otherwise; i = 1,2,3
TO THE MINIMUM
TIME PROBLEM
The algorithm described above can be used indirectly to solve for approximate minimumtime control histories for nonlinear time-invariant dynamical systems such as the hightorque equations described previously. In this section, a numerical example will be given along with a brief discussion of the minimum-time problem. Necessary conditions on the form of the time-optimal control state that each component of the control is of a “bang--bang” nature. (Although there is the possibility of singular controls as in the case of fuel optimal problems, no consideration is here given to these “singular” solutions). The time optimal control for each component of u(t) is thus a series B
512
G.
D.
W~LSKE
T
T
T
T FIG.
7a. Approximate time optimal; f, = 37 sec.
T
T
LL *N 0
24 67
12 33
37 00
T
T
30
0.50 I
f
5oL 0
T FIG.
7b. Approximate time optimal;
1233
24 67 T
t r = 37 set
3700
Minimum fuel
attitude control of a non-linear satellite system
573
025-
OZOi $ 015c, :: OIO-
0
20
100
40 ($2)
FIG. 8.
Fuel cost vs. final time with initial cond%ons
I20
a0
for run R-l : U,(t) = 0.206”/sec2.
of positive and negative pulses ofmagnitude Uj,j = 1,2, or 3, with no period of zero control between the pulses. The principal idea in solving for the minimum time control problem is to solve for the minimum fuel control for an arbitrary tf which is larger than the minimum time. With this solution, one can usually judiciously pick a smaller tf (near the time optimum) and repeatedly solve the problem. Each time a minimum fuel solution is found for a given tl, the value of tS is lowered and a new minimum fuel solution is found for this lowered value of tf. When a feasible solution for the control no longer exists, one assumes that the minimum time has been exceeded and uses the latest feasible solution as a good approximation to the minimum time problem. Since the optimal t, is not known apriori for a given set of initial conditions, one in general gets only an approximately time optimal solution. Care must be used in lowering the value of tS as the optimal tS is being approached because the amount of control effort required increases rapidly as the minimum tr is approached. An approximate minimum time solution with its associated control and state trajectories is illustrated in Figs. (7a) and (7b). The high torque dynamical equations are used for this example. The only variation in this example from the high-torque minimum-fuel example of above is that each control component is halved in magnitude to 0*206”/sec’. Values of 60 set, 45 set, 39 see, 37 set, and 35 set were chosen as better and better approximations to the optimal tP A feasible solution for the control with tJ = 35 set did not exist, hence tf = 37 set was taken as the approximate time optimal. Although Fig. (7b) has time intervals of zero control effort which lead one further to believe a true time optimal has not been reached, results are somewhat better than those of Hales and Fhigge-Lotz as Fig. 8 illustrates. They ran into convergence troubles for this example for values of tJ below 45 sec.
574
G.
8.
D.
WOLSKE
CONCLUSION
By utilizing the fact that the optimal-fuel control history for the non-linear control problems described in this report must necessarily be of a “bang--coast--bang” nature, an algorithm utilizing linear pro~amming has been developed which iteratively improves on a nominal control history. The algorithm is based on expressing the variationof the fuel cost and variations of the components of the terminal state constraints as linear functions of variations of the “switching times” of the control. In using the algorithm, the nominal control is expressed as a series of alternatively positive and negative pulses of control with intervals of zero control between each pulse. The magnitude of the pulses is equal to the bound on the magnitude of the control. The algorithm was tested on a non-linear system of differential equations describing (by Euler Parameters) the complete attitude motion of a satellite in elliptical orbit about the Earth. In the case where the control level was high relative to other terms in the dynamical equations. simplifications were made. but the basic non-linearities were retained. The algorithm gave solutions which compared well with solutions to identical examples obtained by other methods. This algorithm has the advantage that it is quite insensitive to choices in the nominal control compared to other methods. In the event the optimal control has several pulses for each control component, the Cliof equation (19) must be reduced toward zero (as the terminal constraints are being met) to guarantee convergence. Ifthis is not done, the control will oscillate around the optima1 solution without being exactly optimal. In situations such as this, it may be advantageous to switch to a second-order method (which usually depends on being initially at a nearly optimal solution) such as described in [4] to complete the convergence to a optimal solution. As in many other optimization techniques, there is no known way to verify that the solution obtained by this linear programming algorithm is globally optimal. This technique of solving for open-loop fuel optimal controls could be actually applied to a satellite system as follows : Measure the present state of the satellite and extrapolate to what the state will be (by integrating the dynamics equations) at some suitably distant time in the future if no control is being applied. The optimal control could then be calculated in the interim time before the calculated state is reached and applied to the satellite when the predicted state is reached. In doing this, however, it is to be noted that there is a possibility (remote) of noise disturbing the extrapolated state. Acknowledgement- I am particularly indebted to Stanford Applied Mechanics Professors I. Fliigge-Lotz and Arthur E. Bryson. Professor Fliigge-Lotz has been very helpful and encouraging throughout the work of which this report is a part and Professor Bryson was especially helpful .while Professor Fliigge-Lutz was on leave of absence. The financial support provided for by the National Aeronautics and Space Administration under Research Grants NsG 133 and NGR 05-020-007 is very much appreciated.
REFERENCES
ill
G. D. WOLSKE and I. FL&GE-L• TZ, Minimum fuel attitude control of a non-linear satellite system with bounded control by a method based on linear programming, SUDAAR No. 374, Stanford University, May 1969. fuel attitude control of a spacecraft by an extended I21K. A. HALES, 1. FL~GGE-LOTZ and B. 0. LANGE, Mined method of steepest descent, Int. 1. non-linear h4ech. 3, 413, 1968 (based on SUDAAR No. 257, Stanford University, California, January 1966).
Minimum fuel attitude control of a non-linear satellite system
575
[31D. D. OTTEN, OGO attitude control subsystem description, logic and specification, 2313-0004-RUOOO, Space Technology Laboratories, Redondo Beach, California, December 4, 1961. No. NAS 7-100, Jet [41PETERDYER and S. R. M~REYNOLDS, On optimal control probiems with di~ntinuities Propulsion Laboratory, Pasadena, California, 1967. (Received 3 September 1969) B&sum&-On s’intbesse ici au problkme du calcul du contr6le du minimum de fuel pour des mouvements I grand angle d’un systi?me satellist: pour lequel le contrble est obtenu par trois jeux de tuyitres fonctionnant par impulsions, chacun donnant URcouple par rapport &un des axes principaux d’inertie. En utilisant un r&&tat de la theorie du contrdle optimal on dbveloppe nn algorithme qui am&ore par it&ation une approximation initiale de la suite des contrBles qui ne v&ifie pas les conditions de I’ttat &al et (ou) ne minimise pas le co& de fuel. Pour utiliser l’algorithme, base sur la programmation lit&ire, il est n6cessaire d’exprimer la variation du coat de fuel et les variations des composantes du vecteur de contraintes ii Y&at final par des fonctions lintaires des variations du contrhle. On teste l’algorithme sur deux systkmes d’bquations diffkrentielles de satellite. Dans un cas on considere tousles effets dynamiques. Dans l’autre on peut nCgliger les effets du couple du gradient de gravitC et ceux du mouvement orbital en comparaison des imp&ions tlevtes des couples de contr6le. On decrit et on illustre une mtthode d’approche par r6currence des solutions du contrBle du temps minimum en utilisant cet algorithme de fuel minimum. On compare les r6sultats num6riques avec ceux obtenus par d’autres auteurs qti ont travail16 sur des exemples identiques. Zusammenfassung-Das hier behandelte Problem ist die Berechmmg einer Brennstoff-optimalen Steuerung fiir die grossen Winkel-Drehbewegtmgen eines Satellitensystems, bei dem die Steuerung mit Hilfe von drei Gruppen von Gas-Turbinen mit beschrinktem Schub erfolgt; dabei erzeugt jede ein Drehmoment urn eine der Haupttrlgheitsachsen. Unter Verwendung eines Ergebnisses aus der Theorie optimaler Steuerung wird ein Algorithmus entwickelt , der schrittweise zu einer Verbesserung einer urspriinglich erratenen Liisung (nominell) fiir den Steuerungsverlauf, der keinen Endbedingen unterworfen ist und der die Brennstoffkosten nicht minimalisiert, fiihrt. Fiir die Beniitzung des Algorithmus, der auf linearer Programmierung aufgebaut ist, ist es notwendig, die .&derung der Brennstomtosten und die iinderung in den Komponenten des Beschr%nkungsvektors im Endzustand als lineare Funktionen von hderungen in der Steuenmg auszudriicken. Der Algorithms wird an zwei Gruppen von Diff~entialgleich~gen fii Satelliten gepriift. In einem Fall werden alle dynamischen Effekte in Betracht gezogerz Da die verfiigbaren Drehmomente fiir die Steuerung im zweiten Fall gross genug sind, ist es hier miiglich, die durch Gravitationsgradienten bewirkte Effekte auf die Drehmomente und Bahnbewegungseffekte zu vemachliissigen. Eine Verfahren fiir die rekursive Annlherung von Minimal-Zeit-L6sungen fiir die Steuerung unter Benutzung dieses Minimum-Brennstoff-Algorithmus wird beschrieben und erliiutert. Die numerischen Ergebnisse werden mit denen anderer Autoren, die dieselben Beispiele berechnet haben, verglichen. hIWOT~l&rtji-OCHOBHbIM BOIIPOCOM CTaTbM RBJINBTCFI ICaXO?K~E!HHe OIITRMe.JIbIiOti II0 OTIIOIIIeIIMIO K Ha3~~eHb~e~y paCXORyTOnjillBapefynRqallA~R6OjIbUlHX ~r~OBnO~~e~ftaElCCIFYCTBeIrHbIXCaTejmIITOB,B ~OTOp~Xper~~~~~I~ OCy~eCTB~~eTC~TpeM~ COII~a~~~ PeaHTIlsHbIXABElFaTene~ C OrparI~q~xBZUO~II~H 3aC~OH~aM3~, fi‘a?+QbIti 313 HOTOPbIX CO3gaeT MOMeHT II0 OTHO~eH~~ K OAHO@ a!.3 r.?aBittbIx OCeti HHepU3tH. ~CIIOJIbaj7? peSy.EbTaTbI IIOJIyYeHHbIe 333 IICCJIe~OBaffMR OIlT3lMaJLbHOrO perynq>OIraiixea TaRoti anroprt@r, IFOTOpbIfi IITepaqIIOHHO IIOnpaBJIReT 3aHaHHbIe R ilaYaJle RaHMR, HOMLlIIaJIbHbIeIIapaMeTpbI rIpOJ.WCa peryJIHI~I411, KOTOpbIe He BCTpeWOT 0rpaH3lYeHHbIX CBH:leZiII He M3IHIN3K33IpyIOT C CTOLlMOCTLi rOpIOYer0. rIpI IIpMMeHeHLllt anrOp3i~Ma OCHOBaIIHOrO I,a JI3IHetiHOMItpOrpaMMHpObaH3i34HeO6XO~3IMO BbI~~3I~TbH3M~H~H~IIRCTOMMOCTM~O~H)~~~OIIM3M~H~tII~~ CBRRRMCI I
rf