FreeFlyer 6.10 new features, NASA GPM mission launches, JWST contract analysis, The FreeFlyer API and GPU computing for space mission operations

April 9, 2014

Introducing FreeFlyer 6.10

a.i. solutions is pleased to announce that FreeFlyer 6.10 is now available for download!  Like all major releases of FreeFlyer, version 6.10 contains numerous enhancements and new capabilities.

New Propagation and Modeling Capabilities

  • Added new VisibilitySegment and VisibilityCalculator objects for computing visibility from an observer to a target
  • Added new Spacecraft.ParticleFlux and Spacecraft.ParticleFluxTimes methods for calculating flux of electrons and protons during solar minimum or maximum
  • Added new Spacecraft.CardinalPoints interval method for computing the times when the Spacecraft crosses the four cardinal points of its orbit with respect to any celestial object
  • Enhancements to Spacecraft.PassData algorithm for identifying the maximum elevation of a pass
  • Added option to control reporting of partial interval method events
  • Added new setting to control the relative error threshold for several integrators
  • Improved covariance interpolation with ephemerides

Output Enhancements

  • Added a new GridWindow Object to display a grid of data
    • Ability to display any number of rows and columns and update the values of each cell dynamically
    • Ability to control font typeface, size, color, and alignment
    • Ability to set color rules to automatically change cell text or background color
    • Ability to define cells that span multiple rows or columns
    • Ability to easily view a Matrix in grid format
  • Added a new profiling capability, which reports information about how much time is spent in different sections of a Mission Plan

Orbit Determination Enhancements

  • Improved the Tracking Data Editor
    • Ability to display multiple measurement types simultaneously
    • Ability to set the default data type and measurement types to view
    • Ability to view scaled measurements and residuals
    • Added ability to perform sigma-threshold editing
    • Ability to use a List of Observations as the input data source instead of a tracking data file
    • Added ability to report the number of observations in a tracking data file
  • Improved processing speed for the Batch Least Squares estimation process

 Miscellaneous Enhancements

  • Improved LoadNoradTLE robustness
  • Various improvements to the FreeFlyer Ephemeris Version 2
  • New Sample Mission Plans
  • New syntax examples throughout Help File
  • Updated Station Locations file

FreeFlyer 6.10 – A Closer Look at Two New Features

The VisibilityCalculator and VisibilitySegment Objects

FreeFlyer 6.10 introduces two new objects for visibility calculations:  the VisibilitySegment object and the VisibilityCalculator object.  The VisibilitySegment object allows the user to define an observer and a target, manage occulting bodies, configure models for refraction, configure target and occulting body shapes, and compute visibility at a specified time or over a time interval. The VisibilityCalculator object lets you combine multiple VisibilitySegments in order to determine the times when any or all of the segments have visibility.

These two objects also utilize advanced new refraction models and options added to FreeFlyer 6.10.  Users now have access to five refraction models:

  • Numeric – Single Chapman Profile
  • Numeric – Multiple Chapman Profiles
  • Numeric – Exponential
  • Analytic – Chapman
  • Analytic – Tracking and Orbit Determination (TRORD)

In addition, refraction modeling is no longer limited to groundstation-to-spacecraft.  FreeFlyer 6.10 allows users to use any of the above models to compute refraction from any object to any object, including spacecraft-to-spacecraft.

Picture 1

The Grid Window Object

FreeFlyer 6.10 introduces a new GridWindow object for displaying real-time data on output windows.  One or more GridWindows can be added to any Mission Plan and be completely customized to display any desired data or status messages in a unique grid format.

The screenshot above is from a new Sample Mission Plan included with FreeFlyer 6.10 called “VisibilityCalculator”, which computes coverage analysis of six GPS satellites (targets) with three different groundstations (observers) and reports the coverage analysis to a GridWindow.  “Visible” or “Not Visible” is reported in real-time for each target and observer in a dedicated cell in the GridWindow, and color-coded according to user-specified parameters.

Success story: James Web Space Telescope (JWST) Contact Analysis

a.i. solutions’ flight dynamics engineers and software developers on the JWST mission collaborated to develop and prototype a novel Contact Analysis tool. The tool, based on the Polaris framework developed by a.i. solutions, automates FreeFlyer-based communication analysis, reads in FreeFlyer ephemerides and contact statistics,  and plots the results in a Java-based GUI. The Polaris Contact Analysis tool extends FreeFlyer’s ability by allowing capabilities such as zooming and free-hand markup.

By using the Contact Analysis tool, the JWST engineers were able to improve on an unwieldy and time-consuming process that involved importing contact data into a spreadsheet and then manually creating shapes and graphics to match the contact times. In addition to speeding up the workflow, the Contact Analysis tool leverages FreeFlyer to provide greater insight and flexibility into the dynamics of the JWST system. Finally, the “dashboard” view also enables mission managers to understand a systems-perspective of the analysis.


NASA/JAXA GPM Mission Launches

The Global Precipitation Measurement (GPM) Mission, an international partner mission between NASA and JAXA, successfully launched on February 27, 2014 from Tanegashima Space Center, Japan. GPM will take regular measurements of rain and snow levels around the world and builds on the highly successfully Tropical Rainfall Measuring Mission (TRMM).

a.i. solutions is proud to say that GPM is utilizing FreeFlyer for its operational Flight Dynamics System (FDS).  FreeFlyer will be used daily for orbit propagation, contact analysis and event predictions, orbit determination, and maneuver planning for the life of the mission.

a.i. solutions on the ISS

a.i. solutions engineers at NASA KSC recently helped develop an experiment that flew on the International Space Station.  The a.i. solutions logo is visible in this great picture of NASA astronaut Rick Mastracchio as he performs the SPHERES-Slosh experiment as part of the day’s science activities.


Coming Soon –  the FreeFlyer API

Application Programming Interfaces (APIs) are powerful means for applications to communicate directly with each other. We are excited to announce that a FreeFlyer API will be available in a future release, allowing users to call FreeFlyer directly from programs written in other languages, such as C# or Java, without having to make system calls or run each program individually. This API will increase FreeFlyer’s flexibility and interoperability for use in custom applications – stay tuned for more information!

GPU Computing for Massive Parallel Propagation

GPU computing has garnered much attention in recent years as an alternative to CPU computing, due to the efficient nature of its parallel processing capabilities.

a.i. solutions engineers Dr. Abel Brown, Michael Demoret, and Jason Tichy have implemented a GPU computing approach for two vital space domain problems: conjunction assessment (CA) and spacecraft/debris propagation on massive scales (i.e. millions of objects).  Utilizing commercial grade graphics cards and the CUDA programming language, a custom application was made to perform massive parallel propagation and CA.  Users can also visualize and interact with the outputs (created using OpenGL) much as they would with FreeFlyer.  The screenshot below captures the GPU pushed to its limits – propagating and visualizing 5,000,000 objects simultaneously.

The conditions of this simulation were as follows:  Gravitational effects from Earth zonals J2-J6 along with solar/lunar perturbations, and an RK4 fixed-step integrator with a 5-second step size.  This 5,000,000 object catalog was created by taking a representative sampling of the existing unclassified space catalog and expanding it to massive scale.  At full speed, this simulation is propagating 5,000,000 objects x 15 frames/second x 6 steps/frame = 450,000,000 propagation steps/second! 

 “All of this was accomplished with two Tesla K20X GPU processors, which cost less than $5,000 each”, Demoret said.  “Running an equivalent simulation on a CPU system would require hundreds to thousands of traditional processing cores.”


a.i. solutions has moved past the proof-of-concept phase for GPU computing and is putting it to operational use on the NASA Magnetospheric Multiscale (MMS) mission. MMS is comprised of 4 spacecraft flying in a tightly spaced tetrahedron.  At times, the sides of the tetrahedron are only 10 km long – tight quarters even in space. The a.i. solutions MMS Flight Dynamics team required a means to simulate a huge number of possible formation evolution cases (100,000+) due to environmental forces and formation maintenance maneuvers.  Furthermore, this analysis needed to be run daily or as needed and fit into a rigorous operations schedule.  To accomplish this, a.i. solutions developed custom code to execute numerical propagation of the MMS formation on a GPU card in the MMS MOC.  This GPU solution reduced computational run-times for each run from two weeks down to 20 minutes or less. Click here to see this video in HD!

NSS 2014

The 30th annual National Space Symposium is rapidly approaching and a.i. solutions is excited to showcase our latest technologies, including our Polaris development platform and our GPU computing capabilities that are discussed in this newsletter.  Be sure to stop by booth #304 and check them out!

“Success is a science; if you have the conditions, you get the results.”
– Oscar Wilde

“Pleasure in the job puts perfection in the work.”
– Aristotle