3D Simulation for Satellite Flight Control
Senior Project: 2008-2009
The Laboratory for Atmospheric and Space Physics (LASP) currently controls four
Earth-orbiting satellites from their mission operations center at CU's East
Campus Research Park. The most important interaction they have with their
satellites is via a ground station contact, wherein recorded data and telemetry
is downlinked and new commands are uplinked to the satellite. To facilitate
this interaction, a three-dimensional visualization of the satellite flying
over the ground station would be very helpful to the flight controllers running
the command pass. In particular, the visualization needed to meet the following
requirements:
Must make use of OpenGL to render
the viewpoint(s) in three-dimensional space.
Must be able to run on at least two different computer platforms,
one of which must be UNIX-derived.
Must retrieve the satellite position and velocity data for a given time
frame using NASA's
SPICE
toolkit, a collection of tools and APIs for accessing and manipulating
satellite data.
Must support multiple viewpoints (e.g. view from satellite looking down
at ground station antenna, view from ground station antenna looking up at
satellite) and the ability to rotate/manipulate the view from a given
viewpoint.
Must display satellite event information (such as when it is above/below
commanding masks and when it is at maximum elevation) in a graphical
fashion.
An important aspect of LaspView is the extensible nature of the
system. LaspView was designed to be driven by user-written scripts,
providing an extremely flexible and extensible way for users to customize their
experience. These user scripts are written in Python using an API provided by
LaspView. Some major features of this API that allow the user to
customize their LaspView experience include
Camera Control:
Camera control functions include the ability to change camera position,
orientation, what the camera is looking at, clipping planes, and field
of view.
Display Functions:
Display functions allow the user to display items in the LaspView
window, including satellites and text, and to change window position,
window size and the window title.
Data Manipulation:
Data manipulation functions allow users access to object positions and
velocities, ground station positions, and to modify the date and runtime
speed of the visualization.
Handlers:
Handler functions allow script writers to easily switch between their
custom-created views and behavior and to react to keyboard and mouse input
as necessary.
By using this API, LaspView allows users to easily create new and
different behaviors and visualizations, making this project useful in
situations beyond those originally envisioned by the sponsor.

Global View
Satellite View
Ground Station View
|