Three-Dimensional Satellite Orbital



Three-Dimensional Satellite Orbital

Display Project

[pic]

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.

2. 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.

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

o Functions include: zoom, rotate, and pan.

4. Model should provide for the overlaying of cloud cover.

5. 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.

6. All relevant satellite data of selected satellites must be displayed.

7. 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.

1. 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.

2. 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.

3. The model will provide for the overlaying of an up-to-date cloud cover image onto the earth through a menu selection.

4. 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.

5. 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.

6. 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

2. 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.

Use Case 3: Change Earth Resolution or Add Cloud Cover

Scenario: User wants to change the resolution of the earth and then add cloud cover.

Actors: User at Lockheed Martin after one demonstration.

User Steps and system responses:

1. User first sees default display resolution of 1024x2048 of a cloudless earth.

2. User then selects from the main menu bar the change resolution option. Image changes to new resolution of 2048x4096

Explanation: Two cloudless images of the earth are available to the program at any time. When a resolution change is made the image is changed to the alternate resolution.

3. User now selects from the main menu bar the add cloud cover option. Image then displays the earth with current cloud cover.

System Behavior: When the program is to change the resolution of the earth image, the new image is then mapped onto a new sphere that corresponds to the size of the new image. All added satellite positions are recalculated and then displayed.

Use Case 4: Move within Virtual Universe

Scenario: User wants move freely through the virtual universe.

Actors: User at Lockheed Martin after one demonstration.

User Steps and system responses:

1. User moves mouse over image, presses left-mouse button and drags the mouse in any direction and the image rotates with the mouse movement.

2. User moves mouse over image, presses right-mouse button and drags the mouse in any direction and the image moves to with the mouse.

3. User presses middle mouse button and moves mouse up and down on the screen to zoom in and out. User can also use the zoom in and out buttons.

System Behavior: The program changes the viewer’s perspective of the universe by moving the image with respect to the viewer’s predefined position.

Use Case 5: Display City Point on Earth

Scenario: User wants to display a major city on the earth

Actors: User at Lockheed Martin with after one demonstration.

User Steps and system responses:

1. User selects the city option from the main menu bar.

Explanation: A dialog box will pop up and show a list of cities that can be chosen from.

2. User selects the city that needs to be displayed from the list.

3. User clicks on the OK button and the city is displayed by a two-pixel by two-pixel dot and name of city.

System Behavior: The program maintains a list of available cities that may be selected. After a city is selected the program calculates that cites exact position on the surface of the earth image and displays a dot and city name.

Use Case 6: Change View to a Predefined View

Scenario: User wants switch to a built in view

Actors: User at Lockheed Martin after one example.

User Steps and system responses:

1. User selects the satellite or the city from the already added satellites and cities lists. This determines where the view will be located.

2. User selects either earth centric or satellite centric view from the main menu bar and display is adjusted accordingly.

Explanation: Users view is either centered on the selected satellite or city with the earth rotating under the satellite or the satellites rotating over the city.

System Behavior: The program rotates the image so the selected satellite or city is centered in the display. Then using the satellites TLE, calculations will be made to rotate the earth under a satellite or rotate the satellites over a city.

External Interface Requirements

• User-Interface:

This program will consist of a Graphical User-Interface (GUI), implemented in Java. This GUI will be integrated with the stand-alone application from the previous, two-dimensional, version. The implementation will take place within a JPanel that can be easily integrated with the two-dimensional version. The GUI will allow the user to view the technical aspects of the satellites and ground points from both a panel below the three-dimensional image and from an information box that can be made to appear near a selected satellite, or ground point. Users will have the ability to choose which satellites and ground points are displayed, as well as which satellites and ground points are currently being monitored. The GUI will also provide the abilities to zoom, rotate, and pan across the three-dimensional image by using the mouse to select a point and move the image according to their preferences. All interactions with the GUI will take place through the use of a mouse.

• Hardware Interfaces:

o Our application will be required to work on both Windows (2000 & XP) and UNIX (Solaris) platforms.

o The program will be required to interact with the file system to retrieve both satellite information and to maintain the state of the software from one use to the next.

o The application will be required to interface with the mouse.

Performance Requirements

• Wrapping of Earth image around a sphere should be as accurate as possible. Slight distortion at the poles will be acceptable; however, attempts should be made to limit any distortions. For example, if a coordinate grid is grafted onto the Earth’s surface all points should lay within four pixels of where the lines intersect the point on an actual globe.

• Satellites should be positioned in locations that represent their actual location with respect to Earth. For example if satellite A is twice as close to Earth as satellite B, then the representative image should reflect this trait. They should move in manors constant with their actual movement.

• Updates of satellite positions should take place at no more than five second intervals. One-second intervals between updates will be considered perfect update conditions.

• Two-line elements (TLEs) will need to be updated on a daily basis, to help ensure the correctness of our satellite positioning.

Design Constraints

• All development will be done with the latest (final) versions of the Java SDKs. This will include the Java 2 1.4.2_03 SDK, Java 3D 1.3.1, and JAI 1.1.2 SDKs. Any updates to these SDKs that happen during the development will have to be incorporated into the design.

• The application must be designed to work on both Windows (2000 & XP) and UNIX (Solaris) platforms.

• The JPanel must be designed to integrate with the current, two-dimensional, version of the application.

Attributes

• This project will contain objects that are expandable for future versions. This will be accomplished by programming each module so that all of its data and classes can be inherited by subsequent versions.

• The software will be maintainable. This will be achieved through extensive documentation of not only the code and the specific actions that are taking place, but also through documentation of the reasoning and methodologies used within the development.

• The software will be made reliable in the fact that it will be designed to work on a variety of platforms and operating systems.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download