## State Estimation Attitude Determination Methods

13.1 Deterministic Versus State Estimation Attitude Methods

13.2 State Vectors

Slate Vector Elements, Choosing State Vector Elements

13.3 Observation Models

13.4 Introduction to Estimation Theory

13.5 Recursive Least-Squares Estimators and Kalman Filters Recursive Least-Squares Estimation, Kalman Filters

It became clear at the end of Chapter 11 that some method of dealing with multiple parameters is necessary to obtain accurate attitude estimates. In this chapter, we summarize the basic procedures normally used for handling this problem. State estimation methods of attitude determination use the partial derivatives of the observables with respect to various solved-for parameters to correct an a priori estimate of these parameters. The collection of solved-for attitude parameters is called the state vector. The process of determining the state vector elements is variously referred to as state estimation, differential correction, or filtering. Section 13.1 summarizes the state estimation process. Section 13.2 discusses the concept of the state vector and how it should be constructed. Section 13.3 describes how observations are handled in the state vector formulation. Finally, Sections 13.4 and 13.5 summarize the mathematical methods for carrying out the state estimation process.

13.1 Deterministic Versus State Estimation Attitude Methods

### James R. Wertz

In Chapters 11 and 12 we have been primarily concerned with deterministic attitude methods in which the same number of observations as variables is used to obtain one or more discrete attitude solutions. In contrast, state estimation methods of attitude determination correct successive estimates of attitude parameters as illustrated in Fig. 13-1 for an estimator which processes one observation at a time. Here, as introduced in Chapter 10, Lp and Lv are the attitude loci corresponding to the Sun angle measurement, /?, and the nadir angle measurement, tj, and the state vector, x, consists simply of the attitude, (a,S)T.* The initial estimate of x is x0=(a0,50)T. After processing the Sun angle information, P, the state estimate is shifted toward Lp to x,. The amount of the shift depends on dx/d/? and the uncertainties in Xg and p. After processing the -q measurement, the state vector is shifted toward L^ to x2. The process can continue with additional measurements.

*ln Sections 13.1 through 13J, it is sufficient to regard the state vector as simply a collection of variables. The notation (a,fi)T is used because in later sections the state vector will be regarded as a column vector for matrix manipulations.

Fig. 13-1. Differential Correction Process. (See text for explanation.)

In state estimation methods, neither the number of solved-for attitude prarmeters nor the number of attitude observations is important as far as the process itself is concerned. (If the number of observations is less than the number of solved-for parameters, some combination of the unknowns will retain their a priori value, or, in some cases, an algebraic singularity will result.) In Fig. 13-1, we can obtain an answer after processing only a single observation, e.g., /3, or we can process 1000 observations. Similarly, we can solve for the two-component attitude of Fig. 13-1 or any number, N, of parameters incorporated into an ^-dimensional state vector. In general, the state vector and the various attitude estimates (i.e., estimates of the values of the N parameters) will be vectors in an ^-dimensional phase space. The most common state estimator is the least-squares filter,* which minimizes the square of the difference between the observations and the calculated results.

In state estimation processes, there are two basic ways to update the state vector. If a new estimate of the state vector is obtained after each observation, the process is called a sequential estimator, or recursive estimator, as illustrated in Fig. 13-1. If the partial derivatives for all the observations are processed and then combined to produce a single update to the state vector, the process is referred to as a batch estimator. Generally, the sequential estimator will be more sensitive to individual data points than will the batch processor, that is, the sequential estimator may converge to a solution more quickly but be less stable than a batch processor. It is also possible to combine batch and sequential methods and update the state vector after some intermediate number of observations has been processed.

Both state estimators (either batch or sequential) and deterministic processors have advantages and disadvantages. The deterministic method nearly always

•The word filter is applied to any process which sorts oat high-frequency noise from the low-frequency information—for example, the slowly varying nadir or rotation angles. Much of the language of filtering theory comes from electrical engineering, where much, of the analysis was initially done.

provides a solution and,requires, at most, a very rough a priori estimate of the attitude. The methods and results are easy to interpret physically and geometrically. However, it is both cumbersome and algebraically difficult to model biases, a time-varying attitude, or other attitude-related parameters with deterministic processors. Large quantities of data are difficult to combine with the proper statistical balance in a deterministic processor, which is of particular importance where very accurate attitude solutions are needed.

In contrast to the deterministic processor, state estimation can provide statistically optimal solutions. Expanding the state vector to represent a large range of attitude parameters, such as biases, orbit parameters, or time-varying coefficients, is relatively easy. (We may also use physically meaningless parameters as state vector elements for numerical convenience.) However, state estimators may diverge and provide no solution at all. They may require a dynamic model or a more accurate estimate of the a priori attitude than do deterministic methods, and their increased flexibility and sophistication means that interpreting the physical or geometrical meaning of the results may be very difficult.

In practice, both solution methods are frequently used in a complementary fashion. For spinning spacecraft, a deterministic processor solving only for the attitude is often used to obtain an a priori estimate for a state estimator, which then corrects on an expanded state vector including biases or attitude drift parameters. Results are then confirmed by returning to the deterministic processor to verify that systematic errors have been eliminated. (See, for example, Section 11.5.)

As with deterministic processors, the attitude accuracy for state estimators should be independent of the choice of numerical procedure for handling the data, provided statistically correct ways of combining the data are used. For example, we may use either spherical trigonometry or vector algebra to compute the estimated state vector elements. We can lose information by choice of a particularly poor technique; however, no technique, no matter how clever or sophisticated, can obtain more real information than the statistics of the data will allow. Determining that all of the information content has been obtained from a particular segment of data in a state estimator is not necessarily easy. Generally, this is tested empirically —if different statistical methods and different processing techniques produce essentially the same results, then we assume that we have extracted nearly all of the information in the data. When we discuss fundamental limits to attitude accuracies throughout Part III, we assume that, in general, all processing methods are equivalent in terms of the accuracy obtainable, although the processing efficiency may vary greatly.

13.2 State Vectors

### Steven G. Hotovy

As the name implies, a state vector deals with the state, or condition, of some situation; this situation is referred to as the process* For our purpose, the attitude process consists of all of the parameters which define or affect the spacecraft

*A wide body of literature exists which gives an introduction to state vectors with varying degrees of sophistication. See, for example. Deutsch H965J, Bryson and Ho [1969], and Schmidtbauer, et al„ [1973].

attitude and the interrelationships between them. The state consists of the values of these parameters at any one time.

The three elements necessary to define the attitude process are described below:

1. The state vector, x, is an /m-dimensional vector which includes all of the variables necessary to permit accurate attitude determination. It may include such factors as sensor biases and misalignments, attitude propagation parameters (which may include the attitude itself), and orbital parameters. The state vector elements may be constant for the processing interval (e.g., biases and misalignments), or they may be time varying (e.g., the quaternions described in Section 12.1). In the latter case, the propagation of the state vector is given by the differential equation

2. The observation vector, y, is an «-dimensional vector composed of sensor measurements. These measurements may involve direct Sensor readouts, such as event times from a Sun sensor, or observations in some processed form, such as Earth-width data obtained from a wheel-mounted horizon scanner.

3. The observational model vector, z, is an «-dimensional vector composed of predicted values of the observational vector based on estimated values of the state vector elements, i.e., z=g(x,/) (13-2)

The observation model vector is frequently based on the hardware model of the sensor which is providing the corresponding observation.

The way in which these three vectors are used to obtain an estimate of the state vector depends on which state estimation technique is being used, as discussed in Section 13-4. In general, however, for a given estimate Xg of the state, the observation model vector Zg is determined, and then compared with the observation vector y0. A new estimate of the state x, is then selected to minimize, in some sense, the difference between y0 and Zg. The batch estimator, introduced in Section 13.1, repeats the cycle with the new estimate x, of the state but with the same observation vector, y0; a recursive estimator does the same with a new observation vector y„ as well as the new state estimate, x,.

### 13.2.1 State Vector Elements

The state vector should include those elements which are necessary to allow determination of the spacecraft attitude with sufficient accuracy, using sensor data of varying quality. These elements may be grouped into three main categories: (I) sensor-related parameters, (2) orbital parameters, and (3) attitude propagation parameters (which may include the attitude itself).

Among the most important parameters to include in the state vector are those relating to sensor performance. With each type of sensor is associated a collection of biases which may affect their performance. An extensive list of these biases and misalignments may be obtained from the mathematical sensor models descried in Chapter 7. These biases may remain constant for the life of the mission, such as a bolometer offset for a horizon sensor, or may be time varying, such as magnetometer residual biases and drift parameters for a gyroscope.

Orbital information is necessary for attitude determination whenever the sensor supplying the data produces a measurement which depends on spacecraft position in the orbit (such as horizon scanners and magnetometers). Although any of the orbital parameters could be included in the state vector, the orbital in-track error, which measures how far the spacecraft is behind or ahead of its anticipated position, is the most common because it is frequently the largest source of error and because it is easily modeled by obtaining the spacecraft ephemeris at a time offset from the nominal time.

The third category of state vector elements consists of attitude propagation parameters. The choice of these parameters is based on whether the propagation model being employed includes dynamics. In a kinematic model, the elements of the state vector relating to attitude propagation do not include internal or external torque parameters, and the modeled attitude of the spacecraft at any time in the interval of interest, A(/), can be calculated directly from the state vector elements, i.e.,

In a dynamic model, some elements of the state vector may include torque-related parameters, and the modeled attitude of the spacecraft at any time in the interval of interest is determined by integrating the equations of motion. In some estimators, the quaternions and body rates are themselves considered part of the vector, and in this case the modeled attitude is determined from the state propagation equation (Eq. (13-1).)

An example of a simple kinematic model is the one used for attitude determination for the SMS-2 spacecraft [Chen and Wertz, 1975]. For this model, it is assumed that the spacecraft spin axis remains inertially fixed and that the spacecraft rotation remains constant over the interval of interest. The state vector elements relating to attitude propagation are

This model is appropriate for a spin-stabilized spacecraft which is expected to encounter only small torques (either environmental or control) during the interval of interest This attitude propagation model was assumed in the development of several of the attitude hardware models of Section 7.

An example of how a state vector can be expanded is provided by examination of the SAS-3 attitude determination system [Rigterink, et al., 1974]. SAS-3 is a spin-stabilized spacecraft for which the constant attitude model described above is appropriate. Therefore, the state vector should minimally contain the right ascension and declination of the spin axis and the spacecraft angular rate. In addition, a magnetometer triad provides data which are used to compute the spacecraft attitude, but the attitude solution accuracy requirements demand compensation for the magnetometer misalignments, residual biases, and errors in the calibration

a = right ascension of spin axis

S=declination of spin axis to=spacecraft rotation rate about the spin axis

13.2 state vectors 441

curve. Expanding the state vector, x, to include these elements gives x = (a,S,u>,9,^0,f,b)T (13-5)

where 9 is the colatitude of a given component of the magnetometer triad in spacecraft coordinates, <l>0 is the corresponding azimuth, / is the slope of the magnetometer calibration curve, and b is the residual bias.

Another kinematics model, useful for three-axis stabilized spacecraft, was developed for the GEOS-3 mission [Repass, et al., 1975], GEOS-3 is an Earth-oriented, gravity-gradient stabilized spacecraft; thus attitude information is most conveniently expressed in pitch, roll, and yaw angles. It is assumed that each of these angles can be expressed adequately in terms of an initial value and a fixed rate of change for a suitably chosen timé interval. The elements of the state vector relating to attitude propagation are as follows:

p — initial pitch angle p = pitch rate r — initial roll angle r — roll rate y = initial yaw angle j>=yaw rate

The pitch, roll, and yaw angles at time t are p(t)=p+pM r(t)=r+rAt y(t)=y+yfr where At is the time since the beginning of the interval of interest. GEOS-3 has a three-axis magnetometer triad which is subject to both misalignment errors and residual biases; the misalignment is expressed by the three angles 9X, 9y, and 9t between the true magnetometer placement and the spacecraft x, y, and z axes, respectively.

Thus, the complete state vector becomes x=(p,p,r, r ,y,y, ffj, 9}, 0}, 0?, 0}, Of, 9?, 0?, 0?, b„b2, b3)T (13-8)

where 0* refers to the y'th magnetometer and bj is the residual bias on the y'th magnetometer.

An example of a state vector which incorporates a dynamics model is that of the Nimbus-6 attitude determination system [Lefferts and Markley, 1976]. Attitude determination and control hardware on Nimbus-6 consisted of a horizon scanner, four two-axis Sun sensors, and four reaction wheels. The onboard control system continuously varied the reaction wheel rates (and, hence, the body rates) to maintain the near-nominal attitude of zero pitch, roll, and yaw. For this reason, it was felt that no kinematics model would approximate the spacecraft attitude with sufficient accuracy. The state vector elements relating to attitude propagation were

initial estimates of the quaternion, q=(qpft'ft'ft)1» anc* initial estimates of the spacecraft angular velocity, <o=(wJ,,w>,,wl)T. The attitude is propagated using the spacecraft equations of motion (Section 16.1). The torque terms in the equations of motion included control system parameters consisting of the moments of inertia of each wheel (m„m2,m3,m4) and a constant bias on the speed of each wheel (s,,s2,s3,s4). The torque terms also include environmental torque parameters, which include constant torques in body coordinates (cx,cy,cz) and the spacecraft magnetic dipole in body coordinates (dx,dy,d2). Thus, the state vector has the following 21 elements:

x=(9i'92'93'94«w*.«^»Wz.wl,m2,m3,wi4,J1,J2,J3,j4,c,,crc2,</,,</r</l)T (13-9)

Dynamics models are most useful when control system operation or significant external torques make kinematic modeling impossible or when highly accurate attitude solutions are required.

### 13.2.2 Choosing State Vector Elements

For a complex satellite containing sophisticated attitude determination and control hardware, there are potentially hundreds of state vector elements. Large state vectors are undesirable for several reasons. Two or more elements of the state vector may have nearly the same effect on the data and therefore be redundant and difficult to distinguish. For a given pass of data, only a limited number of state vector elements can be solved for, and the selection of the solved-for parameters is more difficult for large state vectors. Finally, from a computational standpoint, programs involving large state vectors are more difficult to develop and test, more unwieldy to operate, and require more computer time and storage to execute. Therefore, guidelines concerning the selection of state vector elements for a particular application are needed. Specifically, the state vector should include all elements that satisfy the following criteria at some time in the mission:

1. It significantly affects the observation model vector relative to changes in the attitude.

2. It represents a physically real quantity.

3. Its value remains nearly constant over an interval of interest or it is propagated in a dynamics model.

It may be necessary to include additional parameters that do not represent physically real quantities, such as coefficients of polynomial approximations. Therefore, the number of state vector elements can be quite large. However, for a given set of data, the number of vector elements actually solved for can be reduced by constraining the remaining elements to the best estimate of their values. (This topic is addressed in detail in Section 14.3.)

One factor which affects the three criteria for selection of a state vector element is the accuracy requirement of the attitude solution. The "significance" of the effect of a parameter on the observation model vector is relative: what is insignificant when larger attitude uncertainties are permitted may be significant when highly accurate attitudes are required. The "constancy" of the value of a parameter over an interval of interest is also relative: slight variations in the value of a parameter can be tolerated for less accurate attitude solutions or short time

0 0