Draft For Release R2016a - SourceForge

Transcription

Draft for Release R2016aDRAFTGeneral Mission Analysis Tool (GMAT)Estimation ComponentsArchitectural Speci cation, Vol. IIThe GMAT Development TeamGoddard Space Flight CenterThinking Systems, Inc.Codes 583 and 5956441 N Camino LibbyGreenbelt, Maryland 20771Tucson, Arizona 85718August 25, 2016

Draft for Release R2016a

Draft for Release R2016aContentsPrefacevI1Estimation Overview1 GMAT's Estimation Subsystem1.11.21.3II3Classes and their Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.1.1Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.1.2Commands51.1.3Helper Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6Collaboration between Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Walkthrough of Sample Script Execution9. . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1The Sample Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91.3.2Overview of a GMAT Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101.3.3Script Execution Walkthrough13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Estimation Components212 The Estimators and Simulator232.12.22.32.4The Estimator Base Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242.1.1Key Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242.1.2Estimator Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26The BatchEstimator Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272.2.1Key Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272.2.2BatchEstimator Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32The BatchLeastSquares Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332.3.1Key Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332.3.2BatchLeastSquares Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34The Simulator Class2.4.1Key Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352.4.2Simulator Members38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Commands used in Estimation and Simulation393.1Command Usage in GMAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393.2Estimation Command Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403.33.4The RunEstimator Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423.3.1RunEstimator Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43The RunSimulator Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .443.4.1Key Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .463.4.2Class Design46. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i

Draft for Release R2016aii3.4.3RunSimulator MembersCONTENTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Events and Event Location46494.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .494.2Components that Control Event Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . .494.3The Event Location Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504.4Event Location Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .524.4.1Event Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .524.4.2The EventManager Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .554.4.3The RootFinder Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .565 Measurement Classes and Measurement Models5.1The Measurement Class5.1.15.25.35.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Measurement Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .595961GroundstationMeasurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .625.2.162GroundstationMeasurement Members. . . . . . . . . . . . . . . . . . . . . . . . . . .GroundStationRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .635.3.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64GroundstationRange MembersThe MeasurementManager Class6 Measurement Corrections656.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .656.2Additive Corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .656.3Event Based Corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .657 Hardware Used in Estimation697.1Hardware Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .697.2Estimation Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .708 Tracking Systems71III73Estimation Examples

Draft for Release R2016aList of Figures1.1OD Components and Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2GMAT Run Overview Running a Script. . . . . . . . . . . . . . . . . . . . . . . . . . . .101.3GMAT Run Overview Top Level Action Details . . . . . . . . . . . . . . . . . . . . . . . .111.4Steps in the Sandbox Initialization Process. . . . . . . . . . . . . . . . . . . . . . . . . . .161.5Reference Object Setting during Initialization . . . . . . . . . . . . . . . . . . . . . . . . . .181.6The Sandbox::Execute() Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192.1Classes in GMAT's Estimator Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242.2The Estimator Class2.3Estimator Class Initialization2.4The BatchEstimator Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282.5Initialization in the BatchEstimator Class. . . . . . . . . . . . . . . . . . . . . . . . . . . .282.6Performing Batch Estimation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292.7The BatchLeastSquares Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332.8The Simulator Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342.9The Simulation State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353.1Commands Used in Estimation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403.2Top Level View of State Machine Execution . . . . . . . . . . . . . . . . . . . . . . . . . . .413.3Interactions Between the RunEstimator Command and the Batch Least Squares Estimator433.4The Simulation State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .453.5The RunSimulator Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .474.1The Event Location Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .514.2Event Location Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .535.1The Measurement Class Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .606.1Steps in Light Time Correction: Two Way Range . . . . . . . . . . . . . . . . . . . . . . . .666.2Event Location for Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .677.1Hardware Classes Used in Measurement Modeling . . . . . . . . . . . . . . . . . . . . . . . .69. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iii82526

ivDraft for Release R2016aLIST OF FIGURES

Draft for Release R2016aPrefaceThis document describes the architecture and design of the components of GMAT built to support estimation.Readers are assumed to be familiar with GMAT's core architecture, presented in the GMAT ArchitecturalSpeci cation[ArchSpec].v

viDraft for Release R2016aPREFACE

Draft for Release R2016aPart IEstimation Overview1

Draft for Release R2016a

Draft for Release R2016aChapter 1GMAT's Estimation SubsystemStephen P. HughesNASA/Goddard Space Flight CenterDarrel J. ConwayThinking Systems, Inc.Matthew P. WilkinsSchafer CorporationIn this chapter we present the highest level view of the proposed architectural design for estimation functionality in GMAT. We employ the Classes, Responsibilities, and Collaborations (CRC) method discussedby Eckel[Eckel] to describe the architecture. We start by describing the classes and their responsibilities. Foreach class we present a brife description and a bulleted list of primary responsibilities for instances of theclass. Then, we discuss the allowable interactions and collaborations between the class instances. A diagramis presented that illustrates which classes/components can communicate with each other. For each allowablecommunication between classes, we discuss the reason for the interaction.1.1Classes and their ResponsibilitiesThere are 10 classes designed or extended speci cally for estimation that we discuss here. These classes arelisted below. Resources 1Participants (Spacecraft, GroundStation, etc.)EstimatorMeasurementSimulatorPropagator1Event LocatorCommands 1 TheRunEstimatormarked classes exist and are extended to support estimation.3

Draft for Release R2016a4CHAPTER 1. GMAT'S ESTIMATION SUBSYSTEMRunSimulatorHelpers Measurement ManagerState Manager1Propagation State ManagerEstimation State ManagerFile Reader and database*Each class in this list has speci c responsibilities and, with a few exceptions, all of the classes above areemployed to solve estimation problems in GMAT. Next we will discuss the responsibilities of each class.1.1.1ResourcesParticipantsParticipants are models of physical objects and processes that partake in the measurementgeneration process. For a GPS measurement, the participants are the user spacecraft and the GPS constellation. For an altimeter measurement the participants are the spacecraft, and the central body. Participantssuch as spacecraft and ground stations already exist in GMAT, but will require modi cation to supportestimation. In the long term, participants such as the TDRSS and GPS constellations and other Celestialbodies must be added to the system.The classes for all measurement participants must contain speci c functionality in order to support themodeling of measurements and other estimation related models. All participants must have methods to getand set speci c types of data such as state data, state transition matrix data, and covariance data amongothers. In summary, participants must support the following get/set methods: GetState() and SetState() GetSTM() and SetSTM() GetCovariance() and SetCovariance()EstimatorThe estimator class is the base class for all estimators. Estimators take observed and computedmeasurement values, and potentially measurement partial derivatives, and generate a sequence of stateestimates until convergence or until stopping criteria are met. The estimator class contains the numericalmethods such as batch least squares or the extended Kalman lter. In fact, most of the work involved ingenerating computed measurement values, including evaluating measurement models, determining visibilityconditions, and applying measurement corrections, are invisible to the estimator class. Those functions areperformed by two helper classes that provide bookkeeping and interfacing between the estimator and themeasurement objects and participants. These helper classes are called the Estimator State Manager and theMeasurement Manager and are discussed below. The primary responsibility of an Estimator is: Generate state estimates given observed and computed measurements, partial derivatives, weights, anda-priori covariances.MeasurementsThe measurement class is the base class for all measurements. For each measurement typesuch as GPS, TDRSS, and ground station, there is a class derived from the measurement base class. Similarly,for each measurement data type such as GPS pseudorange, or ground station right ascension and declination,there is a class derived from the appropriate parent class such as GPSMeasurement or GroundStationMeasurement. The measurement class performs modeling of expected measurements, given the participants inthe measurement process. These modeling functions include calculating expected measurement values including corrections, calculating measurement partials, determining if the states of participants meet visibility

1.1.Draft for Release R2016aCLASSES AND THEIR RESPONSIBILITIES5and other conditions that are required for measurement feasibility, and providing event function data for theiterative determination of light time corrections. In summary, the measurement classes have the followingresponsibilities: Calculate expected measurement values and measurement partials given the participants involved inthe measurement process. Determine if criteria are met for measurement feasibility. Provide event function for tracking schedule generation and interface with event locator. Provide event functions and interface with event locator for iterative determination of light time correction, and propagation through deterministic event times such as averaging intervals.SimulatorThe Measurement Simulator class simulates measurement observations. To perform its respon-sibilities, a simulator is provided a simulation time span and step size, a set of desired measurements tosimulate, and a list of participants for the measurements, along with a propagator to use for propagationof the system. Similar to the estimator class, most of the work involved in generating simulated measurement values is invisible to the simulator class. For example, determining measurement feasibility, evaluatingmeasurement models, and applying measurement corrections and errors are performed by the measurementobjects themselves. To summarize, the Estimator: Generate simulated measurement values.Event LocaterThe event locater, implemented in the RootFinder class, is a helper class for a propagatorthat controls propagation during the location of discrete events like eclipse entry or exit, or measurementlight time corrections. In one mode, the event locater tracks event function root values during propagationand lets the propagator know when a discrete event has been bracketed. To locate the event, iterative rootnding methods on the event locater control the propagation. In summary, the responsibilities of the eventlocater are: Bracket event function roots by identifying two points that surround a root. Iteratively solve for event function roots by controlling propagation steps.1.1.2CommandsRunSimulatorGMAT includes components that are capable of generating simulated data. The Simulator,like all of GMAT's Solvers, implements a nite state machine. The Simulator's state machine works with theRunSimulator command to calculate expected measurement values and write these data to a measurementstream typically a simulated observation le. In addition to these tasks, the command performs the usualtasks assigned to members of GMAT's Mission Control Sequence: checking for user actions such as hittingthe stop or pause button, tracking the execution location in the Mission Control Sequence, and managingobject changes induced by executing the command. In summary, the responsibilities of the RunSimulatorcommand are: Collaborate with an simulator to run the nite state machine de ning the simulation process. Perform initialization and nalization of the simulation processes. Perform standard GMAT command actions.

Draft for Release R2016a6CHAPTER 1.RunEstimatorGMAT'S ESTIMATION SUBSYSTEMThe RunEstimator command is used to tell GMAT to solve an estimation problem whenevents and maneuvers are not pat of the estimation process. The user speci es an estimator for the problem,and the RunEstimator command and the estimator work together to nd an estimate of state by executingthe transitions in the estimator's nite state machine. Depending upon the current nite state for the statemachine (for example, the state machine may be in the Initializing state or the Calculating state, or one ofseveral other states de ned for that speci c Estimator), either the RunEstimator Command or Estimator willbe driving the estimation process. The RunEstimator command also has basic housekeeping responsibilitiesrequired of all GMAT commands. These include checking for user actions such as hitting the stop button,tracking the execution location in the Mission Control Sequence, and managing object changes induced byexecuting the command. In summary, the responsibilities of the RunEstimator command are: Collaborate with an estimator to run the nite state machine de ning the estimation process. Perform initialization and nalization of the estimation processes. Perform standard GMAT command actions1.1.3Helper ClassesMeasurementManagerThe measurement manager (MM) is a helper class for the Estimator and Simula-tor classes. It performs data management and interfacing between the Solvers and the measurement objects.A measurement manager has three areas of responsibility: sorting and bookkeeping observed values that maycome from numerous les or data streams, calling the appropriate measurement object to determine computed measurement values and partial derivatives, and passing simulated data to the measurement streamobjects for storage and later use. The Solvers do not communicate directly with the measurement objects;instead, the MeasurementManager mediates that communication. The measurement manager coordinatesmeasurement information ow among all the measurement objects being used during an OD process. TheMM calls the le reader for each data le and then sorts all observations into time-wise order.Duringthe estimation process, the estimator calls the measurement manager and requests observed and computedvalues at the current epoch, as well as the measurement partials. The measurement manager then calls theappropriate measurement to determine the computed measurement value and the array of partial derivatives.During simulation, it reverses this process, calling the measurement objects to generate simulatedobservations, and then passing those data to the le writers. In summary, the measurement manager classhas the following responsibilities: Book keep observed values from observation data les and sort the observation data in time order foruse by the estimator. Provide the estimator with a time ordered array of measurement epochs. Provide the estimator with observed and computed measurement values, and partial derivatives at thecurrent measurement epoch. Provide measurement weights to the estimator. Receives generated measurement data and passes it to a data le writer or other output data stream.EstimatorStateManagerThe estimator state manager (ESM) retrieves state data from objects involvedin estimation and provides the data in a form ready for use by the estimator. Hence, much of work performedby the ESM is getting and setting state data, including state transition matrix and covariance information,so that the estimator methods do not have to interact with all of the participant objects. For example, afteran iteration (for Batch) or state update (for sequential), the ESM maps the new estimated state vector tothe participating objects. Similarly, when an estimator needs the STM, the ESM retrieves the portions ofthe STM from the objects involved in estimation and assembles the complete STM and provides it to theEstimator. In summary, the responsibilities of the ESM class are:

1.2.Draft for Release R2016a7COLLABORATION BETWEEN CLASSES Get/Set state portions on objects involved in estimation and assemble the complete state vector. Get STM chunks from objects involved in estimation and assemble the total STM for the estimator. Get/Set state covariance chunks and assemble the entire covariance matrix.File Reader/WriterThe DataFile base class de nes the methods and procedures to provide data acces-sibility to other GMAT components. These methods include being able to move from one data record to thenext, as well as being able to request individual pieces of data without knowledge of a speci c data format.The base class also provides general methods to appropriately handle the basic categories of data formats.The responsibilities of the le reader/writer class are Read all or part of a date le. Provide data of the requested type to the measurement object. Write simulated data to the requested le format.PropagatorStateManagerThe propagation state manager (PSM) retrieves state data from objects in-volved in propagation and provides the data in a form ready for use by the propagator.Hence, much ofwork performed by the PSM is getting and setting state data. For example, after an integration step theESM maps the state vector to the participating objects. Similarly, when a propagator needs the initial statevector, the PSM retrieves the portions of the state from the objects involved in propagation and assemblesthe complete state vector and provides it to the propagator. In summary, the responsibilities of the PSMclass are: Get/Set state chunks on objects involved in propagation and assemble the complete state vector.1.2Collaboration between ClassesThe design of the estimation system limits interactions between components, in order to promote loosecoupling, a design principal used throughout GMAT. Below, we discuss which components can interact, andsimilarly, which components cannot interact.There are three logical organizations of classes used in the orbit determination process: User con gured resources Estimation commands Helper classesExamples of resources include measurement participants (with attached sensors), measurements, propagators, and estimators. The helper classes include the EstimationStateManager (ESM), Propagation StateManager (PSM), the Measurement Manager (MM), and the Event Locator (EL). Currently, the only supported estimation commands are RunEstimator and RunSimulator.Figure 1.1 contains an illustration all of the components involved in the estimation process, and showswhich components can interact via arrows between the components. The interactions are discussed in moredetail below.Estimator - ESMThe ESM is an owned-object of an estimator. The estimator interacts with theESM to get/set state related data from/on estimation participants. The estimator communicates with theESM through several interfaces depending upon the type of state data such as STM, covariance, or statevector.

8Draft for Release R2016aCHAPTER 1.GMAT'S ESTIMATION SUBSYSTEMFigure 1.1: OD Components and InteractionsESM - ParticipantsThe ESM communicates with participants to set and get state related data.Measurements- ParticipantsMeasurements communicate directly with measurement participants/sen-sors. Measurement objects have pointers to all measurement participants in the measurement and thereforehave direct access to public state data required to calculate measurement values and partial derivatives.PSM - ParticipantsThe PSM communicates with participants to set and get state related data. Thisinterface is similar to the ESM- Participants interface, except the PSM and ESM may not manipulate thesame state data.ESM - PSMThe PSM and ESM interact during initialization. The ESM provides the PSM with a listof objects and IDs that are involved in the estimation process. The PSM uses this information to determinewhich states require propagation, and how those states should be propagated (analytically or numerically).In terms of the component level design, the PSM uses the data provided by the ESM to generate the ListItemstructure discussed in detail in the Component Design section.RunEstimator - PropagatorThe RunEstimator command communicates with the propagator toperform initialization and to propagate estimation participants.RunEstimator - EstimatorThe Estimator and the RunEstimator command function as a nite statemachine. This is a complex interaction described in detail in later sections.MM - Measurementsand execution.The measurement manager interacts with measurements during initializationDuring initialization, the measurement manager calls each measurement object's Initial-ize() method and calls its GetObsData() method to get the arrays of epochs, observations, and pointersto the measurement data objects.During execution, the measurement manager calls the Evaluate() andGetPartials() methods on the measurement object.Estimator - MeasurementManagerThe estimator interacts with the measurement manager to getcomputed measurement values and partial derivatives and other measurement related information.

1.3.Draft for Release R2016aWALKTHROUGH OF SAMPLE SCRIPT EXECUTION1.39Walkthrough of Sample Script ExecutionIn this the remainder of this chapter, we present a simple estimation example in script form and show at anintermediate level how GMAT would load and execute the script. The rst subsection contains the samplescript.The next subsection contains a general discussion of the steps GMAT uses to execute any script.We identify six key areas in the execution process that must be addressed in the design of new estimationcomponents and conclude the section with a more detailed discussion of what happens for the new estimationcomponents in those six key areas. The design for the objects used in this example are contained in the laterchapters of this document.1.3.1The Sample ScriptThe sample script used for the execution walk-through has 5 objects: a spacecraft named ODSat, a groundstation called Maui, a batch estimator called BLS, a measurement object named MauiData, a propagatornamed ODprop, and a RunEstimator command. The system processes range measurements between Mauiand ODsat using a batch least squares estimator.The solve-for states are the Cartesian states of thespacecraft.% %------ Define the spacecraft properties% Create Spacecraft ODSat;ODSat.Id 21639;ODSat.Epoch 24228.72771990741;ODSat.X 9882.164071524565;ODSat.Y -23;ODSat.Z 1837.579337039707;ODSat.VX 0;ODSat.VY 6.233189510799131;ODSat.VZ 0.8480529946665489;ODSat.OrbitCovariance diag([100000 2*ones(3,1);1000 2*ones(3,1)]);% % %------ Define the batch least squares solver% % Create GroundStationMeasurement MauiData;MauiData.Filename 'LEOMaui.mat';MauiData.AddDataType {'Range','ODSat','Maui'};% %------ Define the batch least squares solver% Create BatchEstimator BLSBLS.MaxIterations 10;BLS.RelTolerance 1e-5;BLS.AbsTolerance 1e-5;BLS.Measurements {'MauiData'};BLS.SolveFor {'ODSat.CartesianState'};BLS.Propagator 'ODProp';

Draft for Release R2016a10CHAPTER 1.GMAT'S ESTIMATION SUBSYSTEM% %----- Define the ground station properties% Create GroundStation Maui;Maui.Id 222;Maui.X -4450.8;Maui.Y 2676.1;Maui.Z -3691.38 ;% %----- Define the Propagator% Create ForceModel ODProp ForceModel;GMAT ODProp ForceModel.CentralBody Earth;GMAT ODProp ForceModel.PointMasses {Earth};Create Propagator ODProp;GMAT ODProp.FM ODProp ForceModel;GMAT ODProp.Type RungeKutta89;GMAT ODProp.InitialStepSize 60;GMAT ODProp.Accuracy 9.999999999999999e-12;% %----- Solve the estimation problem% RunEstimator BLS;1.3.2Overview of a GMAT RunFigure 1.2: GMAT Run Overview Running a ScriptFigure 1.2 shows a high level view of the path through a run of a GMAT script. When a user wants to runa GMAT script, she starts by opening the program, launching a set of actions that prepare the system fora run. Once this startup process is complete, she loads the script into memory. This script reading processcreates the resources described in the script, loading them into GMAT's con guration (the container GMATuses for objects created when building the resources in a script or from the GUI), and builds the commands inthe Mission Control Sequence. Next the objects are loaded into the Sandbox, and the Sandbox is preparedto perform the run by initializing all of the objects that were loaded.The mission is run, executing thescripted sequence of commands. Finally, the user closes the program, completing the process.

1.3.Draft for Release R2016aWALKTHROUGH OF SAMPLE SCRIPT EXECUTIONFigure 1.3: GMAT Run Overview Top Level Action Detai

General Mission Analysis Tool (GMAT) Estimation Components Architectural Speci cation, Vol. II The GMAT Development eam Goddard Space Flight Center Thinking Systems, Inc. Co