Three-Dimensional Satellite Orbital

Display Project

Richard Gau

Tanya Lovrenovich

Chris Lockard

Functional Specification

Table of Contents

Introduction…………………………………………………….1

Software Architecture Overview……………………………….3

Specific Functional Requirements……………………………….

Use Cases………………………………………………………..

External Interface Requirements………………………………..

Performance Requirements………………………………………

Design Constraints………………………………………………

Attributes…………………………………………………………

Other Requirements……………………………………………….


Introduction

·  Executive Summary:

o  On December 1, 2003 Lockheed Martin Integrated Systems Solutions (ISS) approached the Capstone Project group requesting a Three-Dimensional Satellite Orbital Display program. Team OrbiTech was formed to develop this project. Lockheed Martin is a premier provider in satellites and satellite systems. Their current two-dimensional model to display and track their satellites needs much improvement. The two-dimensional model does not accurately track the satellite’s orbital path, doesn’t have pan, zoom, and rotate functionality, and has limited capabilities to change orientation of the users view.

o  In January, Team OrbiTech proposed a software development project to develop a three-dimensional satellite orbital display to address these needs; a requirements document was accepted on February 18, 2004. This document provides a detailed Functional Specification for the proposed software solution.

·  Problem Description:

o  Lockheed Martin is currently one of the largest companies in the advanced technology systems industry. Their main focus in the technology industry is surveillance and communications with a majority of their contracts coming from the United States Department of Defense. One of the key systems that Lockheed Martin employs is satellites to solve the problem of surveillance and communication. It is very important to be able to keep track of all these satellites and to be able to visually see the paths they trace over the earth. The problem of visual satellite tracking is currently being done with a two-dimensional version. This two-dimensional version, although functional, does not provide the desired “view” that Lockheed Martin would like.

o  Lockheed Martin would like the new software to have the following central requirements:

§  Accurate representation of the earth with and without clouds

§  Two different resolution settings will be provided

§  Display any number of selected satellites and their orbits

§  Each selected satellite will display a “foot print” on the earth

§  Each satellite’s coverage of the earth will be shown

§  Ability to display major cites

§  Key satellite information will be displayed

§  Ability to run on Unix and Windows platforms

·  Product Description:

o  To respond to Lockheed Martin’s request for a three-dimensional version of their current two-dimensional satellite orbital display program, we are will be creating a JPanel that contains all of the functionality required by Lockheed Martin. This JPanel will be able to be integrated with the current two-dimensional version of the program. This integration will allow users to seamlessly switch back-and-forth between the two-dimensional and three-dimensional versions.

o  Our solution will build upon the already existing foundation that was created by Lockheed Martin. We will be using several modules from the existing code base to supplement our solution. This will allow our solution to look and feel much like the original version. Being three-dimensional, our solution will allow for users to be able to pan, rotate, and zoom images and views; as well as, having accurate representation of positioning with regards to other satellites. A similar implementation is NASA’s JTracker, from which we will base most of our conceptual ideas.

o  The following is a snapshot of the JTracker:

·  Product Functions:

o  The following is a brief list of the major functional requirements requested by the client:

  1. The three-dimensional version must display an accurate high-resolution earth image.

o  Resolution must be able to change between 1024x2048 and 2048x4096.

  1. Any number of satellites may be displayed at a given time.

o  Satellites must have correct latitude, longitude, and altitude in reference to the earth, this information will be provided in the form of TLE’s (Two-Line Elements).

o  Satellites, when selected, must display a “footprint” as a line on the surface of the earth with a circle depicting the satellites coverage on the earth. Optionally, a cone extending down from the satellite onto the earth’s surface is desired.

o  Satellites, when selected, must show their orbital path around the earth.

  1. The image must be able to be viewed from any angle.

o  Functions include: zoom, rotate, and pan.

  1. Model should provide for the overlaying of cloud cover.
  2. Model should provide two view modes:

o  View one should show the satellites orbiting the planet.

o  View two should center the view on a selected satellite and have the earth rotate beneath the satellite.

  1. All relevant satellite data of selected satellites must be displayed.
  2. Must be able to display location of at least 500 cities selected from a menu of cites.

o  General Constraints: The following is a brief list of the project constraints:

  1. Programmed in JAVA, using JAVA 3D and JAI SDKs
  2. Must work in both UNIX (Solaris) and Windows environments
  3. Must be added to existing two-dimensional program vial a JPanel
  4. Only allowed fifteen weeks to complete the project

o  Assumptions: The client has provided the team with the existing code for the two-dimensional model. The code given is what our new code will have to be integrated with. It is engineering quality, which means it is well written but sparsely commented. Information that calculates satellite position given any satellite at any particular time will be provided, so OrbiTech must not concern themselves with Keplerian Orbital Dynamics.

Software Architecture Overview

The software architecture has been broken down into 3 main modules. After the modules are done then integration and testing can be done for the final project. The following is a diagram of the flow of the software completion:

Module 1
Module 2
Module 3
Integration
Testing

Module 1 is the development of the spherical mapping and satellite positioning. This is going to be the most difficult task in the software design. Everything done after this point is based of the sphere’s representation. The main objective is to take an image and wrap it around a sphere to form a representation of the earth with a three-dimensional view. The three-dimensional texture of the earth will be at a resolution of 1024 x 2048 or 2048 x 4096 and utilize cloud free imagery.

Once the sphere has been created then Module 2 can begin. Module 2 is the development of ground tracking and ground points. This part of the software will allow the user to choose from a point on the earth’s surface and display the orbit of a particular satellite from that point. It will also show the “foot print” of the satellite on the earth’s surface.

Module 3 is the development of alternate views. This includes the extra functionality: pan, zoom, and rotate. Also, it will allow for two different views instead of one. The user will be capable of viewing the distance from the earth to the satellite, along with the functionality that multiple satellites can be viewed at the same time. Real time positioning will also be achieved at this stage.

Once all the new modules are completed the next stage is integration. The new three-dimensional code must be integrated with the existing two-dimensional code. After integration testing of the new program must be done to check for correct functionality and that all requirements are met.

Specific Functional Requirements

·  Description

  1. The three-dimensional version will display an accurate high-resolution earth image. There will be two resolutions that can be toggled between from a menu. The resolutions will be 1024x2048 and 2048x4096.
  2. Any number of satellites will be able to be displayed at a given time at their corresponding correct latitude and longitude. The two-line elements (TLE’s) will provide the coordinates for each satellite. Each satellite when selected from a menu of available satellites will show its corresponding path over the earth and its orbital path in space as a simple line on the surface of the earth or in space. Menu options will be provided to turn on and off the satellite’s “foot print” on the earth, which consists of a cone projection from the satellite onto the earth representing the satellite’s coverage.
  3. The image of the earth and its satellites will be able to be viewed from any angle using a mouse. It will support such movement as zooming in and out, click and drag rotating, and click and drag panning. The zoom feature will also be supported with the use of buttons.
  4. The model will provide for the overlaying of an up-to-date cloud cover image onto the earth through a menu selection.
  5. The model will provide two view modes, satellite centric and earth centric. Each view will center and lock the image of the satellite or earth with either the earth rotating under the satellites or the satellites rotating around the earth.
  6. All relevant satellite data such as position, speed, name and other relevant information of selected satellites must be displayed. This is already provided by the current two-dimensional version and will be incorporated into the three-dimensional model for a consistent look.
  7. The model will be able to display the location of any number of cities selected from a menu of cites on the earth with a dot.

·  Inputs

o  The user interface will have much of the same look and functionality of the original two-dimensional model. Satellites will be added and selected in much the same way as in the two-dimensional version, but will be displayed in a three-dimensional universe. The satellite’s information will also be presented in the same manner as in the previous model. Three new buttons will be added to the lower panel that will give the user the ability to zoom in and out of the virtual universe and to turn on and off the satellite footprint cone. The mouse will facilitate other movement in the universe. A left-click and drag will rotate the image and a right click and drag will move the entire image around the screen. There will be several new options in the menu bar menus. These include

§  The ability to select an earth image resolution which instantaneously switches the earth model,

§  The option of selecting a cloud free image of the earth or overlaying up-to-date cloud cover images

§  The option to switch back to a two-dimensional view

§  Options to select an earth centric, satellite centric, and free roam views

o  There will be a few data files that will serve as inputs into the model. These data files that will be read in are the TLE file, major city locations file and cloud cover files. The TLE and cloud cover files will be updated daily from the Internet so as to provide the most accurate information possible.

·  Processing

o  This project processing consists primarily of graphical rendering rather than processing large amounts of input. The “algorithm” or process of how the model will run is presented below:

Upon the starting of the program, a check is made to see if cloud imagery or TLE files need to be updated and does so if needed. The TLE’s of the satellites will then be read in and satellite objects will be created. The program will start with a predefined view of the earth with no satellites selected or displayed. Upon selection of one or more satellites, the satellites positions will be calculated and an image representing the satellites and their paths will be displayed. On predetermined time intervals the positions of all selected satellites will be recalculated and the virtual universe updated to reflect those changes. Upon the user selecting any of the various viewing or display options, the virtual universe will be up dated to reflect changes on the same predetermined time interval as the satellites. So each time cycle consists of recalculating all satellites positions and checking for any display changes. At the end of each cycle the three-dimensional display is updated.

o  The main components in the three-dimensional version are the earth/sphere component, the satellite component, the calculation component, and the view component.

·  Outputs

This programs primary output is a three-dimensional display of satellites orbiting the earth. However it also outputs data concerning the many of the specific statistics associated with each satellite in text boxes.

Use Cases

The following is a series of use cases, or scenarios, that cover most of the possible functions that a user would perform while using this program.

Use Case 1: Add Satellite to Display

Scenario: User wants to add a satellite to display

Actors: User at Lockheed Martin after one demonstration

User Steps and system responses:

  1. User selects Satellites from the Select menu in the menu bar by clicking on the Satellites option.
  2. User selects desired satellite from a list of currently available satellites by highlighting a satellite name from the dialog box that appears.
  3. User clicks on the OK button and satellite is added to display.

Explanation: Program loads satellite object and calculates its display position and then updates the display.

System Behavior: The program maintains a list of available satellites and their respective orbital information. When selected, the satellite is added to the active satellites and its current position calculated using its orbital information. The display is then updated with the new satellite added.

Use Case 2: Display “foot print” Cone

Scenario: User wants display the “foot print” cone of an active satellite.

Actors: User at Lockheed Martin after one demonstration.

User Steps and system responses:

  1. User selects Satellites from menu of already added satellites

Explanation: All added satellites are added to a menu and can be selected to view satellite statistics or change individual display properties

  1. User clicks the “Show Cone” button to display the cone projection of the satellite onto the earth.

System Behavior: Program keeps list of added satellites and when one is selected from the list the “Show Cone” button is enabled. When clicked the program tells the satellite to project its cone onto the earth.