skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - LaspView


3D Simulation for Satellite Flight Control

Senior Project: 2008-2009
Nawaf Alghamdi, Benjamin Link, Garston Tremblay, Jacob Wisnesky and Alexander (Alex) Woods

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
Global View
Satellite View
Satellite View
Ground Station View
Ground Station View
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)