LxBiD98

Here, the components of D orthogonal to s have been expressed in the form s X D. The disturbance torques along s can only produce small fluctuations in the magnitude of the angular momentum vector, L=Ls, and therefore have minimal effect on the attitude dynamics. The disturbance torques along the spin axis have been neglected in Eq. (19-18), and L is assumed to be constant.

The attitude dynamics constraint can be directly incorporated into the optimization integral by introducing three Lagrange multipliers represented by the vector A. Thus,

Integrating by parts the (ds/dr)°A term gives y = s1.A(il)-S2A(i2) + ^'J[M2 + Sx(^B+lD)A + s dr (19-20)

The conditions under which J is at an extremum (maximum, minimum, or stationary) are obtained by requiring that the variation of the integral resulting from infinitesimal changes in the path along which the system evolves (from the state [5j,w(/|)] to the. state [j2, w(/2)]) must vanish identically; i.e., the partial derivative of the integrand with respect to u and the gradient with respect to s must be zero. Thus, for energy optimization, the following conditions must be satisfied:

In writing Eq. (19-22), it has been assumed that the disturbance torques are independent of the attitude over the range of the integral. This assumption is valid for maneuvers involving small arc motions, but becomes questionable for large maneuvers.

Equation (19-21) shows that the component of A along s has no effect on the coil state u and, hence, does not influence the path of the system in the [s(0tu(')] space. Also, Eqs. (19-18) and (19-22) correspond to precession of both A and s about the instantaneous force field OTquB+D with the instantaneous angular frequency (m0uB + D)/L. (See the discussion following Eq. (19-6).) Therefore, A and s maintain constant magnitudes and the angle between them remains fixed. Thus, without loss of generality, the constant angle between s and A may be set equal to 90 dejg. To underscore this fact, let us define a unit vector, q, which is 90 deg ahead of A in the plane normal to s, q=s XA (19-23)

Because q differs from A only in a phase angle, it obeys the same dynamic equation

Equation (19-21) can now be rewritten in terms of s, q, and A, using sxB-A = -Sx A-B, as mJa

Thus far we have assumed that u is a continuous variable. For most missions, the coil current can be set to only a few levels and the appropriate magnitude is easily selected on the basis of the amount of arc motion desired, so that the only commands to be computed are coil-on, coil-off, and polarity selection. This corresponds to three possible values of u, namely, u = 1, 0, or - I. Under these conditions, exact energy optimization cannot be attained. Heuristically, the closest approach to energy optimization will be to replace Eq. (19-.25) by the following set of rules. For any time, /, in the maneuver interval, set

Equations (19-17) and (19-18) determine the satellite attitude history and Eqs. (19-23), (19-24), and (19-26) provide the framework for obtaining the desired coil state history. However, Eq. (19-26) is not deterministic because X is a free parameter. Also, Eq. (19-23) does not fix the initial phase (t/>9) of q in the spin plane. Equation (19-26) shows that parameters, X, <j>q have a strong influence on the coil state history. Whenever the maneuver is feasible, there will be paired sets of values of (X,^) which allow the desired attitude to be reached. The feasible values of (X,«^) then parameterize the paths for which the integral J is close to being extremum. Among these paths, the one requiring the least amount of coil-on time is the minimum energy path and the corresponding coil commands are the energy optimal commands.

To obtain the minimum maneuver time commands, note that in Eq. (19-26) if J /X = 0, then the coils will always be on in either the positive or the negative sense. As before, more than one "nearly extremum" path is possible. However, they need now be labeled by only one parameter, Thus, the generation of commands for minimum time maneuvers involves only a one-parameter search.

A byproduct of the minimum time maneuvers is the determination of the final attitudes that can be obtained as the parameter <f> is varied. Thereby a boundary can be generated about the initial attitude sucn that all attitudes within this boundary will be attainable within the prescribed time. The attitude within the boundary that is closest to the desired attitude can be determined and the corresponding minimum time commands can be generated. Thus, a single algorithm can be used for minimization of time, energy, or arc-length error. Details of the implementation of this algorithm are given by Werking and Woolley . 19.2 Spin Plane Magnetic Coii Maneuvers

Mihaly G. Grell Malcolm D. Shuster

The main function of a spin plane magnetic coil is to control the magnitude of the spacecraft total angular momentum, which we will call simply the momentum.

On most spacecraft, orientation and momentum control are handled separately by dipoles mounted along the spin axis for orientation control (Section 19.1) and dipoles mounted perpendicular to the spin axis for momentum control. However, orientation and momentum control can be strongly coupled in spin plane magnetic coil maneuvers. For low-inclination orbits, where the spin axis is closely aligned with the geomagnetic field vector, the spin axis coil is inefficient and the spin plane coil may be a better choice for both momentum and attitude control. Spin plane magnetic coil maneuvers can be carried out on both spinning and despun spacecraft, although the types of commands are different for each.

A spinning spacecraft is controlled by turning the magnetic coil on and off and by changing its polarity twice per rotation period at constant phase angles relative to the geomagnetic field vector. This mode of operation is called commutation. The phase angle of the magnetic dipole relative to an appropriate reference axis at which the polarity is changed is called the commutation angle, if/. The polarity is changed at angles if/ and \p + ir. (All angles in this section are in radians.) This control mode is flexible because both momentum and attitude can be changed in any direction within the torque plane, i.e., the plane normal to the geomagnetic

The inertial coordinate system in which the magnetic control torque is most easily calculated is shown in Fig. 19-3. Here s is the spin _ axis and B is the geomagnetic field vector. We define an orthonormal triad i, j, k, which is assumed field.

to be fixed for one spin period by k = B, Fig. 19-3. Coordinate Systems for Determining Magnetic Control Torques

In this system L=Ls=L(-sin0j+cos0k). A magnetic dipole, m, in the magnetic field, B, produces a torque, N, given by

Then m= m(cosif'i + sini{'cos0j + sini{'sin0k) and, if the dipole is perpendicular to the spin axis, Eq. (19-27) can be expressed as

The geometry is shown in Fig. 19-3.

If the dipole polarity is reversed every half rotation, the average torque. <N>, for a full spin period is

and the angular momentum change, AL, of the spacecraft in the time interval. A/, is

where we assume that A/ is an integral multiple of the spin period.

Equation (19-29) shows that the available angular momentum changes form an ellipse in the plane perpendicular to the geomagnetic field vector, B. We may think of both orientation and momentum maneuvers as simply changing the spacecraft's angular momentum vector, L; specifically, attitude maneuvers change the direction of L, or the spin axis, s, and the momentum maneuvers change its magnitude.

19.2.1 Momentum and Attitude Maneuvers

Given the geomagnetic field and the initial target angular momentum vectors (Lj, and Lr), we wish to generate a set of commands which may be used to carry out the maneuver. The commands consist of coil-on and coil-off times and commutation angles, which are kept constant for the duration of each command. In addition, we may wish to minimize the number of commands to achieve Lr or to minimize coil-on time for energy minimization. We will assume that new commands are generated every n minutes; that each command. /, results in a change, AL,; and that t is the tolerance on Lr.

The goal is to determine the optimal commutation angle for each command and the times at which the coils are to be turned on and off. As a first approximation, we will pick the most favorable commutation angle at some point of each command interval and keep this angle constant. The most favorable commutation angle depends on the type of maneuver. We consider four maneuver types: Type 1. Achieving the target momentum regardless of attitude changes Type 2. Achieving the target attitude regardless of momentum changes Type 3. Achieving attitude and momentum objectives simultaneously Type 4. Achieving the target attitude without a significant change in momentum (this is a special case of type 3) Type I maneuvers can be achieved by maximizing the y component of AL, i.e., by choosing \p = ± w/2 in Eq. (19-29), with the sign chosen to increase or decrease the momentum. Specifically,

When the angle, 0, between L and B is small, type 1 maneuvers are inefficient because of small momentum and large attitude changes. To avoid inefficient operation, the magnetic coil should be turned off whenever 8 < 0,im. The maneuver is terminated and the coil turned off when

Type 2 maneuvers are somewhat more complicated. Let Q be defined by

Q = L X (LT X L) = Lj-L2 [ LT - (L • LT)L ] (19-32)

Q lies in the (L,Lr) plane and is perpendicular to L.

For type 2 maneuvers, the best performance occurs when AL is in the torque plane such that (N)-Q is a maximum. Using Eq. (19-29), Q-AL is a maximum when a(Q AL)/a^ = 0 and 92(Q AL)/8^2<0, or tf/ = arc tan j Q

From the two solutions for \p, we pick the one for which AL Q>0.

By introducing an efficiency angle, fUm, the magnetic coil is turned off whenever

QAL<cosfUin (19-34)

As in the type 1 maneuver, this conserves spacecraft power when the torque is small because the angle between B and m is small. The maneuver is complete when

For type 3 maneuvers we choose AL such that AL-(Lr- L) is maximized, from which we obtain

From the two solutions for <//, we pick the one for which AL-(Lr—L)>0. For efficient operation, the magnetic coil is turned off whenever

The maneuver is complete when

For type 4 maneuvers, there are two directions in the torque plane, ip = 0 and i(/ = ir, which are perpendicular to the current angular momentum vector and, therefore, change only the orientation and not the momentum magnitude. The direction is chosen for which AL (Lr— L)>0, that is,

^ = | {1 + sign [i • (Lr - L)cos 8]} (Type 4) (19-39)

For the efficiency angle and the convergence limit, the same parameters can be used as for type 2 maneuvers.

After the commutation angle has been determined, it must be translated into a hardware command. This can be done using the measured magnetic field directly as on SAS-3 [Gambhir and Sood, 1976] or using an Earlh horizon sensor, as on the AE series [Phenneger, et a/., 1975]. In the latter case, the commutation angle is referenced from the nadir vector, whose orientation is sensed onboard: in this case, an extra rotation angle, <J>, is added, which is measured from the nadir vector. E, to the i axis, as shown in Fig. 19-3.

19.2.2 Optimal Command Procedures

The above discussion is valid for fixed reference vectors. Because the magnetic reference vectors and, consequently, the optimal commutation angles are continuously changing, the commutation angles computed at any time i do not remain optimal for the duration of the command. To achieve a solution which is more nearly optimal we perform instead a discrete sequence of commands, each lasting for a specified time interval.

Let us suppose that at each time /,. /'=l,...,w, a commutation angle <//, is chosen and maintained until the lime At some final time, /n+1, the magnetic coil is turned off and the maneuver is completed. The final angular momentum L will be a function of these commutation angles, i.e.,

where <p denotes the w-dimensional vector The goal of any spin plane magnetic coil maneuver is to bring L (or some function of L) as close as possible to the target momentum Lr (or some function of Lr). We can obtain this by requiring that the fy be chosen to minimize a loss function, F(\p), or maximize a gain function, appropriate to the particular maneuver type. For type 1 maneuvers, F(t) has the form

/",(i/>) =( L(if/) — Lr)2 = Minimum (Type 1) (19-41)

Here the objective is to minimize the difference between the magnitudes of the target and actual angular momenta. For type 2 maneuvers, we wish to minimize the angle between the target and the actual angular momentum vectors. Thus.

For type 3 maneuvers, we wish to minimize the norm of the difference vector between the target and the actual angular momenta; thus,

F3(iJ/) =(L(ip) — Lr)2 = Minimum (Type 3) (19-43)

Finally, for type 4 maneuvers, no optimization is required because the objective is met by selecting the commutation angles to be 0 or v.

Having chosen a maneuver type, the next step is to find the solution of the optimization function, F. Although various nonlinear programming techniques can be applied (see Sections 13.4 and 13.5), we will use the gradient search method to obtain an iterative solution. An initial guess is first obtained. This may be done.

for example, by choosing the instantaneous solutions of Section 19.2.1 evaluated near the midpoint of each command interval. The function F decreases or increases most rapidly when ^ is varied along the gradient, V Fty), of F in ^-space, defined by (see Appendix C):

Thus, subsequent iterations for if/ are chosen by

where A is a constant selected by trial and error to make the iterations converge as quickly as possible. If X is too large, the iterations may oscillate and never come very close to the optimal solution. If X is too small, the iterations approach the optimal solution only very slowly.

A nearly optimum value of X may be determined by performing an iteration sequence up to some given order, computing the final loss value for each X, and then extrapolating to the optimum X, which minimizes the loss function. At least three trials for different values of X will be necessary because a two-point extrapolation is a straight line and has no minimum or maximum. Once this optimum X is found, the iteration is performed once more to determine the optimum

To calculate the gradient vector we note that F(\p) depends on if> only through L(«f<); that is,

Hence,

where VL denotes the gradient with respect to the three components of L. For example, for a type 3 maneuver (Eq. (19-41)),

To determine dL/3^, we note that the final angular momentum, L(^), may be written

¡=i where AL, is the angular momentum change in the time interval from f, to t,+ (Actually AL, depends on all previous commutation angles and not on t/>, alone.) Using Eq. (19-49), we have

If AL. and the attitude do not change greatly during this time interval, the quantity above may be determined from Eq. (19-29). Otherwise, it may be approximated from the quotient of differences as