OrbitView

Lead: Rizwan Qureshi

Developer: Linda O. Jun

Tester: John M. Bez

 

 

 

Explore

Known Bugs

Failing Tests

Other Findings

Requirements

Interface/Functional Spec

Overview

Description

Fields

GUI

Remarks

Examples

Test Procedures

Assumptions

File Naming Conventions

Nominal Tests

Edge/Corner/Miscellaneous Tests

Unique Validation Tests

Unique Mode Tests

Unique GUI Tests

 

 

 

Explore

 

Known Bugs

I did a bug search in JIRA by selecting OrbitView (FRR-28 under components and found following P1 and P2 open bugs/issues for FRR-28 OrbitView feature:

      GMT-3110 Not all spacecraft are drawn in solver current mode for orbit view

      GMT-3108 OrbitView with STM and Propagate Synchronized does not show spacecraft in correct locations

      GMT-3082 BodyFixed coordinate system is drawn incorrectly in the 3D graphics window

      GMT-2954 GroundTrackPlot and DefaultOrbitView

      GMT-2953 OrbitView does not appear on rerun after error in initial run

      GMT-2841 Spacecraft Model Turns White, initially looks good

      GMT-2549 Spurious lines in OrbitView that depend on propagator selection

      GMT-2548 OrbitView ViewScaleFactor does not save input value

      GMT-2319 OrbitView crashes when the solver mode is set to "Current"

      GMT-1343 OpenGL Issue: Spacecraft isn't plotted correctly w/r/t Mars

      GMT-3136 OrbitView does not display trajectory when SolveMode = RunInitialGuess

 

 

Failing Tests

Tests failing in the nightly regression reports related to this feature.

 

OrbitView_Validation_ViewScaleFactor_3 (script) [no error or exception]

OrbitView_Validation_ViewUpAxis_2 (script) [no error or exception]

OrbitView_Validation_ViewUpAxis_3 (script) [no error or exception]

OrbitView_Validation_ViewUpAxis_5 (script) [no error or exception]

OrbitView_Validation_ViewUpAxis (script) [no error or exception]

 

 

Other Findings

 

Issue 1: When I tried to draw orbits in a central body’s body-fixed coordinate system, then I noticed that GMAT’s body-fixed system is drawn incorrectly when we compare to STK’s body-fixed coordinate system. I tested body-fixed coordinate system on Earth, Luna, Mars and Sun-centered trajectories.

 

Recommendation:  Fix (Fix by: R2013a, Priority: P1    GMT-3082 is already created in JIRA that addresses this issue. Images of body-fixed coordinate system from GMAT vs. STK are on JIRA.

 

Issue 2: Topographic map of Planet Mercury was not full. Half of it is missing. So I found a full topographic image of Planet Mercury that was generated by Messenger orbiter on October 28, 2011.. I sent Steve Hughes the full image and he will convert it into appropriate pixel size and shift it to Texture folder.

 

Recommendation: Fix (Fix by: Someday, Priority: P3    GMT-2954 is already created in JIRA that addresses this issue. Both Steve and I agreed that it is P3 and Fix by should be Someday. As soon as SPH updates the image of Mercury, then I will close this bug.

 

Issue 3: In OrbitView resource, the user is able to type inside SolverIterations field. We should not be able to type inside this field at all. It should be frozen.

 

Recommendation: Fix (Fix by: Someday, Priority: P2    GMT-3163 has been created in JIRA that addresses this issue.

 

 

Issue 4: In OrbitView resource, Ecliptic plane is drawn incorrectly when drawing it with EarthMJ2000Ec and EarthFixed coordinate systems.

 

Recommendation: Fix (Fix by: Someday, Priority: P1    GMT-3183 has been created in JIRA that addresses this issue.

 

 

Issue 5: In OrbitView panel, ‘Draw Ecliptic Plane’ should be changed to ‘Draw Celestial Plane’ in order to match OrbitView resource’s script syntax. 

 

Recommendation: Fix (Fix by: Someday, Priority: P2    GMT-3184 has been created in JIRA that addresses this issue.

Requirements

 

 

FRR-28.1.0

The system shall allow the user to choose among the following objects to display in 3-D graphics:

FRR-28.1.1

1)                Spacecraft trajectories

FRR-28.1.2

2)                Celestial bodies

FRR-28.1.3

3)                Celestial body trajectories

FRR-28.2.0

The system shall allow the user to define the following 3-D view properties:

FRR-28.2.1

1)                Coordinate system

FRR-28.2.2

2)                Camera reference location

FRR-28.2.3

3)                Camera location defined by fixed offset from camera reference

             location

FRR-28.2.4

4)                View Scale factor which scales the camera’s fixed offset w/r/t the                  
            camera reference location.

FRR-28.2.5

5)                Camera view direction

FRR-28.2.6

6)                Camera view up direction

FRR-28.3

The system shall allow the user to specify the color of all trajectories plotted in 3-D graphics.

FRR-28.4.0

The system shall allow the user to optionally display the following items:

FRR-28.4.1

1)                Coordinate system axes

FRR-28.4.2

2)                XY-Plane

FRR-28.4.3

3)                Wireframe central body

FRR-28.4.4

4)                Central body latitude and longitude grid lines

FRR-28.4.5

5)                Stars

FRR-28.4.6

6)                Constellations

FRR-28.4.7

7)         Celestial plane

FRR-28.4.8

8)         SunLine

FRR-28.4.9

9)         Draw Spacecraft and/or Celestial bodies

FRR-28.5

The system shall display the plot epoch in UTC Gregorian format.

FRR-28.6.0

The system shall allow the user to define the following settings for dynamic plot updating:

FRR-28.6.1

1)                The data collection sample rate defined as the number of         

             integration steps to skip between plot points

FRR-28.6.2

2)                 The number of plot points to collect before updating the plot

FRR-28.6.3

3)                The number of plot points to retain and redraw during plot update.

FRR-28.7.0

The system shall allow the user to specify how data is drawn to 3-D graphics during iterative processes such as differential correction and optimization. The following options shall be available:

FRR-28.7.1

1)                Plot all iterations/perturbations

FRR-28.7.2

2)                Plot current iteration/perturbation only

FRR-28.7.3

3)                Plot solution only

FRR-28.8

The system shall allow the user to optionally display or not display a 3-D view.

FRR-28.9

The system shall allow the user to zoom in to a plot using the mouse.

FRR-28.10

The system shall allow the user to rotate a 3-D view using the mouse.

 

 

FRR-28.11

 

The system shall allow optionally reset the view on rerun (after mouse manipulation), or use the new view settings.

FRR-28.12

 

The system shall allow the user to display the number of stars to be drawn in an OrbitView plot.

FRR-28.13

The system shall allow the user to control the size of OrbitView Plot display window

FRR-28.14

The system shall allow the user to pan the OrbitViewPlot display window in any direction

FRR-28.15

The System shall allow the user to maximize the OrbitViewPlot window

FRR-28.16

The system shall allow the user to be able to select different orbit colors for both spacecraft and celestial body objects.

FRR-28.17

The system shall allow the user to be able to select which OrbitView window to display first.

FRR-28.18

The system shall allow the user to be able to select different colors for perturbing trajectories during iterative processes like differential correction or optimization.

Interface/Functional Spec

Overview

 

OrbitView is a user-defined resource that plots 3-Dimensional trajectories

 

Description

 

The OrbitView resource allows you to plot trajectories of a spacecraft or a celestial body. GMAT also allows you to plot trajectories associated with multiple spacecrafts or celestial bodies. You can create multiple OrbitView objects by using either the GUI or script interface of GMAT. OrbitView plots also come with multiple options that allow you to customize the view of spacecraft’s trajectories. See the Fields section below for detailed discussion on available plotting and drawing options. 

 

GMAT also provides the option of when to start and stop plotting spacecraft’s trajectories to an OrbitView resource through the Toggle On/Off command. See the Remarks section below for detailed discussion of the interaction between an OrbitView object and the Toggle command. GMAT’s Spacecraft, SolarSystem and OrbitView objects also interact with each other throughout the entire mission duration. Discussion of the interaction between these objects is also mentioned in the Remarks section.      

 

See Also : Toggle command, Spacecraft, SolarSystem and Coordinate Systems resources

Fields

 

See the User Interface Spec spreadsheet for reference information for fields.

GUI

 

The figure below shows the default settings for the OrbitView resource:

 

                     Figure: Default Name and Settings for the OrbitView Object Dialog Box

OrbitView Window Mouse Controls

The list of controls in the table below helps you navigate through the OrbitView graphics window. "Left" and "Right" designate the mouse button which has to be pressed.              

 

Left Drag

Helps to change camera orientation. Camera orientation can be changed in Up/Down/Left/Right directions.

Right Drag

Helps to zoom in and out of the graphics window. Moving the cursor in Left/Right or Up/Down directions helps to zoom in and out of the graphics window.

Shift+Right Drag

Helps to adjust the Field of View.

Remarks

 

Behavior when using OrbitView Resource & Toggle Command

 

The OrbitView resource plots spacecraft’s trajectory at each propagation step of the entire mission duration. If you want to report data to an OrbitView at specific points in your mission, then a Toggle On/Off command can be inserted into the mission sequence to control when OrbitView is to plot a given trajectory. When Toggle Off command is issued for an OrbitView, no trajectory is drawn until a Toggle On command is issued. Similarly when a Toggle On command is used, trajectory is plotted at each integration step until a Toggle Off command is used.

 

Below is an example script snippet that shows how to use Toggle Off and Toggle On command while using the OrbitView resource. OrbitView is turned off for the first 2 days of the propagation and trajectory that corresponds to only the last 4 days is drawn:

 

Create Spacecraft aSat;

Create Propagator aProp;

 

Create OrbitView aOrbitView;

GMAT aOrbitView.Add = {aSat, Earth};

 

BeginMissionSequence;

 

Toggle aOrbitView Off;

Propagate aProp(aSat) {aSat.ElapsedDays = 2};

Toggle aOrbitView On;

Propagate aProp(aSat) {aSat.ElapsedDays = 4};

Behavior when using OrbitView, Spacecraft and SolarSystem resources

 

Spacecraft resource contains information about spacecraft’s orbit. Spacecraft resource interacts with orbitView throughout the entire mission duration. The trajectory data retrieved from the spacecraft is what gets plotted at each propagation step of the entire mission duration. Similarly, the sun and all other planets available under the SolarSystem resource may be plotted or referenced in the OrbitView resource as well. 

 

Behavior when reporting data in Iterative Processes

 

GMAT allows you to specify how trajectories are plotted during iterative processes such as differential correction or optimization. The SolverIterations field of OrbitView resource supports 3 options which are described in the table below:

 

SolverIterations options

Description

Current

Shows only current iteration/perturbation in an iterative process and plots current trajectory.

All

Shows all iterations/perturbations in an iterative process and plots all perturbed trajectories.

None

Shows only the final solution after the end of an iterative process and plots only that final trajectory.

 

Behavior when plotting multiple spacecrafts

 

GMAT allows you to plot trajectories of any number of spacecrafts when using the OrbitView resource. The initial epoch of all the spacecrafts must be same in order to plot the trajectories. If initial epoch of one of the spacecrafts does not match with initial epoch of other spacecrafts, then GMAT throws in an error alerting you that there is a coupled propagation error mismatch between the spacecrafts. GMAT also allows you to propagate trajectories of spacecrafts using any combination of the propagators that the user creates.

 

Below is an example script snippet that shows how to plot trajectories of multiple spacecrafts that use different propagators:

 

Create Spacecraft aSat aSat2 aSat3;

GMAT aSat2.INC = 45.0;

GMAT aSat3.INC = 90.0;

GMAT aSat3.SMA = 9000;

 

Create Propagator aProp;

Create Propagator bProp;

 

Create OrbitView aOrbitView aOrbitView2;

 

GMAT aOrbitView.Add = {aSat, aSat2, Earth};

GMAT aOrbitView2.Add = {aSat3, Earth};

 

BeginMissionSequence;

 

Propagate aProp(aSat, aSat2) bProp(aSat3) {aSat.ElapsedSecs = 12000.0};

 

 

Examples

 

Propagate spacecraft for 1 day and plot the orbit at every integrator step:

Create Spacecraft aSat;

Create Propagator aProp;

 

Create OrbitView aOrbitView;

GMAT aOrbitView.Add = {aSat, Earth};

 

BeginMissionSequence;

 

Propagate aProp(aSat) {aSat.ElapsedDays = 1};

 

 

 

Plotting orbit during an iterative process. Notice SolverIterations field is selected as All. This means all iterations/perturbations will be plotted.

Create Spacecraft aSat;

Create Propagator aProp;

 

Create ImpulsiveBurn TOI;

Create DifferentialCorrector aDC;

 

Create OrbitView aOrbitView;

GMAT aOrbitView.Add = {aSat, Earth};

GMAT aOrbitView.SolverIterations = All;

 

BeginMissionSequence;

 

Propagate aProp(aSat) {aSat.Earth.Periapsis};

 

Target aDC;

Vary aDC(TOI.Element1 = 0.24, {Perturbation = 0.001, Lower = 0.0, Upper = 3.14159, MaxStep = 0.5});

  Maneuver TOI(aSat);

  Propagate aProp(aSat) {aSat.Earth.Apoapsis};

  Achieve aDC(aSat.Earth.RMAG = 42165);

EndTarget;

 

 

 

 

Test Procedures

Assumptions

 

      All tests use both default and non-default values

 

 

File Naming Conventions

 

 

The goal of the naming convention is to allow people to intuitively understand the purpose of the test by the name of the test file. The file naming conventions in this section are guidelines to be used when they “make sense” and are to be modified when they don’t “make sense”. They’re not strict rules.

 

OrbitView uses the following format for nominal tests:

 

OrbitView_ <description of test>

 

Use the following format for validation tests:

 

OrbitView_Validation_<Field>_ <description of test>

 

 

Nominal Tests

 

 

Priority

Status

Summary

P1

Done

RHQ

Test whether the system allows the user to display spacecraft trajectories in 3-D graphics.

P1

Done

RHQ

Test whether the system allows the user to display Celestial Bodies in 3-D graphics.

P1

Done

RHQ

Test whether the system allows the user to display Celestial body trajectories in 3-D graphics.

P1

Done

RHQ

Test whether the system allows the user to define 3-D view properties like Coordinate System.

     P1

Done

RHQ

Test whether the system allows the user to define 3-D view properties like Camera reference location.

     P1

Done

RHQ

Test whether the system allows the user to define 3-D view properties like Camera location defined by fixed offset from camera reference location. 

P1

Done

RHQ

Test whether the system allows the user to define 3-D view properties like View Scale factor which scales the camera’s fixed offset w/r/t the camera reference location.

P1

Done

RHQ

Test whether the system allows the user to define 3-D view properties like Camera view direction.

P1

Done

RHQ

Test whether the system allows the user to define 3-D view properties like Camera view up direction.

P1

Done

RHQ

Test whether the system allows the user to specify the color of all trajectories plotted in 3-D graphics.

P1

Done

RHQ

Test whether the system allows the user to optionally display               Coordinate system axes.

P1

Done

RHQ

Test whether the system allows the user to optionally display                 XY-Plane.

P1

Done

RHQ

Test whether the system allows the user to optionally display                  Wireframe central body.

P1

Done

RHQ

Test whether the system allows the user to optionally display                  Central body latitude and longitude grid lines.

P1

Done

RHQ

Test whether the system allows the user to optionally display                  Stars.

P1

Done

RHQ

Test whether the system allows the user to optionally display                  Constellations.

P1

Done

RHQ

Test whether the system allows the user to define the following settings for dynamic plot updating: The data collection sample rate defined as the number of integration steps to skip between plot points.

P1

Done

RHQ

Test whether the system allows the user to define the following settings for dynamic plot updating: The number of plot points to collect before updating the plot

P1

Done

RHQ

Test whether the system allows the user to define the following settings for dynamic plot updating: The number of plot points to retain and redraw during plot update.

P1

Done

RHQ

Test whether the system allows the user to specify how data is drawn to 3-D graphics during iterative process such as optimization. Testing includes employing all available options for SolverIterations.

P1

Done

RHQ

Test whether the system allows the user to specify how data is drawn to 3-D graphics during iterative process such as Differential Correction. Testing includes employing all available options for SolverIterations.

P1

Done

RHQ

Test whether the system allows the user to optionally display or not display a 3-D view.

P1

Done

RHQ

Test whether the system allows the user to zoom in to a plot using the mouse.

P1

Done

RHQ

Test whether the system allows the user to rotate a 3-D view using the mouse.

P1

Done

RHQ

Test whether the system allows to optionally reset the view on rerun (after mouse manipulation), or use the new view settings.

 

 

Edge/Corner/Miscellaneous Tests

 

I cannot think of any as of yet.

Priority

Status

Summary

 

 

 

 

 

 

 

 

 

 

Unique Validation Tests

These are unique validation tests that are required for special field or object couplings for this OrbitView feature.

Priority

Status

Summary

P1

SPH

Done

Test range constraints on XYPlane field

P1

SPH

Done

Test range constraints on WireFrame field

P1

SPH

Done

Test range constraints on ViewUpCoordinateSystem field

P1

SPH

Done

Test range constraints on ViewUpAxis field

P1

SPH

Done

Test range constraints on ViewScaleFactor field

P1

RQ

Done

Test range constraints on ViewPointVector field

P1

RQ

Done

Test range constraints on ViewPointReference field

P1

RQ

Done

Test range constraints on ViewDirection field

P1

RQ

Done

Test range constraints on UseInitialView field

P1

RQ

Done

Test range constraints on UpdatePlotFrequency field.

P1

RQ

Done

Test range constraints on SunLine field.

P1

RQ

Done

Test range constraints on StarCount field.

P1

SPH

Done

Test range constraints on SolverIterations field.

P1

SPH

Done

Test range constraints on ShowPlot field.

P1

RQ

Done

Test range constraints on NumPointsToRedraw field.

P1

SPH

Done

Test range constraints on Grid field.

P1

SPH

Done

Test range constraints on EnableStars field.

P1

SPH

Done

Test range constraints on EnableConstellations field.

P1

SPH

Done

Test range constraints on DataCollectFrequency field.

P1

RQ

Done

Test range constraints on CoordinateSystem field.

P1

RQ

Done

Test range constraints on CelestialPlane field.

P1

RQ

Done

Test range constraints on Axes field.

 

 

 

Unique Mode Tests

 

I cannot think of any unique mode tests for this object.

 

Priority

Status

Summary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Unique GUI Tests

 

These are tests that are unique to the GUI interface for this feature that are not covered by the standard GUI test template and procedures.

Priority

Status

Summary

P1

RQ

Done

Test whether the system correctly draws spacecraft trajectories, coordinate systems (inertial, ecliptic and fixed), XYPlane, SunLines when compared with STK’s output. Tests were written for central body Mars.

P1

RQ

Done

Test whether the system correctly draws spacecraft trajectories, coordinate systems (inertial, ecliptic and fixed), XYPlane, SunLines when compared with STK’s output. Tests were written for central body Earth.

P1

RQ

Done

Test whether the system correctly draws spacecraft trajectories, coordinate systems (inertial, ecliptic and fixed), XYPlane, SunLines when compared with STK’s output. Tests were written for central body Luna.

P1

RQ

Done

Test whether the system correctly draws spacecraft trajectories, coordinate systems (ecliptic, Fixed, MJ2000Eq), XYPlane, Ecliptic plane when compared with STK’s output. Tests were written for central body Sun.

P1

RQ

 

Done

Test whether the system correctly draws constellations when compared with Celestia software’s Constellations and stars output.

P1

RQ

Done

Test View Definition box’s fields and multiple permutations and interactions involving all the fields under View Definition. These tests cover both Nominal and GUI tests. These are visual tests and tester sees if  all combinations of View Definition fields are drawn accurately or not.

 

Scripts begin with: OrbitView_ViewDefinition_..........._.script

P1

RQ

Done

Test whether the system correctly draws spacecraft’s forward and back propagation.