Document Sample

AIAA-2004-6018 Kalman Filtering and the Attitude Determination and Control Task C1C Matthew J. Hale*, Dr. Paul Vergez‡ and Maarten J. Meerman§ USAFA, Department of Astronautics, USAF Academy CO 80840 Dr. Yoshi Hashida† Surrey Satellite Technology Ltd., University of Surrey, United Kingdom The attitude determination and control subsystem requirements of various payloads on the FalconSAT-3 satellite are stringent enough to demand some type of data processing in order to meet attitude determination requirements. This paper details one data filter, the Kalman filter, and more specifically, the 7-state and 6-state Kalman filters. Both filters prove to meet the attitude determination requirements successfully with little difference in achieved accuracy. However, the 6-state filter places much less computational demand upon the on-board computer. Based upon this data, the 6-state filter is a more logical choice for the FS3 attitude determination and control subsystem filter. However, there is still much analysis that needs to be completed before a final verdict might be reached. This paper examines both of these Kalman filters from a theoretical standpoint before examining practical implementation and concerns therein. Nomenclature Ax = attitude matrix (transition matrix) I = inertia tensor N = disturbance torques P = covariance matrix qn = quaternion TBYLO = attitude matrix (transition matrix) x = propagated “x” vector ˆ x = corrected “x” vector x = state vector q n = differential quaternion = differential angular rate I By = Euler body rates wrt. inertial, x y z t Lo I = Euler local orbital rates wrt. inertial, ox oy oz t o = mean motion of the Earth, 0 o 0 t * Cadet First Class, Department of Astronautics, PO Box 4008 USAF Academy CO 80841. ‡ Professor, Department of Astronautics, USAF Academy CO 80840. AIAA Associate Fellow § Schriever Professor, Dept. of Astronautics, USAF Academy CO 80840. AIAA senior Member † Chief ADCS Engineer, Surrey Satellite Technology Ltd., Guildford Surrey GU2 7XH, United Kingdom. 1 American Institute of Aeronautics and Astronautics I. Introduction I N 1990 the Space Systems Research Center (SSRC) was founded to enable cadets at the United States Air Force Academy to fully experience the complexity of satellite design, construction, and operation. After several successful balloon-based upper atmosphere experiments, SSRC initiated the development of operational satellites for Air Force research experiments. In 1997, SSRC‟s FalconGold satellite bore a GPS Signal Experiment into an elliptical orbit above the GPS constellation. FalconGold successfully completed its mission of collecting data showing that GPS signals can be received above the GPS constellation and be utilized for orbit determination. FalconSAT-1 was launched in 2000 to assess the hazards of spacecraft operations in the wake of larger bodies. However, an in-orbit power failure prevented the successful completion of this mission. FalconSAT-2 was designed to gather data concerning the effect of upper-atmospheric plasma bubbles upon GPS signals. Originally designed for a 2003 launch in conjunction with the Space Shuttle Hitchhiker program, the satellite is currently being re- engineered for an alternate launch vehicle due to the probable cancellation of the Hitchhiker program. FalconSAT-3 (FS3), SSRC‟s current satellite design endeavor, is a 50 kg microsatellite being developed by cadets and faculty at the Air Force Academy. FS3 will carry several experimental payloads to conduct DoD research. One of these, the Micro Propulsion Attitude Control System (MPACS), is an attempt to demonstrate pulsed plasma thruster (PPT) propulsion technology. The Flat Plasma Spectrometer (FLAPS) and the Plasma Local Anomalies Noise Environment (PLANE) experiments are further attempts at characterizing the local plasma environment. A shape memory composite gravity gradient boom and a shock ring vibration suppression system comprise the final two experimental payloads of FS3. The satellite is scheduled to be launched in the Fall of 2006 for a projected design to end-of-life cost of approximately $2 million. II. FS3 ADCS Architecture The primary challenge for the FS3 Attitude Determination and Control System (ADCS) team is to develop the software and techniques necessary to achieve the derived attitude control requirements. As it turns out, the FLAPS experimental payload has the most stringent ADCS requirements, demanding attitude control to within five degrees of the ram direction with respect to the local orbital frame, as well as attitude knowledge to within one degree. FS3 is the Air Force Academy‟s first attempt at achieving three axis attitude control. FS3 attitude sensors include one Billingsby Fluxgate magnetometer and 4 AeroAstro medium sun sensors. In conjunction with on-board software (some of which is detailed in this paper), these sensors will provide sufficient attitude knowledge to meet the derived requirements. Attitude actuators include a gravity gradient boom for passive attitude control, as well as three magnetorquers for active attitude control. The boom is a 2.84 meters long (to the center of gravity) composite thermal boom with a 7.8 kilogram tip mass, creating a transverse moment of inertia of 67.4 kg-m-s2. As part of the ADCS task, a Kalman filter will be implemented to process sensor attitude date. Generally speaking, the Kalman filter is a recursive optimization algorithm that generates an estimate based upon potentially noisy observation data. At the most basic level, the Kalman filter is fundamentally an optimization problem that can be applied across many disciplines to predict the behavior of systems. In astronautics, the Kalman filter is often Figure 1. EKF Mechanics, One Measurement implemented to simplify and expedite the ADCS task. For FS3, the filter must balance ADCS sensor measurements with the expected attitude generated by an on-board orbit propagator. For several reasons, the Kalman filter is implemented in this process rather than other filtering techniques. Due to on-board computer (OBC) 2 American Institute of Aeronautics and Astronautics limitations, data must be cyclically processed and discarded, rather than being stored for access during each estimation iteration as with other filtering techniques. The Kalman filter is ideal for processing large amounts of data in this fashion. Attitude determination presents another difficulty that is addressed by the Kalman filter. In the attitude determination task, three independent reference parameters are needed to determine attitude. Each vector measurement provided by the satellite sensors yields two reference parameters. Therefore, the typical requirement for three-axis attitude determination is two vector measurements. Attitude determination with two measurements is overdetermined while attitude determination with one parameter is underdetermined. The Kalman filter can solve either the overdetermined or the underdetermined cases, allowing three-axis attitude determination with either both sun sensors and magnetometers or solely magnetometers. The Kalman filter is able to solve the underdetermined case because an on-board orbit propagation model is part of the filter. This filter utilizes this model to allow three-axis attitude determination with only one vector measurement. In short, the robustness of the Kalman filter enables it to be applied to the ADCS task. The estimation of the Kalman filter operates in two primary cycles, propagation and correction. During the propagation cycle, the filter propagates the state of the system, using a system model to predict the state of the system one time step in the future. The correction cycle inputs measurements of the system state and utilizes these observations to correct for differences between the state propagated from the system model and the measured satellite state. However, the correction cycle encounters particular difficulty due to the fact that some amount of noise and imprecision is embodied in the measurements themselves. Therefore, the primary task of the Kalman filter correction cycle is to balance the state propagated from the system model with the system state derived from measurements utilizing optimization theory. This correction process yields a „corrected‟ estimate of the system state. As the filter iterates, this corrected state estimate is utilized as the initial condition for the Kalman filter propagation cycle. Figure 1 offers a pictorial representation of basic Kalman Filter dynamics. Notice that the covariance matrix is propagated and corrected as well. This matrix contains information essential to the optimization process, and therefore must be included in the propagation – correction process. However, FS3 attitude knowledge hardware includes both a magnetometer and a sun sensor. Hence, two measurements are entered to the filter when the satellite is illuminated. This does not significantly affect the basic filtering process, yet it merits discussion. Magnetometer measurements are assumed less accurate than the sun sensor measurements. Therefore, magnetometer measurements are first entered into the correction cycle of the EKF, resulting in a „corrected‟ state. Subsequently, before returning to the propagation cycle, the sun sensor measurements are entered into a second iteration of the correction cycle, yielding the further „corrected‟ state. The diagram below offers a pictorial representation of the dynamics of dual measurement input to a Kalman Filter. For ADCS, Kalman filtering involves propagation of the satellite attitude and covariance matrices using both Euler‟s moment equations and a basic knowledge of the disturbance torques acting upon the satellite. Subsequent to this propagation, the Kalman filter adjusts the propagated attitude and covariance matrices based upon the measurement vector(s). Because the attitude motion of FS3 will be nonlinear, extended Kalman filters (EKF) will be necessary to accommodate nonlinearities. This paper will detail the various filtering schemes explored for optimal application in the FS3 ADCS task. Figure 2. EKF Mechanics, Two Measurements III. Seven State EKF The EKF most commonly implemented in the ADCS task is the 7-state EKF. This is due, in part, to the relative ease of 7-state mathematics in comparison with other Kalman filters that have been utilized for spacecraft 3 American Institute of Aeronautics and Astronautics operations. In addition, the 7-state filter has well-established reputation as an effective and reliable estimation technique. A. Theoretical Detail For the 7-state filter, the state vector defines not only the attitude of the satellite, but also the rates at which the attitude is changing. The 7-state EKF state vector is comprised of the four-element quaternion attitude vector combined with the three-element body rates vector, with respect to the inertial frame . Symbolically, this state I By vector can be represented as x q1 q2 q3 q4 x y z t (1) During the propagation cycle of the EKF, the quaternion and angular rate components of the state vector are propagated separately. The quaternions are propagated forward in time utilizing the basic quaternion dynamic equation, specifically 1 q q (2) 2 0 oz oy ox 0 ox oy where oz (3) oy ox 0 oz ox oy oz 0 lo TBYLO o (4) Lo ox oy oz t I (5) o 0 o 0t (6) The body rates are propagated forward in time utilizing Euler‟s Moment Equations, specifically I N I (7) Simple numerical integration is utilized to propagate the quaternions and body rates one time step in the future. With these definitions in mind, the basic mathematical process for 7-state Kalman Filtering can be detailed below. Note that several equations integral to the operation of a Kalman Filter are here overlooked in order to simplify the presentation. Many others have presented the EKF in much more detail, and the omitted equations may be found in these works.* * Hashida, Yoshi. ADCS for Future UoSat Standard Platform: REVISION 2. SSTL Internal Technical Note. SSTL, Guildford, Surrey, United Kingdom: 2004. Plessis, Roger M. Poor Man‟s Explanation of Kalman Filtering or How I Stopped Worrying and Learned to Love Matrix Inversion. Rockwell International, CA: June 1997. 4 American Institute of Aeronautics and Astronautics B. 7-State Kalman Filter Mathematical Process x q1 q2 q3 q4 x y z t P - covariance matrix (7 x 7) K - Kalman gain matrix (7 x 3) - state transformation matrix (7 x 7) R - measurement noise covariance matrix (3 x 3) Q - process noise covariance matrix (7 x 7) H - observation matrix (3 x 7) F - mathematical convention (7 x 7) t - time z - measurements of system state, either sun-sensor or magnetometer z by - body referenced measurements, directly from onboard sensors z lo - orbit referenced measurements, from orbit model prediction (IGRF) A. Propagation Cycle B. Correction Cycle 1. Covariance Propagation 1. Compute Observation Matrix ˆ Pk 1 k 1 Pk tk 1 Qk 1 z by Hk x q q q T by BYLO z lo TBYLO TBYLO TBYLO t k 1 t k z lo z lo z lo ... k 1 I 7 x 7 q1 q 2 q3 q 4 by by q by TBYLO TBYLO TBYLO z lo z lo z lo x y z I 7 x 7 Fk t 2. Propagate State 2. Compute Kalman Gain Matrix t k 1 t K k Pk H k H k Pk H k Rk t 1 x k 1 x k ˆ xdt 3. Update State x k 1 x k 1 K k 1 z by TBYLO z lo tk specifically ˆ t k 1 4. Update Covariance q dt 1 q k 1 qk ˆ 2 Pk 1 I 7 x7 K k 1 H k 1 Pk 1 ˆ tk t k 1 k 1 k I N I dt 1 ˆ tk This basic EKF process has introduced several variables that merit further explanation. The covariance matrix P essentially is a time-referenced estimate of the accuracy of both the system model and the measurements. The correction cycle depends heavily upon these accuracies in order to determine how much to „trust‟ either the propagated state or the entered measurements. The state transformation matrix is an approximation of the change that the state undergoes over the specified time interval. The process noise covariance matrix Q is derived from the expected error in the filtering process. The observation matrix H is a measure of how dependent the measurements are upon the state of the system. The measurement noise covariance matrix R entails the expected error in the states themselves, derived from the precision of the system model. It is important to note several key aspects to the filtering process. Notice that the covariance matrix is propagated in addition to the actual state. In the cyclic pattern of the EKF, the filter utilizes only the covariance matrix and state from the previous iteration, which means that a relatively small amount of stored data points will enable filter operation. This greatly reduces the computational demand of the filter. This is especially useful because the covariance matrix and the state vector contain all the information concerning the status of the system that is necessary for accurate system modeling. Another aspect worthy of note requires a basic understanding of the onboard application of the EKF. Onboard FS3, the EKF will input sensor measurements every five seconds. Since the correction cycle occurs only once for 5 American Institute of Aeronautics and Astronautics each set of measurements, the propagator must propagate the system state five seconds in the future, the point at which the next set of measurements will be entered. However, the propagation cycle entails the numerical integration of the system state over this time period, which is the heaviest computational demand placed by the system on the onboard computer. In order to reduce this computational demand, a simplified numerical integration technique may be introduced, as long as the resultant error is within acceptable bounds. Integration time step may also be decreased in order to reduce the computational demand, contingent upon acceptable error bounds. As noted previously, if sun sensor measurements are entered to the filter in addition to the magnetometer measurements, the correction cycle must be repeated twice. The first iteration will update the state derived from the most recent propagation. The second iteration, utilizing sun sensor measurements, will update the „corrected‟ state derived from the first iteration of the correction cycle. Both the single Figure 3. EKF Cycle and double correction EKF cycles are represented pictorially below. IV. Six State EKF The 7-state EKF presents an optimal means of attitude control for small satellites. However, the 7-state EKF necessarily involves many 7 x 7 matrices, placing a fairly heavy computational demand upon the onboard computer of the typical microsatellite. Hence, any means of significantly reducing the computational intensity of the EKF while not sacrificing operability is highly desirable. Recentely, Surrey Satellite Technology Ltd. developed a 6-state EKF that attempts to realize this goal. Developed for BilSAT, a Turkish satellite member of the international cooperative effort of the Disaster Monitoring Constellation, initial development of this 6-state EKF began in 2003. Currently, BilSAT is the only satellite known to the author to have flown this ADCS software.* A. Theoretical Detail In order to understand the theory underlying the development of the 6-state EKF, it is first necessary to touch upon some fundamental quaternion definitions. In quaternion mathematics, the operator is typically defined such that p4 p3 p2 p1 q1 p p4 p1 p 2 q 2 pq 3 (8) p2 p1 p4 p3 q3 p1 p2 p3 p 4 q 4 where both p and q are quaternion vectors. This definition is intended to allow A p Aq A p q (9) * Hashida, Yoshi. BilSat Attitude Estimator Mathematical Specification: REVISION 2. SSTL Internal Technical Note. SSTL, Guildford, Surrey, United Kingdom; 2004. 6 American Institute of Aeronautics and Astronautics where A is an attitude (transformation) matrix. This relationship proves pivotal to the derivation of many of the relationships utilized in the 6-state EKF. Another convention utilized extensively in the 6-state EKF is q and , the differential error notation, which represent small deviations in the quaternions and body rates, respectively. The formal definition of these parameters is qk 1 q qk (10) k 1 k The relationship is somewhat intuitive and simply understood, whereas the q q relationship may not be quite so intuitive. However, the q q relationship as expressed above is very similar to the simple relationship, just made more complex by quaternion mathematics. Strictly speaking, true quaternions are always normal, that is, q12 q 2 q3 q 4 1 2 2 2 (11) In order for the q q relationship to hold and the operator apply, q must be assumed to be a true quaternion. (As the filter converges, this assumption becomes essentially valid.). Therefore, it follows that the differential quaternions apply to Eq. 11. Namely, that q12 q 2 q3 q 4 1 2 2 2 (12) This normalization allows any three q terms to necessarily define the fourth, q4 1 q12 q2 q3 2 2 (13) Note that this assumption defines q 4 as positive. This is acceptable since q 4 is a differential quaternion specifying the error associated with the estimated quaternions, and the magnitude of the differential quaternion is the essential information derived from the differential quaternions. It is important to note that q 4 is a differential quaternion; therefore, it does not directly specify the attitude of a spacecraft. This assumption (that the differential error quaternions meet the normalization criteria) is a significant assumption allowing the development of the 6-state EKF. In the 6-state EKF, the auxiliary state vector is introduced, defined as the differential state, specifically y q1 q2 q3 x y z t (14) Note that due to the assumption made in Eq. 13, the auxiliary state vector is comprised of only 6 elements. Based upon the normalization assumption described above, and if higher order terms are ignored (linearization), it can be demonstrated that q1 q 2 q3 0 . This relationship, in conjunction with the normalization assumptions, can be applied with care to facilitate the simplification of a 7-state filter to a 6-state filter. Application of the definitions in Eq. 10 to the 7-state EKF equations allows the development of the following filtering process. Note that the cross matrix definition is utilized extensively throughout this process. The cross matrix is defined specifically as: 7 American Institute of Aeronautics and Astronautics 0 az ay a b C a b C a a z 0 ax (15) a y ax 0 Two distinct state vectors are utilized in the 6-State EKF process. The true state is comprised of exactly the same elements as in the 7-State EKF process, specifically x q1 q2 q3 q4 x y z t (16) The 6-State filter also introduces the differential or auxiliary state, which is y q1 q2 q3 x y z t (17) Note that the auxiliary state has six elements rather than seven. This plays a critical role in reducing the computational demand of the 6-State EKF. B. 6-State Kalman Filter Mathematical Process x q1 q2 q3 q4 x y z t y q1 q2 q3 x y z t q - differential quaternions - differential body rates P - covariance matrix (6 x 6) K - Kalman gain matrix (6 x 3) - state transformation matrix (6 x 6) F - mathematical convention (6 x 6) Q - process noise covariance matrix (6 x 6) H - observation matrix (3 x 6) R - measurement noise covariance matrix (3 x 3) t - time z - measurements of system state, either sun-sensor or magnetometer z by - body referenced measurements, directly from onboard sensors z lo - orbit referenced measurements, from orbit model prediction (IGRF) 8 American Institute of Aeronautics and Astronautics A. Propagation Cycle 1. Covariance Propagation B. Correction Cycle ˆ Pk 1 k 1 Pk tk 1 Qk 1 1. Compute Observation Matrix zby q q Hk q y k 1 I 6 x6 t t k 1 k T TBYLO TBYLO BYLO zlo zlo zlo ... q q1 q2 q3 I 6 x 6 Fk t TBYLO TBYLO TBYLO zlo y zlo z lo x z C 1 ˆ I 3 x3 Fk 2 2 C TBYLO zlo 0 3 x 3 I 1 N N gg mt I C I C I h 1 ˆ ˆ 2. Compute Kalman Gain Matrix N gg 6 C u I C Iu C u t K k Pk H k H k Pk H k Rk t 1 r3 3. Update Auxiliary State N mt 2C m C Bby y k 1 y k 1 K k 1 z by TBYLO z lo ˆ u Aq 0 0 1 t y k 1 K k 1 z by TBYLO z lo ˆ 4. Update Covariance 2. Propagate State t k 1 Pk 1 I 6 x6 K k 1 H k 1 Pk 1 ˆ xdt 5. True State Update x k 1 x k ˆ tk q4 1 q12 q2 q3 2 2 specifically t k 1 q q q ˆ q dt 1 ˆ q k 1 qk ˆ 2 tk x q1 q 2 q3 q 4 x y z ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ t k 1 k 1 k I N I dt 1 ˆ tk It is important to note several aspects of the 6-state EKF process at this point. In addition, key differences from the 7-state EKF will be highlighted. Notice that both covariance and the true state are predicted in the propagation cycle. However, all matrices involved in the covariance propagation are 6 x 6, which significantly reduces the computational load upon the filter. Although this correction cycle may appear very similar to that of the 7-state EKF, they are markedly different. In the 7-state EKF, the state vector is both propagated and directly updated. That is to say, after propagation of the state vector, the correction cycle acts directly upon the state vector. The 6-state EKF process is slightly more complex. The propagation cycle of the 6- state EKF inputs the true state and propagates Figure 4. 6-State EKF Cycle 9 American Institute of Aeronautics and Astronautics this vector forward in time. The auxiliary state vector itself is not propagated. In the 6-state correction cycle, the auxiliary (differential) state vector is calculated and then utilized to update the true state. Therefore, these calculations primarily involve the auxiliary state. In this cycle, the true state is only utilized to calculate the attitude matrix and in the last step to update the true state. This dependence upon the auxiliary state rather than the true state plays a significant role in reducing the computational demand of the 6-state EKF. The 6-state EKF process may be represented pictorially as below. The 6-state EKF, while mathematically more complex, reduces the covariance matrix P , state transition matrix , F matrix, and the process noise covariance matrix Q from 7 x 7 matrices to 6 x 6 matrices. In effect, this eliminates 13 elements for each matrix. In Table 1. EKF Element Comparison addition, the observation matrix H is reduced from a 3 x 7 to a 3 x 6, and the Kalman gain matrix 7- 6- K is reduced from a 7 x 3 to a 6 x 3. This State State reduction in size is the great benefit of the 6-state Elements Elements EKF. By assuming normalization and linearization x (7x1) 7 (7x1) 7 of the quaternion differential error, a much less y ~ ~ (6x1) 6 computationally intense EKF is possible. Note that P (7x7) 49 (6x6) 36 computational demand and processing speed have Φ (7x7) 49 (6x6) 36 not yet been empirically determined for either filter. However, the table below demonstrates the F (7x7) 49 (6x6) 36 sheer magnitude of the reduction in the number of Q (7x7) 49 (6x6) 36 matrix elements, which should correlate with the H (3x7) 21 (3x6) 18 actual computational speed. K (7x3) 21 (6x3) 18 Total 245 Total 193 V. Filter Implementation In order to examine its operability and performance, both the 6-state and 7-state EKF were programmed in the computer language C. The data presented hereafter is primarily a summary of conclusions reached based upon a series of analyses. It is intended to demonstrate the operability of the implemented EKFs as well as to provide a basis for comparison of these EKFs with one another. In addition, issues that are important for practical implementation yet unsuitable for the EKF theory discussion will be presented here. In order to test the EKF before launch, a simulation of the operating environment of the satellite must first be developed. This simulation is required in order to generate realistic measurements for the EKF to utilize as input. The simulation utilized to generate the input measurements for all analyses detailed herein is a third generation flight-tested orbit propagator. It has been used on various satellites engineered by Surrey Satellite Technology Ltd. This orbit propagator generates simulated magnetometer and sun sensor inputs in two different regards. First, the orbit propagator generates these magnetometer and sun sensor inputs in the local orbital (with respect to inertial) frame. These filter inputs are what is considered the orbit propagator „predicted‟ values. This input from the simulation will be necessary during actual satellite operations. The second set of input data generated by the orbit propagator is a set of „measured‟ values. These values simulate measurement input from the magnetometer and sun sensor, and so this set of input is in the body (with respect to inertial) frame. Since this second set of inputs, the „measurement‟ inputs, is only simulating values that will come from onboard sensors during the actual operation of the satellite, this data will not be generated by the simulator during actual satellite operations. In addition, a standard of comparison is necessary in order to determine the veracity of the EKF results. Another well-tested program developed by Surrey Satellite Technology Ltd. was utilized for this purpose. This simulation is an attitude propagator, which models the actual satellite dynamics and outputs Euler angles and Euler rates over a specified period of time. This simulation simply uses Euler‟s Moment Equations and the quaternion dynamic equation to propagate expected angles and rates. Due to the construction of this model, it is quite simple to simplify the model to discount all disturbance torques etc. or to precisely model gravity gradient (including boom deployment), magnetic (including commanded magnetic moment), drag, reaction wheel effects, and other disturbance torques. It is appropriate to mention several practical considerations of both EKFs implementation at this point. FS3 will be operating in a 35˚ inclined circular LEO at an altitude of 560 km. The spacecraft is estimated to have a mass of 47.2 kg and essentially be configured as a cube 0.46 m on a side with a 2.84 m (to the center of gravity) gravity gradient boom and 7.8 kg tip mass. The satellite will take attitude measurements every five seconds and requires 1˚ attitude knowledge while only 5˚ attitude control accuracy is required. The microsatellite is optimally nadir-pointing 10 American Institute of Aeronautics and Astronautics and velocity vector tracking. These requirements specify several operating constants for the EKFs, specifically the mean motion o , the measurement input frequency, and the radius of the orbit. These and a summary of other operating constants are presented here. r 6938.137 km o 0.0010924576567 rad sec Tmsmt 5 sec 67.4 0 0 0 I 67.45 0 kg m 2 (18) 0 0 1.31 ui 0 0 1 t 3 3.986005e 5 km sec2 tint 1 sec Note that the assumed integration time step t int is 1 second unless otherwise specified. In addition, the definition of the body frame for FS3 defines the unit zenith vector ui as shown. The inertia tensor is boom- deployed. These operating constants apply to all analyses unless otherwise noted. Several other practical considerations merit mention. The integration in the state propagation is accomplished by numerical integration. This cyclic process is computationally intensive. Therefore, to reduce the computational demand without sacrificing significant accuracy, an Adam‟s 2 nd order numerical integrator will be implemented rather than a more complex but more accurate integrator. Reference the integration analysis completed by the author for further discussion of the numerical integrator. Another practical consideration concerns the nature of the computer code. Since the code will be implemented on a satellite, the code must be extremely robust. Most importantly, the ADCS computer code must not crash the satellites‟ onboard computer at all expenses. Therefore, error checks are conducted many times throughout each cycle of the EKF. If an error is detected, the ADCS algorithm is immediately exited and a message relayed to satellite operators to allow human operators to deal with the problem rather than the onboard computer crashing as a result of the error. Finally, the nature of the assumptions underlying the development of the EKF permits a small amount of error to creep into the quaternion calculations. In order to negate this error, the quaternions must be normalized after every instance where they are calculated. This includes both the quaternion calculation in the state propagation step and in the state update step. Finally, several other initialization parameters deserve an explanation. The covariance matrix P embodies an approximate error associated with attitude estimates. The first three (6-state)/four (7-state) diagonal elements of the covariance matrix represent the estimated error of the quaternions, while the next three diagonal elements give the estimated error of the angular rates. It is important to note that the covariance matrix is merely an initialization; over time, the matrix changes as the EKF converges. The process noise covariance matrix Q is another initialization parameter that deserves mention. The process noise covariance matrix contains information relating an estimate for the error associated with the system equations. From a strict mathematical standpoint, the process noise covariance matrix also changes with time. However, these changes can be ignored due to their small magnitude. The first three (6-state)/four (7-state) diagonal elements of the process noise covariance matrix represent the error associated with the quaternion dynamic equation, while the next three diagonal elements are the estimated error associated with Euler‟s moment equations. Note that to rigorously implement this matrix, these error estimates are the subject of several mathematical operations. The purpose of these operations is beyond the scope of this paper, but for 4 reference, the process noise covariance matrix error estimates for all cases is 1e for both quaternions and rates. Lastly, the measurement noise covariance matrix R contains the error expected to be associated with 11 American Institute of Aeronautics and Astronautics measurements. Note that the measurement noise covariance will change as the sun sensor is switched on and off. However, the measurement noise covariance is otherwise constant over time. VI. Extended Kalman Filter Analysis A. 7-State Analysis The following initialization parameters were utilized for 7-state analysis. 0.12 0 0 0 0 0 0 0 0.12 0 0 0 0 0 0 0 0.1 2 0 0 0 0 0 0 0 0.1 2 0 0 0 o 2 P7 X 7 0 0 0 0 0.1 0 0 180o o 2 0 0 0 0 0 0.1 0 180o o 2 0 0 0 0 0 0 0.1 180o 1e 4 T 3 0 0 0 0 0 0 12 I x 2 4 1e T 3 0 0 0 0 0 0 12 I y2 4 1e T 3 0 0 0 0 0 0 12 I z2 2 1e 4 2 1e 4 2 1e 4 q1 q2 2 q3 2 T 3 Q7 X 7 I x2 Iy Iz 0 0 0 0 0 0 12 1e 4 T 0 0 0 0 0 0 Ix2 1e 4 T 0 0 0 0 0 0 2 Iy 1e 4 T (19) 0 0 0 0 0 0 I z2 0.0252 0 0 RMT 0 0.0252 0 0 0 0.025 2 The Kalman filter was run for a single twenty-four hour period, with the initial conditions detailed previously. During this period, the sun sensor was switched off. In other words, all of these graphs present the case where magnetorquers are the sole attitude determination sensors. In addition, all measurements are being normalized to negate possible effects of the vector magnitude. Finally, gravity gradient disturbance torque was the only disturbance modeled. The angular estimation error is presented graphically below. Note the distinctive „pulsating‟ effect of the 7 State angular estimation error plot. These pulses arise from the magnetic field as the satellite orbits above the Earth. In fact, if the pulses are tallied, there are fifteen, which corresponds to the number of times the satellite orbits the earth in a single day. (At an altitude of 560 km, there are 15.02 orbits in solar day and 14.98 orbits per sidereal day). These pulsations are therefore expected, due to the variation in the magnetic field around the Earth and its interaction with the spacecraft dipole. In addition, the 7-state rate estimation error is presented here. Tabulated error magnitudes are presented below the graphs. 12 American Institute of Aeronautics and Astronautics F alco n S at3 : A D C S L o g F ile F alco n S at3 : A D C S L o g F ile 7 S ta te A n g u la r E s tim a tio n E rro r 7 S ta te R a te s E s tim a tio n E rro r R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.06 3 0.05 2 0.04 1 0.03 0.02 0 0.01 -1 0.00 -2 -0.01 -0.02 -3 -0.03 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M A ug 2004 T im e A ug 2004 T im e Figure 5. 7-State Angular Est. Error Figure 7. 7-State Rates Est. Error F alco n S at3 : A D C S L o g F ile F alco n S at3 : A D C S L o g F ile 7 S ta te A n g u la r E s tim a tio n E rro r (D e ta il) 7 S ta te R a te s E s tim a tio n E rro r (D e ta il) R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.4 0.00075 0.3 0.00050 0.2 0.00025 0.1 0.00000 0.0 -0.00025 -0.1 -0.00050 -0.2 -0.00075 -0.3 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M A ug 2004 T im e A ug 2004 T im e Figure 6. 7-State Angular Est. Error (Detail) Figure 8. 7-State Rates Est. Error (Detail) For the graphs presented above, notice that Table 2. 7-Sate Error Compilation the filter takes on the order of 1-1.5 hours to Avg d STD d RMS d converge. This represents the time it takes from switching the filter on to the time at Roll (deg): 1.28E-03 6.99E-02 6.99E-02 which the filter provides an accurate attitude Pitch (deg): -7.25E-03 3.69E-02 3.76E-02 estimate. The tabulated values will primarily Yaw (deg): -1.62E-02 1.38E-01 1.39E-01 be utilized for comparative purposes in Wx (deg/s): -2.04E-05 1.52E-04 1.53E-04 relation to the 6-state results. Note, however, Wy (deg/s): -4.61E-05 1.35E-04 1.42E-04 that the magnitude of the RMS error results Wz (deg/s): -1.83E-06 1.74E-03 1.74E-03 indicates that the angular error is approximately 0.16 and the rate error is about 0.0018, both in degrees. These results Mag of Err. Mag of Err. Mag of Err. fit within the bounds specified by the Angles (deg): -7.40E-03 1.59E-01 1.60E-01 derived attitude requirements. Rates (deg/s): -2.28E-05 1.75E-03 1.76E-03 13 American Institute of Aeronautics and Astronautics B. 6-State Analysis The following initial parameters were utilized for the 6-state EKF. 0.12 0 0 0 0 0 0 0.12 0 0 0 0 0 0 0.12 0 0 0 o 2 0 0.1 o 0 0 0 0 P6 X 6 180 o 2 0 0 0 0 0.1 0 180o 2 0 o 0 0 0 0 0.1 180o 1e 4 T 3 0 0 0 0 0 12 I x 2 1e 4 T 3 0 0 0 0 0 12 I y2 4 1e T 3 0 0 0 0 0 12 I z2 Q6 X 6 1e 4 T 0 0 0 0 0 I x2 4 1e T 0 0 0 0 0 Iy 2 1e 4 T 0 0 0 0 0 Iz2 0.025 2 0 0 (20) RMT 0 0.0252 0 0 0 0.025 2 The 6-state angular estimation error is presented below. Notice that the 6-state angular estimation error plot does not demonstrate periodic variation as the 7-state angular estimation error plot did. This is somewhat unexpected, as it indicates that the 6-state EKF is able to produce slightly more accurate angular attitude estimate than the 7-state EKF. Further testing is required to test the veracity of this claim. The 6-state rate estimation error plots are presented below as well. Tabulated errors are presented below the graphs. F alco n S at3 : A D C S L o g F ile F alco n S at3 : A D C S L o g F ile 6 S ta te A n g u la r E s tim a tio n E rro r 6 S ta te A n g u la r E s tim a tio n E rro r (D e ta il) R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) 3 0.25 2 0.20 0.15 1 0.10 0.05 0 0.00 -1 -0.05 -0.10 -2 -0.15 -3 -0.20 -0.25 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e Figure 9. 6-State Angular Est. Error Figure 11. 6-State Rates Est. Error 14 American Institute of Aeronautics and Astronautics F alco n S at3 : A D C S L o g F ile F alco n S at3 : A D C S L o g F ile 6 S ta te R a te s E s tim a tio n E rro r 6 S ta te R a te s E s tim a tio n E rro r (D e ta il) W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.06 0.00075 0.05 0.04 0.00050 0.03 0.00025 0.02 0.00000 0.01 0.00 -0.00025 -0.01 -0.00050 -0.02 -0.00075 -0.03 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e 18 W ed A ug 2004 T im e Figure 10. 6-State Angular Est. Err. (Detail) Figure 12. 6-State Rates Est. Err. (Detail) Notice that the magnitude of the RMS error is within the derived attitude knowledge requirements demanded by the FLAPS payload 1 . In addition, note that the magnitude of the RMS error of the 6-state EKF and the that of the 7-state EKF are almost exactly identical. C. Analysis To Do Much work remains to be accomplished from the filtering standpoint of FS3. Program a constant gain filter for analysis and comparison Perform optimization analyses o Initial Covariance Matrix (P) o Observation Noise Covariance Matrix (R) o Process Noise Covariance Matrix (Q) o Boundaries for effects of measurement noise Minimize code size, memory allocation, computational demand, Maximize computational speed, redundancy, robustness Once all of these tasks are accomplished, the selected filter will be tested on data derived from PICOSat. PICOSat is a United States Air Force satellite that is solely controlled by Air Force Academy cadets trained to do so. Data from PICOSat will be utilized due to the similarity between PICOSat and FS3. Table 3. 6-State Error Compilation PICOSat is a nadir-pointing, velocity vector AVG d STD d RMS d tracking microsatellite with similar mass and inertia tensor values. In addition, PICOSat Roll (deg): 6.45E-03 3.07E-02 3.13E-02 utilizes a gravity gradient boom and Pitch (deg): -1.62E-03 4.70E-02 4.71E-02 magnetorquers for control, with sun sensors Yaw (deg): -3.24E-02 1.43E-01 1.47E-01 and magnetometers for attitude sensors. Wx (deg/s): 1.04E-05 1.53E-04 1.53E-04 From the ADCS standpoint, these qualities Wy (deg/s): -5.45E-05 1.49E-04 1.58E-04 make PICOSat very closely related to FS3. Wz (deg/s): 3.68E-05 1.94E-03 1.94E-03 Therefore, telemetry will be downloaded from the satellite and then entered into both EKFs to determine if their output accurately Mag of Err. Mag of Err. Mag of Err. predicts the attitude dynamics of PICOSat. Angles (deg): -9.20E-03 1.54E-01 1.57E-01 This test will lend credence to the validity of Rates (deg/s): -2.43E-06 1.95E-03 1.96E-03 the software. VII. Conclusions The ADCS requirements of various payloads on FS3 are stringent enough to demand some type of data processing in order to meet attitude determination requirements. This paper detailed Kalman filtering, and more specifically, the 7-state and 6-state Kalman filters. Both filters proved to meet the ADCS attitude determination requirements successfully with little difference in achieved accuracy. However, the 6-state filter places much less computational demand upon the on-board computer. Based upon this data, the 6-state filter is a more logical choice for the FS3 ADCS filter. However, there is still much analysis that needs to be completed before a final verdict might be reached. 15 American Institute of Aeronautics and Astronautics Appendix A. Expanded 7-State Results F alco n S at3 : A D C S L o g F ile 7 S ta te A n g u la r E s tim a tio n E rro r R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) 3 2 1 0 -1 -2 -3 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M A ug 2004 T im e Figure 13. 7-State Angular Estimation Error, Expanded View F alco n S at3 : A D C S L o g F ile 7 S ta te A n g u la r E s tim a tio n E rro r (D e ta il) R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) 0.4 0.3 0.2 0.1 0.0 -0.1 -0.2 -0.3 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M A ug 2004 T im e Figure 14. 7-State Angular Estimation Error (Detail), Expanded View 16 American Institute of Aeronautics and Astronautics F alco n S at3 : A D C S L o g F ile 7 S ta te R a te s E s tim a tio n E rro r W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.06 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M A ug 2004 T im e Figure 15. 7-State Rates Estimation Error, Expanded View F alco n S at3 : A D C S L o g F ile 7 S ta te R a te s E s tim a tio n E rro r (D e ta il) W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.00075 0.00050 0.00025 0.00000 -0.00025 -0.00050 -0.00075 19 T hu 3A M 6A M 9A M 12P M 3P M 6P M 9P M A ug 2004 T im e Figure 16. 7-State Rates Estimation Error (Detail), Expanded View 17 American Institute of Aeronautics and Astronautics Appendix B. Expanded 6-State Results F alco n S at3 : A D C S L o g F ile 6 S ta te A n g u la r E s tim a tio n E rro r R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) 3 2 1 0 -1 -2 -3 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e Figure 17. 6-State Angular Estimation Error, Expanded View F alco n S at3 : A D C S L o g F ile 6 S ta te A n g u la r E s tim a tio n E rro r (D e ta il) R o ll A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) P it c h A n g le E s t im a t io n E r r o r ( N o r m a liz e d ) 0.25 0.20 0.15 0.10 0.05 0.00 -0.05 -0.10 -0.15 -0.20 -0.25 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e Figure 18. 6-State Angular Estimation Error (Detail), Expanded View 18 American Institute of Aeronautics and Astronautics F alco n S at3 : A D C S L o g F ile 6 S ta te R a te s E s tim a tio n E rro r W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.06 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e Figure 19. 6-State Rates Estimation Error, Expanded View F alco n S at3 : A D C S L o g F ile 6 S ta te R a te s E s tim a tio n E rro r (D e ta il) W x E s t im a t io n E r r o r W y E s t im a t io n E r r o r 0.00075 0.00050 0.00025 0.00000 -0.00025 -0.00050 -0.00075 3P M 6P M 9P M 19 T hu 3A M 6A M 9A M 12P M 18 W ed A ug 2004 T im e Figure 20. 6-State Rates Estimation Error (Detail), Expanded View 19 American Institute of Aeronautics and Astronautics

DOCUMENT INFO

Shared By:

Categories:

Tags:
Kalman filter, Kalman filtering, state estimate, measurement noise, estimation error, error covariance, the noise, covariance matrix, Kalman ﬁltering, filter equations

Stats:

views: | 135 |

posted: | 3/16/2010 |

language: | English |

pages: | 19 |

OTHER DOCS BY malj

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.