AAS 03-149 MESSENGER SPACECRAFT POINTING OPTIONS Daniel O’Shaughnessy† and Robin Vaughan† ABSTRACT Planning is now underway for the MESSENGER mission to Mercury. Scheduled for launch in March 2004, MESSENGER will orbit the planet for one Earth-year beginning in April 2009. A variety of different spacecraft attitudes are needed to support science observations, permit communication with Earth, and perform engineering activities. With the diverse suite of instruments and constant thermal constraints, the commanded attitude algorithms are an important part of MESSENGER’s guidance and control (G&C) system design. This paper presents the basic architecture of the on-board guidance system being implemented to generate desired (or commanded) spacecraft attitude and rate. Algorithms are given for the suite of base pointing commands and scan pattern combinations. The strategy for enforcing thermal safety constraints in the commanded attitude computation is described. Additionally, guidance commands during ∆V maneuvers are briefly discussed. INTRODUCTION Planning is now underway for the MESSENGER (MErcury Surface, Space ENvironment, GEochemsitry, and Ranging) mission. As part of NASA’s Discovery program, MESSENGER will be the first spacecraft to closely observe the planet Mercury since the Mariner 10 flybys of the mid-1970s. This scientific investigation of Mercury will provide insight into the formation and evolution of all the terrestrial planets.1 Scheduled for launch in March 2004, MESSENGER will make two flybys of Venus and two of Mercury prior to orbiting the planet for one Earth-year beginning in April 2009. These flybys will assist in developing the focused science gathering of the year-long orbit phase of the mission. MESSENGER will carry a diverse suite of miniaturized science instruments to globally characterize the planet.2 A variety of different spacecraft attitudes are needed to support the different observation strategies of these instruments, communicate with Earth, and perform engineering activities such as trajectory correction maneuvers. Due to the extreme environment at Mercury, thermal and radiation concerns are the main factor driving the spacecraft design.3 Protection from this environment is accomplished with a large sunshade mounted on the –Y body axis, which shields the spacecraft components from direct exposure to the Sun, as shown in Figure 1. Nominally, MESSENGER is flown with this sunshade centered on the sunline, and the Sun vector must remain near the –Y axis at all times while in orbit about Mercury. Power generation is handled with solar panels that point out the +/-X body axes and are capable of rotating about the X axis to track the Sun. MESSENGER carries 17 thrusters onboard for trajectory corrections, attitude control (nominally during burns only), and momentum offloads. The main engine for large maneuvers is mounted on the top deck of the spacecraft, along the –Z direction. Additional thrusters are mounted around the spacecraft structure to provide redundant force/torque capability about all body axes. Most of the science † Space Department, Mission Concept and Analysis Group, The Johns Hopkins University Applied Physics Laboratory, Laurel, Maryland. instruments are co-boresighted along the +Z axis and are mounted inside the launch vehicle adapter ring. Two sets of high- and medium-gain antennas are mounted on opposite sides of the spacecraft for communication with Earth. -Z Launch Direction Sunshade -Y +Pitch Toward Sun (nominally) +X Large Velocity Adjust Thruster High Gain Antenna (elevation) EL X +Roll -X Launch Vehicle Adapter Ring +Y ΑΖ +Yaw +Z Instrument Boresight (azimuth) -Y Z Figure 1. Current Configuration of the MESSENGER Spacecraft and Body Frame Definition The MESSENGER guidance and control system maintains a 3-axis stabilized spacecraft using reaction wheels as the primary actuators for attitude control. Inertial reference for attitude and body rotation rates is provided through two co-boresighted star trackers (with one acting as a cold spare) and an inertial measurement unit with four gyroscopes. MESSENGER also carries a set of six Sun sensors to provide Sun-relative attitude knowledge if there is a failure in the primary attitude sensors. Guidance and control also uses the propulsion system and thrusters for attitude control during trajectory maneuvers and momentum dumps and may also use the thrusters as a backup system for attitude control in the event of multiple wheel failures. MESSENGER operates in three distinct spacecraft modes. The first mode is termed “Operational” and represents the normal mode for science collection and engineering activities. In this mode, all the pointing options described in this paper are available for use. Restrictions on the pointing are imposed in either of the safing modes. The intermediate level safing mode is “Safe Hold” mode, and in this mode MESSENGER is restricted to an attitude that permits communication with the Earth via one of its phasedarray antennas. In the event that there is not sufficient information onboard to establish communication with the Earth, the spacecraft goes into its lowest level safing mode, “Earth Acquisition” mode. In this mode, the spacecraft attempts to use the available information to search for the Earth (and possibly the Sun, as needed). Promotion to a higher mode can only occur via ground command, although demotion may occur autonomously. With the diverse suite of instruments and constant thermal constraints, the commanded attitude algorithms are an important part of MESSENGER’s guidance and control system design. This paper presents the basic architecture of the on-board guidance system used to generate desired (or commanded) spacecraft attitude. First, the overall system architecture and general formulation of the commanded attitude is described. This includes the underlying ephemeris and celestial body models used in computing commanded attitude, as well as a general algorithm for computing attitude and rate commands. Then, the suite of pointing options available to mission operators and science planners is discussed. Algorithm details are given for special science scenarios such as atmospheric limb scans and engineering attitudes such as data downlink via the spacecraft’s phased-array antennas. Key system features such as the interfaces with the antennas and science cameras for setting boresight positions, overlay of scan patterns on the base pointing, and the strategy for enforcing Sun-related attitude safety constraints are discussed. Lastly, the guidance strategy for maneuvers is briefly described. GUIDANCE SYSTEM ARCHITECTURE The guidance system architecture for the MESSENGER mission has its roots in the structure of the Near Earth Asteroid Rendezvous (NEAR) mission flight code.4 MESSENGER’s onboard guidance system computes commanded spacecraft attitude and rotation rate. Attitude is represented by the transformation from the EME2000 inertial reference frame to the spacecraft body axes defined in Figure 1. Rotation rate is given as an angular velocity vector in the body frame. These commands are computed at a rate of 1 Hz by the main background guidance task and propagated at the attitude control frequency of 50 Hz. The system first determines the pointing option to be used based on operator request and the current spacecraft operational mode. Certain pointing options are automatically chosen regardless of operator requests when MESSENGER is in one of its two safe modes. The quaternion describing the body frame orientation relative to the inertial frame and the associated rotation rate are then computed assuming no restrictions from the various pointing constraints. Next the result is checked for violations of safety constraints and modified if a violation is detected. Positions for the science camera or phased-array antenna boresights are computed if these are included in the target specification. Ephemeris models and models for the shape, size, and rotation of a target planet are available to the guidance system when needed to formulate the commanded attitude. Ephemerides stored in the flight processor memory give the position and velocity of the Sun, the Earth, a target planet, and the spacecraft referenced to the solar system barycenter. The target planet is either Venus or Mercury depending on the mission phase. Venus is only used around the two flybys while Mercury is used for the flybys and during the orbital phase. The on-board ephemerides are derived from NAIF SPK kernels supplied by the Jet Propulsion Laboratory navigation team.5 Additional parameters are stored in the flight processor memory for the standard International Astronomical Union (IAU) model giving target planet body-fixed frame orientation relative to the inertial frame and for the triaxial ellipsoid approximation of the planet’s shape and size. This IAU rotation model is included to enable precise pointing on/around Mercury when in the orbital phase of the mission. For each G&C science or engineering activity, there is a set of commands used to define the desired attitude and rotation rate. Each activity involves setting a basic pointing command, which can then be supplemented with a scan pattern command. These two commands specify the unconstrained pointing, while an additional command determines whether or not to apply the Sun safety constraints. All of the inertial pointing commands share a common framework, which uses four vectors to define the desired attitude. Two of these vectors are specified in the spacecraft body frame, and two must lie in the external (inertial) frame, as the targets for the body axes. Though the external targets must be expressed in terms of the inertial coordinate axes, they need not be specified in the inertial frame, as long as the spacecraft has the requisite transformation matrices to establish the target’s state in the inertial frame. For instance, the target may be provided as a latitude and longitude on a specified planet, as long as rotation models for that planet are maintained to transform that planetary position into an inertial position. As mentioned above, the spacecraft basebody attitude is specified via 4 vectors. The two external vectors provide targets for the two specified axes in the spacecraft body frame. The primary external target is termed the aimpoint and designated by the vector A, and the secondary external target is called the external roll reference vector (ERRV) and is designated by the vector E. In the body frame, the axis to be aligned with the primary target is called the boresight designated by the vector B, and the axis to be aligned with the external roll reference vector is called the body roll vector (BRV) and is designated by the vector R. The external target vectors are specified in terms of the EME2000 frame components and in general, can contain nonzero velocity components. The body vectors are specified in terms of the spacecraft body axes, and these vectors may also be time varying. Based on this nomenclature, the attitude is formulated as: xˆ = unit ( A ) (1) zˆ = unit ( A × E) yˆ = zˆ × xˆ [ (2) (3) ] where xˆ yˆ zˆ are the unit vector components of the axes of an intermediate frame (designated the “prime” frame) expressed in terms of the inertial frame axes. This intermediate frame has been adopted purely as a mathematical convenience and is physically meaningless. These direction cosines can easily be transformed into a quaternion, qI/P, representing the transformation from the inertial frame to the prime frame. Likewise a second transformation from another intermediate frame to the body frame can be created as: xˆ = unit ( B) (4) [ zˆ = unit ( B × R ) yˆ = zˆ × xˆ ] (5) (6) where xˆ yˆ zˆ are the unit vector components of the axes of the prime frame expressed in terms of the body axes. These direction cosines can easily be transformed into a quaternion, qB/P, representing the transformation from the inertial frame to the prime frame. Equating the prime frames from Eqs. (1)-(3) and Eqs. (4)-(6), and by adopting the notation in Wertz6, the quaternion from the inertial frame to the basebody frame is: qB / I = ( qI / P * )qB / P (7) where the * operation indicates the quaternion inverse, and the result is the quaternion product of qP/I and qB/P. The flight code passes this quaternion directly to the attitude control algorithms for use in the quaternion feedback controller. From Eqs. (1) and (4) it is easy to see that this aligns the boresight with the aimpoint, and then the spacecraft is rolled around the boresight axis until the body roll vector lies in the same half-plane as the external roll reference vector. Note that in general, it is not possible to achieve simultaneous precision pointing of two targets, especially when both body axes are fixed in the body frame. The angular velocity components of the body frame can readily be expressed as functions of the attitude vectors and their first derivatives. Again, an intermediate frame is adopted for convenience and the equations are formulated with respect to this prime frame. The rates of the prime frame unit vectors in the inertial frame can be expressed as: ωP/ I = − [(A × E) × A ] ⋅ (A × E! + A! × E) 2 x ωP/ I = − y ωP/ I = z A×E A (A × E) ⋅ A × A! × A [( A×E A 3 ) ] [(A × E) × A ]⋅ [(A × A! ) × A ] A×E A 4 (8) (9) (10) ! and E ! are the first time derivatives of the aimpoint position vector and the external roll reference where A position vector, respectively. Similarly, the expression for the prime frame unit vector angular rates expressed in the body frame is given by: ωP/Bx = − [(B × R ) × B] ⋅ (B × R! + B! × R ) 2 ωP/B y = − ωP/Bz = B×R B (B × R ) ⋅ (B × B! ) × B [ B×R B 3 ] [(B × R ) × B]⋅ [(B × B! ) × B] B×R B 4 (11) (12) (13) ! and R ! are the first time derivatives of the boresight position vector and the body roll vector where B expressed in terms of the body axes, respectively. From Eqs. (8)-(10) and (11)-(13) the desired body rates with respect to the inertial frame can be found from the component equations: ωB/I x = ωP/I x − ωP/Bx (14) ωB/I y = ωP/I y − ωP/B y (15) ωB/I z = ωP/I z − ωP/Bz (16) This vector is expressed in terms of the inertial axes, and must be rotated into the body frame using the current spacecraft commanded attitude to find the rate command. The above procedure provides the unconstrained attitude and rate commands to the control system. These commands may be supplemented with a scan pattern for imaging mosaics or could also be modified to accommodate the Sun-safety constraints. Both of these additions require modifications to the commanded attitude and/or rate and will be discussed in subsequent sections. Having completed the definition for the attitude and rate commands, the collection of options for each of the attitude vectors will be presented. INERTIAL POINTING OPTIONS The guidance system has one “generic” pointing option that requires all four attitude vectors to be specified independently. Each vector may be specified “by hand,” which allows for the ground to command any constant inertial pointing. For many of the fixed boresight instruments, it is not necessary to specify a time-varying vector. Frequently, it is of interest to specify external targets that move in the inertial frame. To prevent the complicated upload of a series of inertially-fixed pointing schemes to approximate the path of a time varying external target, the capability to compute the inertial position of several common targets is built into the software. The options for setting each attitude vector individually are described. This includes many static options, as well as vectors with some velocity in their respective frames. For external targets with some motion in the inertial frame, the target motion must be known or modeled in the software. These mobile targets are limited to solar system bodies and surface points on those bodies. Ephemeris models for the spacecraft as well as other solar system bodies are made available to the guidance system when needed to formulate the commanded attitude. Each body for which onboard ephemeris is necessary has both a precise and coarse ephemeris model. The precision models are used under normal spacecraft science gathering operations and are necessary to meet the pointing requirements of the science team. The coarse models are lower precision models used as a contingency for spacecraft safing operations. When MESSENGER is in its intermediate safing mode, the spacecraft will continue to use the precise models until they become unavailable, at which point it will autonomously switch into the coarse models. In the lowest level safing mode, the spacecraft assumes that the precise models have failed, and use is restricted to the coarse models. The precision models use Chebyshev polynomial fits generated by ground software that accommodates the desired accuracy and storage/uplink requirements. These polynomial coefficients are then uplinked to the spacecraft and the guidance software evaluates the polynomials and their time derivatives to extract the necessary positions and velocities for MESSENGER or a celestial body. The precise models are checked with the Sun sensor data as a check on the ephemeris data. If the ephemeris data are not consistent with the Sun sensor readings, the precise models are declared invalid, and the spacecraft begins to use the coarse models as a backup. The coarse models use 4th-order polynomial fits for the classical Keplerian elements, and the stored coefficients are valid for the entire mission duration. When necessary, these polynomials are evaluated and converted to a Cartesian state vector. The coarse models are only available in the intermediate and lowestlevel safing modes and are not suited for the pointing precision required in operational mode. It is also of interest to model the inertial motion of points on the surface of the target planet. This allows the spacecraft and instruments to track surface features and target planet body-fixed positions in a more intuitive manner. For this purpose, the software maintains a simplified IAU rotation model for the target planet. The standard IAU model consists of three polynomials, two for the planet pole direction and one for the rotation angle about its rotation axis as a function of time. Because the rates of change of the right ascension and declination of the pole are very slow, this computation is eliminated, and the pole direction is assumed fixed in inertial space. This approximation to the actual pole direction simplifies the algorithm, and does not compromise the required pointing accuracy. This allows a transformation matrix to be computed at any instant to rotate body-fixed positions into the inertial frame for computation in the attitude algorithms. Boresight Options The boresight vector defines the primary spacecraft body axis for pointing at an external target. The complete set of options for setting this vector is summarized in Table 1. The boresight vector is typically defined as a unit vector, and as such can easily be specified via its Cartesian components, or azimuth and elevation angles in the spacecraft body frame. The convention for these angles is defined in Figure 1. These options are adequate to specify any vector in the body frame, but to simplify the interface for the movable-boresight devices, additional means of setting this vector in the attitude algorithms are provided. Besides providing attitude and rate commands to the attitude controller, the guidance sets the boresight directions for the Mercury Dual Imaging System (MDIS) and the phased-array antennas. MDIS is a gimbaled camera with a rotational degree-of-freedom about the spacecraft X axis. This imager is capable of scanning 90° and is configured to scan 40û sunward and 50û anti-sunward, as depicted in Figure 2. When pointing the MDIS camera for imaging, the ground operators can simply specify the boresight as an angle relative to the +Z spacecraft axis in the instrument scan plane. The phased-array antennas are the primary antennas for science downlinks and have a 12° electronically steerable beam over a range of 90û. There are two antennas mounted in the spacecraft X-Y plane, covering the +X, +Y quadrant and the –X, -Y quadrants. When pointing these antennas, ground operators can simply specify the boresight as an azimuth angle in the spacecraft body plane. If the azimuth angle specified is not in the valid range for the antennas, or the MDIS angle is specified outside its valid range, the flight code defaults to the nearest bound of the valid antenna range. Figure 3 illustrates the phased-array antenna fields-of-view in the spacecraft body frame. Table 1 Summary of Boresight Vector Options Vector Option Reference Frame Number of Parameters (Unit) vector Spacecraft body frame 3 Azimuth and elevation angles Spacecraft body frame 2 Fixed angle in MDIS scan plane MDIS scan range 1 Fixed angle in phased-array scan plane Phased-array scan plane 1 -Y 50° 40° +Z Figure 2. MDIS Scan Range in Spacecraft Body Frame 12° Front Antennas 90° +X Back Antennas +Y 90° 12° Figure 3. Phased-array Antenna Fields-of-View and Scan Ranges in Spacecraft Body Frame Aimpoint Vector Options The aimpoint vector specifies the primary target in the inertial frame. The complete set of options for setting this vector is summarized in Table 2. This target usually defines the science observation point but also can be used for engineering and communications activities. The aimpoint may be specified manually by setting an inertial direction via a unit vector in the inertial frame or right ascension (RA) and declination (DEC) angles referenced to the EME2000 inertial axes. This vector may also be specified by a position in the inertial frame relative to the Earth (ECI frame), Sun (SCI), or the target planet (TPCI). Other alternatives are to specify this vector in the target planet-rotating frame or as latitude and longitude angles and height above the surface. This requires the IAU model for the target planet rotation in the inertial frame, to transform body fixed positions into the inertial frame. Table 2 Summary of Aimpoint Vector Options Vector Option Reference Frame (Unit) vector Inertial (EME2000) frame Right ascension and declination angles Inertial (EME2000) frame Earth-centered inertial position Inertial (EME2000) frame Sun-centered inertial position Inertial (EME2000) frame Target planet-centered inertial position Inertial (EME2000) frame Target planet body-fixed vector Target planet rotating frame Target planet LAT/LONG and height Target planet rotating frame AZ and EL in LVLH frame (AZ reference LVLH frame Is downtrack direction) AZ and EL in LVLH frame (AZ reference LVLH frame is target planet to Sun vector in LH frame) Spacecraft-to-Sun vector N/A Spacecraft-to-Earth vector N/A Spacecraft-to-target planet vector N/A Target planet subsolar point N/A Target planet optimal lighting condition N/A Number of Parameters 3 2 3 3 3 3 2 2 2 0 0 0 0 0 The aimpoint may also be specified in rotating frames centered at the spacecraft, termed localvertical, local-horizontal (LVLH) frames. There are two such frames defined in the MESSENGER flight software. For both LVLH frames, the local vertical direction is aligned with the target planet-spacecraft vector. In the first LVLH frame, the azimuth reference in the local horizontal frame is along the flight path (the velocity vector projection in the local horizontal plane). The second frame uses the target planet-Sun vector projection in the local horizontal frame as the azimuth reference. Figure 4 illustrates the two LVLH frames. Orbit Normal (Position i i x Velocity) S/C Velocity (Downtrack) LVLH Y Planet-Sun Direction LVLH X LVLH X LVLH Z LVLH Z S/C Position Nadir Sun Direction LVLH Y Nadir Inertial Y Inertial Y Inertial X S/C Position Inertial Z Inertial Z Inertial X Figure 4. LVLH frames, in which Azimuth Reference is the Spacecraft Downtrack Direction (left) and the Target Planet-Sun Direction (right) The above methods for describing the aimpoint allow pointing at locations that are fixed in the inertial frame or any of the additional frames modeled onboard the spacecraft. The aimpoint may also be specified as one of a collection of targets whose motion in the inertial frame is modeled. By using the ephemeris models, any of the modeled bodies may be specified as an aimpoint. This includes the spacecraft-Sun vector, the spacecraft-Earth vector, or the spacecraft-target planet vector. Additionally, the science team has specified two specialized viewing geometries of interest that optimize the lighting conditions of the surface point on the target planet. For both options, it is convenient to define the instrument incidence angle (I) and the instrument emission angle (E). The incidence angle is defined as the angle between the target planet surface normal and the Sun direction, in the spacecraft-target planet-Sun plane. The emission angle is the angle between the surface normal and the spacecraft-to-surface point vector. The first pointing scenario aims the spacecraft boresight to the surface location that minimizes the incidence angle or (expressed another way) as close to the planet subsolar point as possible. The intent of the second scenario is to target the instrument boresight close to the subsolar point without creating excessively oblique viewing conditions for the instrument. The science team created an approximate mathematical formulation to quantify their required optimal viewing geometry. Because the mathematical expression is not exact, a tight tolerance on the solution is (in general) not necessary, and simplifying assumptions in the solution are allowed. The desired viewing conditions are achieved by finding the surface point that maximizes the following function: F( E , I ) = cos( E ) * cos( I ) r 2 − rt2 − RM2 E = π − cos −1 − 2 rt R M (17) (18) rt = r 2 + RM2 − 2rRM cos(α − I ) (19) where F is the function to be maximized, r is spacecraft to nadir distance, RM is central body radius, rt is the distance from spacecraft to surface point with incidence angle I, E is instrument emission angle, α is spacecraft-nadir-Sun angle. Although Eq. (17) has been expressed above as a function of both E and I, it may be reduced to a function of only the incidence angle by performing the requisite substitution Eq. (19) into Eq. (18), and the result into Eq. (17). This reduces the problem to solving a transcendental function of one variable. The direct approach to solving this equation requires computation of the function’s derivative, which is computationally expensive. In order to avoid computation of this derivative, the maximum of the function can easily be found using the family of 1st-order methods, which allow the extremum to be found via function evaluations only. By inspection of Figure 5, it is easy to see that the solution can quickly be bounded to a region between 0 emission and 0 incidence, which assists in the numerical Boresight Direction Surface Normal E I Mercury To Sun E – Emission Angle I – Incidence Angle Figure 5. Geometry of Instrument Emission Angle and Incidence Angle for a Given Surface Point solution. The Golden Section algorithm7 is used as it is guaranteed to converge for a bounded solution, and the algorithm has the added benefit of giving the number of iterations required for a specified solution tolerance. The method assumes a spherical planet (RM is constant), which is a reasonable approximation as the mathematical formulation of the lighting condition is not exact and there are no reliable measurements of the oblateness of Mercury. The current standard IAU size model for Mercury assumes a spherical shape. Note that the incidence angle for a surface point on the night side of the planet is meaningless. The algorithm will continue to converge to a solution in this case, although this scenario is meaningful only when the instrument can see the day side of the planet. There is no attempt by the flight code to recognize or avoid the use of this scenario on the night side of the central body, and it is left to the science planning tools and mission operations to avoid this situation. Body Roll Vector Options The body roll vector specifies the secondary vector in the body frame to be aligned with the secondary target in the inertial frame. The complete set of options for setting this vector is summarized in Table 3. This vector is typically specified as a unit vector (dimensional vectors in the body frame can be reduced to unit vectors without loss of generality). All possible vectors can be specified with Cartesian components for this unit vector in the body frame or equivalently, with azimuth and elevation angles. Table 3 Summary of Body Roll Vector Options Vector Option Reference Frame Number of Parameters (Unit) vector Spacecraft body frame 3 Azimuth and elevation angles Spacecraft body frame 2 External Roll Reference Vector Options This vector specifies the secondary external target in the inertial frame. The complete set of options for setting this vector is summarized in Table 4. The suite of secondary targets is less extensive then the options for the aimpoint vector. These options include inertial directions specified as a unit vector in the inertial frame or right ascension (RA) and declination (DEC) angles referenced to the EME2000 axes. Additionally, the external roll reference vector can be specified as any of the ephemeris bodies: the Sun, Earth, or target planet. Table 4 Summary of External Roll Reference Vector Options Vector Option Reference Frame Number of Parameters (Unit) vector Inertial (EME2000) frame 3 Right ascension and declination angles Inertial (EME2000) frame 2 Spacecraft to Sun vector N/A 0 Spacecraft to Earth vector N/A 0 Spacecraft to target planet vector N/A 0 INERTIAL POINTING SCENARIOS In the prior section, the options for setting each of the attitude vectors were described. In some cases this involves setting the vector explicitly, and in other cases time-varying positions are computed onboard to track the motion of celestial bodies. As a further convenience to mission planners and the ground operations team, common sets of these vectors have been packaged together as scenario “shortcuts.” These sets of attitude vectors can wholly specify the spacecraft attitude and body rates, without the ground manually setting each vector individually. Additionally, a scenario has been added at the request of the science team to conduct atmospheric limb scans. Rather than manually setting the attitude vectors that accomplish this motion, this special case has been included as its own scenario. The scenario descriptions follow and are summarized in Table 5. Pointing Shortcut Name +Z pointing Nadir pointing MDIS pointing Double target pointing Downlink pointing Limb pointing (terminator case) Limb pointing (generic case) Table 5 Summary of Scenario Shortcut Options Aimpoint Boresight BRV User defined +Z body -Y Target Planet Nadir +Z body -Y User defined MDIS boresight -Y User defined/User defined +Z body/MDIS -Y boresight Spacecraft to Earth Phased-array -Y boresight Surface point on target +Z body -Y planet limb and terminator plane Surface point on target +Z body -Y planet limb with user defined azimuth ERRV MESSENGER to Sun MESSENGER to Sun MESSENGER to Sun MESSENGER to Sun MESSENGER to Sun MESSENGER to Sun MESSENGER to Sun Plus Z Pointing Most of the instruments onboard MESSENGER are mounted on the instrument deck of the spacecraft and are co-boresighted along the +Z spacecraft body axis. Consequently, it is convenient to define a pointing scenario where the aimpoint can be supplied as any target, but the boresight is selected from the suite of instruments looking along the +Z axis. By specifying the secondary target as the Sun and the secondary body axis as –Y, the +Z axis may be pointed at the primary target, without compromising Sun safety. This primary target (aimpoint) may be any (possibly time-varying) inertial target. Allowances have been made for variability in the direction of the boresight of each instrument on the instrument deck. This scenario requires only that the user select the instrument and its intended aimpoint (target). Nadir Pointing This scenario is similar to that described in Plus Z Pointing, but the primary target is specified as nadir of the target planet. Under this scenario shortcut, the user need only specify the instrument used for observation (from the suite that is co-boresighted along the +Z axis). MDIS Pointing This scenario is used to point the MDIS camera. In addition to achieving viewing geometries not possible with the fixed boresight instruments, the MDIS imager makes it possible to off point the spacecraft under certain geometries in order to use solar torque to passively dump accumulated momentum. In this scenario, the BRV and ERRV are the –Y axis and spacecraft-Sun direction, respectively, which help ensure Sun safety. The aimpoint is the only attitude vector which must be specified by the ground. Double Target Pointing The double targeting strategy allows the science team to accommodate different science goals by collecting data with one of the fixed boresight instruments and the MDIS imager. This scenario points a fixed boresight instrument at its desired target, and then uses the scan platform in the MDIS imager to point its camera at a second target, all while maintaining Sun safety. This allows the MDIS instrument team to obtain images while viewing geometries are optimized for any of the other fixed-boresight instruments. This scenario enforces Sun safety as the top priority and always emphasizes pointing the fixed boresight instrument over the MDIS imager. Said another way, this scenario is much like the +Z pointing while using the MDIS flexibility to obtain additional images opportunistically. The reverse heirarchy, emphasizing MDIS targeting over the fixed instruments is not supported. Downlink Dump Pointing MESSENGER designates 8-hours every other orbit (centered at apoapsis) for downlinking collected science data. This scenario requires that one of the two fanbeam antennas be pointed at the Earth while simultaneously maintaining Sun safety. The fanbeam antennas each have a 15û by 4û FOV but are electronically steerable along their primary axis up to 90û, so their coverage nominally spans an entire quadrant of the X-Y spacecraft body plane and extends above and below this quadrant by 2û. A sketch of the FOV of the fanbeam antennas is provided in Figure 3. This antenna configuration allows communication with the Earth at all times despite the Sun-safety constraint, although there are short durations during cruise where Sun occultations prevent ground communication. The guidance uses the variability in the boresight for these antennas to dump momentum passively by off pointing the spacecraftSun line whenever possible. This passive momentum dump is only constrained when the Earth-spacecraftSun geometry is nearly collinear. This passive momentum dumping strategy is an important part of the guidance design, as it reduces the number of momentum offloads from the thrusters and permits better science observations as the orbit remains unperturbed for long stretches. The mathematical formulation for attitudes that use the Sun as a means of passively dumping momentum while in the downlink configuration are described in Vaughan et. al.8, and are not repeated here. Limb Pointing/Scans Another scenario of interest to the science team is an atmospheric limb scan shown in Figure 6. In these scenarios, MESSENGER points an instrument at the central body limb and scans up and down along the radial direction. This scenario is divided into two separate categories, one where the point on the central body’s surface must coincide with the terminator plane, and another more general case, where this point is defined by an azimuth reference in the spacecraft’s local horizontal plane (LH). Downtrack LV Downtrack Lampshade Solutions LV Lampshade Solutions AZ Surface Normal Surface Normal To Sun Terminator Figure 6. Sketch of Generic Limb Pointing Geometry and Terminator Limb Pointing Geometry In order for such a limb point to exist, it must meet three conditions: (1) it must lie on the surface of the central body ellipsoid, (2) it must intersect the spacecraft lampshade cone, and (3) it must lie in the plane defined by the azimuth angle (or defined by the terminator plane). Notice that for the generic case, there is always a unique solution, however, for the terminator case there can be 0, 1, or 2 solutions. Mathematically, the three conditions are: x2 y2 z2 + + =1 a 2 b2 c 2 r rx r x + y2 y + z2 z = 1 2 a b c Sx x + S y y + Sz z = 0 (20) (21) (22) where [x y z] is the location of the limb solution, [rx ry rz] is the spacecraft position in the central body rotating frame, [Sx Sy Sz] is the Sun position vector in the central-body rotating frame, and a, b, and c are the central-body ellipsoid radii. Because Eq. (20) is nonlinear, the simultaneous solution yields a quadratic, and thus 0, 1 or 2 solutions, as expected. For the 2-solution case, the solution that is closer to the spacecraft downtrack direction is selected, and for the case without a real solution (imaginary roots in the resulting quadratic) the algorithm defaults to nadir pointing, [x y z] = [0 0 0]. Atmospheric scans are accomplished by linearly varying the limb height over time and adding this additional term along the radial direction of the current limb point. Note that the limb point does creep along the surface during the scan and that the scan is conducted along the radial direction, which for the triaxial ellipsoid is generally not the surface normal direction. SCAN PATTERNS One other aspect of the guidance system is the ability to superimpose scan patterns on any of the inertial pointing scenarios. These scans are used to design mosaics or continuous scans that enable target motion in an instrument FOV. Each ground command that sets the spacecraft pointing option has a second component, which indicates whether or not a scan pattern is to be used with the commanded pointing. Scans are parameterized by tuning values in the flight code that regulate the durations, rates, and reversals of the scan motion, as well as specifying the reference frame for the scan commands. Scan patterns can be executed in several reference frames to achieve a variety of boresight motions relative to a target. Scans may be specified in the spacecraft body frame, or in four different ways when referenced to an external frame. Scans may be commanded as inertial rotations, inertial translations, planet body-fixed translations, or rotations in a local-vertical, local-horizontal frame (LVLH). The guidance system enforces certain compatibility restrictions between the scan frame and the base pointing option, and scan options are not allowed in the downlink pointing scenario. Scans referenced to the body axes may be supplemented to any pointing option (except downlink), but scans constructed in any of the external frames must be consistent with the base pointing option. For instance, if the command was given to point an instrument at a location on the celestial sphere, imposing an inertial translation scan is meaningless, as the target is considered to be infinitely far from the spacecraft. Thus to move this target along the inertial axes by some translational rate is physically meaningless. If incompatible scan motions are requested, the software defaults to the basic pointing and ignores the requested scan. Each scan pattern is specified as a series of motions at a constant rate, pauses, and reversals along each of the three orthogonal axes of the specified frame. Each axis of the scan frame may have a different commanded scan rate, duration, and (possibly) intervening pauses. This allows the ground team easily to construct intricate boresight tracks with a single algorithm. For scans commanded in the body frame, the algorithm modifies the nominal boresight direction in the body frame with the commanded scan motion. The spacecraft must compensate for the mobile boresight direction in the body frame by rotating the spacecraft in the opposite direction to keep the target in the sensor FOV. For scans referenced to an external frame, it is easy to see that the aimpoint direction in the inertial frame can be modified to include the desired motion, and the nominal spacecraft commands will track this mobile target. So, instead of modifying the attitude and rate command directly with a complex algorithm that models target/body motion, the guidance modifies the attitude vectors prior to computing attitude and body rates. These vectors include the scan motion by changing either the boresight and its rate in the body frame (if the scan pattern command is in the body frame) or the aimpoint and its rate in the inertial frame (if the scan pattern command is in any external frame). This allows the algorithm that computes the commanded attitude and body rates Eqs. (1)-(16) to remain unchanged. Note that the scan pattern algorithm requires some level of intelligent use by the ground team. At each discrete change in scan rate (at a reversal or a pause), the control system will experience some overshoot in both the attitude and rate profiles. The magnitude and duration of this overshoot is dependent on the desired scan rates, and the torque authority of the actuators (in this case, the reaction wheels). This requires judicious use by the ground operators not to generate scan patterns that exceed the capability of the spacecraft hardware. Likewise, it requires careful planning on the part of the science team to account for the physical limitations of the hardware and to allow for the control system response during imaging sequences. Pointing Transitions Figures 7 and 8 show a typical transition between pointing scenarios for the commanded attitude and the estimated attitude. The simulation begins in a downlink attitude, where the Earth appears in the X-Y body plane and inside the +X, +Y quadrant, as this corresponds to one of the phased-array antenna FOVs (EL=0û, AZ=-33û). The Sun direction in the body frame is centered on the –Y axis (0û AZ and EL). The commanded slew begins at 500 seconds, and the spacecraft response takes about 70-100 seconds to settle to the new commanded attitude and rate. The second scenario command is MDIS instrument to Mercury nadir, and this is consistent with the azimuth and elevation for Mercury in the body frame, as it lies in the MDIS scan range. The commanded attitude is discontinuous across transitions between scenarios, and it is left to the control law to handle this discontinuity. There is no attempt in the guidance algorithm to smooth this transition between pointing scenarios, even for large slews. Despite this, the estimated attitude never violates the Sun keep-in zone (SKIZ). In fact, for this case, the Sun never leaves the spacecraft –Y body axis (0û AZ and EL). 0.24 q1 0.22 0.2 Commanded Quaternion Estimated Quaternion 0.18 200 300 400 500 600 700 800 900 300 400 500 600 700 800 900 300 400 500 600 700 800 900 300 400 500 600 Time (seconds) 700 800 900 -0.06 q2 -0.08 -0.1 -0.12 -0.14 200 0.62 q3 0.615 0.61 0.605 0.6 q4 200 0.764 0.762 0.76 0.758 0.756 0.754 200 Figure 7. Commanded/Estimated Quaternion for Typical Pointing Scenario Change Ear th Angles in S/C Body Fr ame 10 E arth AZ E arth EL Degrees 0 -1 0 -2 0 -3 0 -4 0 200 300 4 00 5 00 6 00 700 800 900 1000 Sun Angles in S/C Body Frame 0.01 5 Sun AZ Sun EL 0.01 Degrees 0.00 5 0 -0.00 5 -0.0 1 200 300 4 00 5 00 6 00 700 800 20 1000 T arget P lane t AZ T arget P lane t EL 0 Degrees 900 Tar get P lanet Angles in S/C Body Fr ame -2 0 -4 0 -6 0 -8 0 200 300 4 00 5 00 6 00 700 800 900 1000 Time (seconds) Figure 8. Celestial Body AZ and EL in MESSENGER Body Frame During Scenario Change CONSTRAINED POINTING The prior commands specify the attitude vectors that define the pointing during unconstrained operation. With careful planning, it is possible that the attitude safety constraints are never violated, but the guidance continually monitors the commanded attitude for violation of these constraints. If a violation is detected, the command is forced to a valid attitude that both satisfies the constraint and continues to get as close as possible to the intended target. Sun Safety Constraint As a result of the extreme thermal environment MESSENGER will experience when in orbit around Mercury, an integral part of the spacecraft design is the thermal sunshade. It is mission critical that this sunshade isolate the instruments and other spacecraft components from direct exposure to the Sun. Consequently, Sun safety is the primary constraint monitored by the guidance algorithm. A constraint boundary may be placed around any spacecraft axis to define the SKIZ. In the event that the ground has determined that the Sun safety constraints are active, the computed attitude must place the spacecraft-Sun line inside this SKIZ. This constraint checks the azimuth and elevation of the spacecraft-Sun line in the attitude command and verifies that it lies within some uploadable bounds on both angles. Nominally, for Mercury orbit conditions, the axis is chosen as the spacecraft -Y body axis (center of the sunshade), and thus the Sun azimuth and elevation must satisfy: -15º < AZSun < 15º -13º < ELSun < 13º (23) (24) If the nominal desired attitude places the Sun direction outside this SKIZ, the guidance recomputes an attitude that places the Sun at the constraint boundary. This is accomplished inside the guidance algorithm by first computing the point along the SKIZ boundary that is as close as possible to the Sun vector from the original attitude command. This becomes the new boresight vector, and its corresponding aimpoint is the spacecraft-Sun direction. This will place the Sun vector at the boundary to the SKIZ, and the spacecraft is rotated around this line until the original aimpoint and the original boresight lie as close as possible to one another. By swapping the vectors in the attitude algorithms, the same algorithm can be used to compute the safe attitude and resulting body rates. The external/body vector switching is described in Table 6. Table 6 Summary of Attitude Vectors in Before/After SKIZ Constraint Applied Before SKIZ Constraint After SKIZ Constraint Aimpoint Spacecraft to Sun A External Roll Reference E A Boresight Body vector to SKIZ boundary B Body Roll Vector R B Placing the Sun at the SKIZ boundary will no longer allow for precise pointing at the designated aimpoint, but this new attitude will place the original boresight as close as possible to the original aimpoint. The guidance never issues a command outside of the SKIZ boundary, although any attitude may be achieved by changing the limits of the SKIZ or by switching off the constraint entirely. Because of the discontinuous nature of the guidance commands and the resulting tracking errors, it is possible for the control system response to violate the SKIZ. These errors are generally due to overshoot in the control response and as such are of limited magnitude and duration. In addition, the anticipated overshoot can be accounted for in the parameterization of the attitude constraint boundaries, so that Sun safety violations are not triggered. In other words, the software constraint boundaries can be set slightly inside the actual constraint boundary imposed by the physical dimensions of the sunshade. Hot-pole Keep-Out-Zone The second constraint monitored by the guidance is also the result of the thermal conditions when in orbit at Mercury. When MESSENGER passes within a small distance of the subsolar point at low altitudes, the top deck (-Z body direction) must be pointed away from the planet. This region is termed the “hot-pole keep-out” (HPKO) zone, and is designed to prevent the top deck from damage due to radiation from Mercury. The geometry for this event will be known well ahead of its occurrence, and under normal circumstances mission planners will avoid generating any commands that violate the HPKO. Guidance must monitor this constraint to prevent inadvertently commanding a violation in the event that the spacecraft is in an intermediate safing mode during a hot-pole crossing. In this event, guidance computes an attitude that is at the HPKO constraint boundary, while as close as possible to the downlink configuration. This modification to satisfy the constraint only persists as long as the constraint persists. Once the spacecraft passes out of the defined hot-pole region, normal downlink pointing is automatically reestablished. In the event that either of these constraint violations persists for some short period of time, a constraint monitor (external to the guidance algorithm) will force MESSENGER to execute a safing turn. This safing turn interrupts the current observation and rotates the spacecraft to a Sun- (or planet-) safe attitude and demotes the spacecraft to the next lowest safing mode. Due to the drastic response of a constraint violation, the tolerances on the boundaries of the constraint monitor are designed so that they are not triggered by small violations such as overshoot in the control system response. This design prevents unnecessary safing turns without sacrificing spacecraft safety. Safe Modes The wide range of options described above is available in normal operation; MESSENGER’s operation is limited in both of its lower-level safing modes. In Safe Hold mode, the spacecraft is in an attitude that maintains communication with Earth and enforces strict Sun safety. From a commanded attitude standpoint, if the spacecraft is demoted to Safe Hold mode the guidance logic will accept pointing commands only for downlink attitude. All other commands during this time are ignored. The flight code maintains a separate set of parameters for this scenario (apart from the operational set of downlink parameters) that allows for different parameterization of Sun keep-in-zones. This mode never allows scan patterns and always enforces the Sun safety constraints. In Earth Acquisition mode, inertial reference has been lost, and the spacecraft is assumed to have only Sun sensor and gyro data. In this mode, the guidance commands the spacecraft into a slow rotation about the Sun direction in the body frame, while the antennas attempt to reestablish communication with the Earth. This safing mode uses a special algorithm in the flight code, as there are not enough vectors to specify completely a unique attitude. In this case, in lieu of giving the controller a commanded attitude and rate, the guidance passes the quaternion error defined by: qerr unit (S × B) ⋅ sin (θ2 ) = cos( θ2 ) −1 θ = cos (S ⋅ B ) (25) (26) where the vector S is the sensed Sun direction in the spacecraft body frame, θ is the angle between the sensed Sun vector and the spacecraft boresight, and the first three elements of qerr denote the vector portion of the quaternion error and the last element the scalar component. The control algorithm uses this attitude error instead of computing it from the commanded/estimated attitudes. The rate command for this mode is the desired rotation rate about the boresight direction. In the event that the Sun direction in the body frame is lost, due to a loss of Sun sensors and a failure of the coarse ephemerides (an unlikely event), the guidance commands a slow rotation about a sequence of body axes that will allow the Sun sensors to reacquire the Sun vector. This condition is another special case, as there is no attitude command computed in the guidance algorithm for use in the controller. In this case, the control algorithm is in “rate-only” mode, and the guidance software is only creating a body rate command. This rate command begins by commanding a rotation about one of the spacecraft principal axes for a specified duration. If, after some duration, the Sun hasn’t returned, the algorithm begins commanding a new rate about a second principal axis. This process of cycling through spacecraft axes is repeated, in an attempt to search randomly the sky for the Sun, until a valid Sun direction reading is obtained from the Sun sensors? or the star trackers reacquire inertial reference, at which point the ephemeris models can be used to obtain the Sun direction. ∆V GUIDANCE MESSENGER carries a set of thrusters which are available for attitude control, momentum dumps, and ∆Vs. There are three different size thrusters, with each set primarly used for differnent functions. The large ∆V manuevers are handled with the bi-propellant Large Velocity Adjust (LVA) 660-N thruster. This is mounted on the top deck of the spacecraft (-Z face) and imparts a force along the +Z direction, as depicted in Figure 1. Surrounding the LVA are the C-cluster 22-N thrusters, all pointed along the +Z direction and mounted at the corners of the spacecraft –Z face, that are used for smaller manuevers and attitude control when using the LVA. There is also a set of eight 4.4-N thrusters mounted in the corners of the spacecraft for momentum dumps and attitude control during burns. Ther are four additional 4.4-N thrusters that allow for small manuevers in the +Y and –Y when the spacecraft is unable to burn in these body directions due to Sun-safety constraints. All of the 4.4-N and 22-N thrusters are hydrazine monopropellant units, and they can operate in a pressure regulated mode off one of the main fuel tanks, or can operate in blowdown mode when using the auxiliary fuel tank. The spacecraft relies on the ground commands for manuever execution. The guidance software requires a desired trajectory for the burn to follow and a set of thrusters to use for the burn. In order to follow this desired velocity-space trajectory, the software computes the aimpoint vector that points the thrust vector along the desired ∆V path. The boresight vector for this scenario is the estimated thrust vector direction in the spacecraft body frame. The ERRV and BRV are assumed to be the spacecraft-Sun direction and –Y axis, respectively. The mission design has incorporated the Sun safety constraints into the manuever design, so the actual burns are not expected to violate the SKIZ. Thus for the ∆V guidance, the secondary pair of vectors serves only to specify completely the attitude and is not relied on for Sun safety, as is the case with all other pointing scenarios. The desired trajectory is given in terms of the velocity profile the spacecraft is to follow (minus any gravitational effects). This trajectory is linear for turn and burn manuevers and can be up to a cubic polynomial for the powered turn used for the Mercury orbit-insertion manuever. A nominal desired trajectory in two-dimensional velocity space is shown in Figure 9. The discussion here is limited to this 2D case, but can easily be extended to the full three-dimensional case. Beginning on the dashed desired reference trajectory at Point 1, the aimpoint is targeted towards a future point on the reference trajectory at Point 2. Because the thrust vector has some alignment uncertainty and the control system has some imprecision, steering with this aimpoint lands the spacecraft at the off-nominal Point 3. This has produced some angular error, θ. In order to drive the spacecraft back onto the desired trajectory at some future point, corrections need to be applied to the steering direction computed from the reference profile. 1 θ 2 4 3 Desired Trajectory β 6 θ 5 Figure 9. ∆V Guidance Correction Angles The nominal aimpoint would lie along the direction from Point 2 to Point 4 for the second stage in the burn. Noting that the segments 2-4 and 3-6 are parallel, steering with this aimpoint (derived from the reference trajectory) will cause further perturbations from the desired trajectory. Again this steering strategy will force the spacecraft to drift by angle θ from the original direction, to Point 5. Correcting for this angular drift in Stage 2 will correct for some of the errors in the actual trajectory, and the spacecraft will end up at Point 6. However, simply compensating for the misalignment does not allow the full trajectory error to be removed, as there is an accumulated offset due to prior pointing/sensor errors. By applying a second correction, given by angle β, the accumulated offset can be eliminated and the spacecraft will land back on the reference curve at Point 4. Thus the algorithm has two corrections: θ for thrust vector misalignments and β for accumulated deviations from the reference curve. The description above is idealized, for even by applying both corrections in Stage 2, it is unlikely that the spacecraft will land back on the trajectory at Point 4. Misalignments will vary slightly as the center of mass wanders while fuel is consumed. It is also unlikely that controller errors or accelerometer noise are consistent over constant time intervals in the burn. The β correction automatically compensates for these new offsets and will always help to drive the spacecraft back onto the reference curve. However, β is a reactive correction as it can only eliminate accumulated errors. By making the predictive correction, θ, an accumulated correction, that is: by letting θ1 = θ0 + θ1, this correction is driven to the thrust vector offset from nominal. This procedure significantly reduces errors due to thrust vector misalignments, and this correction accurately models the thrust vector in the body frame, which is useful for designing future burns. This correction is computed once per second during the burn, and so it is possible that each burn can have hundreds or even thousands of such corrections. This procedure of repeatedly making this predictive correction allows the actual burn to mirror closely the desired trajectory, even in light of measurement noise and center-of-mass motion. Figure 10 shows the quaternion command and control response during a sample 10 m/s burn. The associated spacecraft velocity errors between the actual (simulated) trajectory and the desired reference trajectory are provided in Figure 11. Although the burn is a simulation of a turn-and-burn maneuver, the -0.66 Guidance Comm and Attitude Estimate q1 -0.68 -0.7 -0.72 -0.74 400 450 500 550 600 650 700 750 800 450 500 550 600 650 700 750 800 450 500 550 600 650 700 750 800 450 500 550 600 650 700 750 800 0.23 q2 0.22 0.21 0.2 400 -0.64 q3 -0.66 -0.68 -0.7 400 0.12 q4 0.11 0.1 0.09 0.08 400 T im e (seconds) Figure 10. Commanded and Estimated Quaternion for Aribitray 10m/s Burn X Error (m/s) 0.04 0.02 0 -0.02 -0.04 -0.06 400 450 500 5 50 600 650 700 750 800 450 500 5 50 600 650 700 750 800 450 500 5 50 600 650 700 750 800 Y Error (m/s) 0.03 0.02 0.01 0 -0.01 400 Z Error (m/s) 0.05 0 -0.05 -0 .1 -0.15 400 T ime (seconds) Figure 11. Velocity Space Trajectory Errors for 10m/s Burn T im e (seconds) quaternion command does wander in order to keep the burn along the desired inertial direction. This variability in the attitude command removes errors due to the thruster performance variations and misalignments as well as accelerometer bias, drift, and noise. The simulation was terminated on accumulated magnitude of the spacecraft velocity change, and results in very small errors in the burn magnitude (~2mm/s) and direction (~0.2º). CONCLUSION The guidance algorithms and architecture for the flight code for the MESSENGER mission emphasize computational efficiency and robustness and offer a great deal of flexibility to mission planners to achieve a variety of anticipated pointing conditions. While system accuracy is the chief concern, developing a suite of pointing options that have a high degree of autonomy was an additional motivation. The collection of base pointing options presented, can, in general, be commanded with a single ground command to determine the commanded attitude and rate. This reduces costly communication time with the spacecraft, and the extensibility of the pointing options allows for many viewing geometries to be accommodated without the need for complex ground commands. The base pointing options can be modified with scan patterns that enable complex imaging mosaics to be easily executed. An additional strength of the architecture presented is that the same algorithm is used to compute commanded attitude with and without scan patterns or attitude constraints. Likewise, the burn scenarios are handled with a single algorithm, both in the turn-and-burn case, and the more specialized powered-turn. Development time and costs were also reduced by using flight heritage4 whenever possible. ACKNOWLEDGEMENT The work described in this paper was performed at The Johns Hopkins University Applied Physics Laboratory, under contract (NAS5-97271) with the National Aeronautics and Space Administration, Discovery Program Office. REFERENCES 1. S. C. Solomon et. al., “The MESSENGER Mission to Mercury: Scientific Objectives and Implementation,” Planetary and Space Science, Vol 46, Issues 14-15, pp. 1445-1465, December 2001. 2. R. E. Gold et. al., “The MESSENGER Mission to Mercury: Scientific Payload,” Planetary and Space Science, Vol 46, Issues 14-15, pp 1467-1479, December 2001. 3. A. G. Santo et. al., “The MESSENGER Mission to Mercury: Spacecraft and Mission Design,” Planetary and Space Science, Vol 46, Issues 14-15, pp. 1481-1500, December 2001. 4. G. A. Heyler and A. P. Harch, “Guidance and Control Aspects of the Mathilde Fast Flyby,” AAS Guidance and Control Conference, AAS-98-071, Breckenridge, CO, Feb. 4-8, 1998. 5. C. Acton, SPICE Overview, http://pds.jpl.nasa.gov/New_SPICE_Overview.pdf , 2001. 6. J. R. Wertz, Spacecraft Attitude Determination and Control, D. Reidel Publishing Co., Dordrecht, Holland, 1978. 7. G. N. Vanderplaats, Numerical Optimization Techniques for Engineering Design, Vanderplaats Research and Development, Inc., Colorado Springs, CO, 1998, pp. 49-54. 8. R. M. Vaughan et. al., “Momentum Management for the MESSENGER Mission,” Paper AAS 01-380, AAS/AIAA Astrodynamics Specialists Conference, Quebec City, Quebec, Canada, July 30-August 2, 2001.