FreeFlyer Features Overview

Top  Previous  Next

FreeFlyer is a commercial off-the-shelf (COTS) software application for space mission design, analysis, and operations. FreeFlyer stands out as the most powerful tool of its kind by providing users with a robust scripting language for solving all types of astrodynamics problems. FreeFlyer has been independently verified and validated for flight-tested, proven accuracy, and is used for spacecraft analysis and operations by NASA, NOAA, USAF, DoD, and commercial satellite providers.



Functionality by Category


Spacecraft Propagation

Fixed or variable step propagation using numerous propagators and ephemeris types.

Full force modeling capability includes Solar System, atmospheric drag/lift, solar radiation pressure, IRI, and custom celestial bodies.

Detailed spacecraft modeling includes fuel tanks, thrusters, collision avoidance calculations, and full attitude modeling.

Custom sensor modeling with obscuration masking.

Formation support gives constellation customers an efficient way to model and analyze multi-spacecraft problems.

Ability to model relative motion using HCW equations.

Support for relative states in multiple coordinate systems.

Generating Output

Customizable 2D and 3D OpenGL visualizations of mission.

Fully tailorable cartesian and polar plots for use with mission parameters.

Total control over output layout, which means you can deliver a consistent high-quality output experience.

Data can be reported to consoles, tables, or exported via custom reports.

Custom visualization foreground and background elements give full control over the way output looks and what is displayed.

FreeFlyer Scripting

Scripting language gives you full control over the inputs, outputs, and logical flow of an astrodynamical simulation.

Integrated development and execution environment includes auto-complete, text color controls, and indenting controls.

In-script interfaces with MATLAB® and TCP/IP sockets.

Matrix math, mathematical functions, and coordinate system conversion functions simplify script design.

User-defined functions, macros, and lists enable systems to be complex yet not overwhelming.

Coverage and Contact

Nearly 500 pre-defined ground station geodetic and masking profiles for full customization options.

Easy-to-use visibility calculations that factor refraction among spacecraft, sensors, ground stations, and celestial bodies.

Easily gather field of view, elevation, azimuth, range, range rate, cross track, and along track information about your system.

Link budget analysis supported natively for ease of managing communications, interference, and more.

Point groups and vectors provide coverage and contact visualization capabilities.

Maneuvering and Targeting

Impulsive and finite burn types fully supported.

Modeling for mono- and bi-propellant blow down systems

Electric and chemical propulsion modeling support.

Built-in multi-variable targeting tool with differential corrector capability.

Spacecraft tank, thruster, and mass flow modeling factored into maneuvers to manage a system.


Generic optimization capability for multivariable optimization of user-defined objective functions.

Ability to specify any number of state variables, equality constraints, and inequality constraints to define the problem.

Ability to find a feasible solution that solves all constraints without optimizing an objective function.

Known analytic derivatives can be specified to improve iteration speed.

Support for third party optimization systems SNOPT, Ipopt, and NLopt.

Global optimization support available through NLopt.


Support for a multitude of coordinate systems that apply across celestial objects.

Define custom celestial objects to represent asteroids, moons, or other gravitationally interacting bodies.

Ground stations and spacecraft can be made to treat any celestial object, including custom ones, as their central bodies.

B-plane analysis, rotating libration point, and rotating-pulsating system support.

Dynamically control parameters of the solar system to adjust propagation for the specifics of a mission.

Orbit Determination*

Extended and unscented Kalman filters, batch least squares, and square root information filter methods for orbit determination solutions.

Spacecraft state estimation with receiver and transponder modeling and covariance propagation.

Ground station location, ground station antenna bias, transponder delay, maneuver, and spacecraft property estimation methods are all supported.

Tracking data simulator and editor can be used to manage outliers and view multiple measurement types simultaneously.

DSN, user-specified, ground-based, TDRS, GPS point solution, spacecraft-to-spacecraft, and BRTS tracking data options supported.

Interfacing with External Resources*

Custom force modeling and custom object definitions via FreeFlyer Extensions.

Runtime Application Program Interface (API) for use with other C/C++, C#, Java, MATLAB®, and Python applications.

Read and write arbitrary plain text and binary file types with the FileInterface object.

Interfaces with ODBC databases created in MySQL®, Microsoft Access®, Oracle®, and more.

Customizable user interfaces to manage operations script flow and allow operators to conveniently input information at runtime.


Ability to model occulting terrain with a VisibilitySegment.

Support for setting a GroundVehicle's state based on terrain data.

Load any number of terrain data tiles for modeling a large area or multiple areas.


Note: *All orbit determination, terrain, optimization, and some interfacing with external resources features are only available with the FreeFlyer Mission tier. See the detailed FreeFlyer Features List chart for more information.




Additional FreeFlyer functionality is provided through the NASA pack.



The AcqData Object

Used when creating Improved Inter-Range Vector (IIRV) and Extended Precision Vector (EPV) messages using the Spacecraft.IIRV(AcqData1) or Spacecraft.EPV(AcqData1) methods.

Ability to read and write Code 500 Ephemeris files.

TCOPS Vector Hold File (TVHF) Support.



See Also

FreeFlyer Features List

FreeFlyer Release History