FreeFlyer is a commercial off-the-shelf software application for satellite mission analysis, design, and operations. Its architecture revolves around its native scripting language, known as FreeForm Script. As a mission planning tool, it encompasses several capabilities, including precise orbit modeling, 2D and 3D visualization, sensor modeling, maneuver modeling, maneuver estimation, plotting, orbit determination, tracking data simulation, and space environment modeling.
FreeFlyer implements standard astrodynamics models such as the JGM-2, EGM-96, and LP-165 gravity potential models; atmospheric density models like Jacchia-Roberts, Harris-Priester, and NRL-MSIS; the International Reference Ionosphere model; and the International Geomagnetic Reference Field magnetic field model.
Background
FreeFlyer is owned and developed by a.i. solutions, Inc. and is utilized by NASA, NOAA, and the USAF for space mission operations, mission assurance, and analysis support.
FreeFlyer includes capabilities for orbit propagation, mission design and analysis, maneuver planning and estimation, orbit determination, tracking data simulation, sensor and coverage analysis, visualization, plotting, and space environment modeling.
Capabilities
* Scripting language and IDE
2D and 3D visualizations with customizable layouts
Multiple spacecraft and hardware modeling including sensors, antennas, tanks, thrusters, and solar arrays
Coverage analysis including sensors, antennas, ground stations, and other spacecraft
Impulsive and finite maneuver modeling, including targeting system
Spacecraft attitude modeling including attitude matrix, quaternions, Euler angles, RA/DEC, spin rates, and attitude history files
Sensor and antenna modeling, including custom patterns and obscuration masking
Maneuver modeling, including finite burns and support for chemical and electrical (low-thrust) propulsion systems
Coverage analysis, including visibility and access calculations
Added coordinate system types including custom/user-defined systems
Below is a basic FreeFlyer script that creates and displays a spacecraft:
// Create a spacecraft objectSpacecraft sc1;
// Create a ViewWindow, passing sc1 as part of an array of objects to view ViewWindow vw({sc1});
// Propagate and view the spacecraft for two daysWhile (sc1.ElapsedTime <TimeSpan.FromDays(2));
sc1.Step();
vw.Update();
End;