Showcase: VisualCommander

In 'Showcase' reviews, the reviewer is the developer. No claim of objectivity is made, but it’s a chance for the developer to show off his/her app. Here, Joe Mueller discusses the new visualization package, VisualCommander.

Author: Joseph B. Mueller
Position: Senior Technical Staff
Affiliation: Princeton Satellite Systems

VisualCommander is a new Mac-based software application developed by Princeton Satellite Systems, Inc. It is capable of dynamic simulations, data acquisition, processing, and visualization. VisualCommander was originally developed for the Air Force in support of the Standardized Space Trainer initiative, which aims to transition away from several disjoint, rigid legacy systems, and towards a new flexible system designed for both training and operations. As a solution to this problem, VisualCommander was developed to provide a framework with the core capabilities required for user-interactive training and operations, but with the flexibility needed to extend gracefully to a variety of missions and other applications.

VisualCommander has since become a general purpose tool that we have used for a variety of DoD and NASA projects, including missile defense, defensive counterspace, and deep space navigation. VisualCommander leverages MacOS X frameworks to provide a highly customizable application with a plugin architecture, essentially providing a central, reusable core to which domain-specific, reusable plugins can be attached.

A Plug-In Architecture

The main system is divided into two parts, the VisualCommander client application for MacOS X, and the UNIX-based (including MacOS X) server subsystem. The server itself is also modular to allow the distribution of activities across multiple computers. The server-side complexity can optionally be folded into the workstation application and hidden from the user, allowing the plugin capabilities and robustness to be taken advantage of without unnecessary server setup interfering with workflow.

The main design focus of VisualCommander has been extensibility. A variety of plugins can be developed by the user according to a published API, allowing post-installation extension and modification to suit the problem at hand. There are 5 extendable components of VisualCommander:

  • Data Display Plugins
  • Data Processor Plugins
  • Data Source Plugins
  • Data Source Configuration Plugins
  • Simulations

Each of these components can be customized if desired, by generating new plugins and/or simulations based on C++ code templates. The diagram below illustrates the major components and the general data flow of the VisualCommander framework.

Examples from Aerospace

To demonstrate VisualCommander's flexible visual interface and simulation capabilities, we designed an example spacecraft, "TrainingSat". A detailed simulation was developed in DSim, the built-in C++ simulation system, including orbital and attitude dynamics, attitude control, and thermal and power models. The simulation is accompanied by an extensive interface, enabling visualization of the orbit, status of power and thermal systems, and interactive control of the spacecraft attitude. The interface consists of multiple pages that are built entirely from a menu of drag-and-drop display plugins.


We have also developed an aircraft simulation with VisualCommander, which is provided with the application as an advanced example. The dynamic simulation uses DSim (the built-in simulation engine), along with a few custom aircraft classes for dynamics and control, to simulate a 3 DOF feedback-controlled point-mass aircraft model. The aircraft can be flown from the keyboard or with a joystick. The visual interface includes a 3D view of the aircraft in flight, along with a set of telemetry pages that plot and display the various states of the simulation, and allow the user to change the dynamic properties of the aircraft "on the fly".



For More Information...

Visit the product website at www.psatellite.com/vc, where you can read the API, see movies of example applications, and download a free demo.

For any questions, please contact:

Joe Mueller
Senior Technical Staff
jmueller at psatellite.com