Release Notes for FreeFlyer 7.8

Top  Previous  Next

New Features in FreeFlyer 7.8


Collocation-Based Optimal Control

Segmented trajectory arcs and specific control models can now be used for the optimal control of Spacecraft objects

oIntegrates directly with existing optimization functionality to easily implement complicated problems with simple FreeFlyer script solutions

oUsing the TrajectoryPhase object, bounds and constraints can be added to the optimization problem to reflect real world limits when optimizing the objective function

oBallistic, simple thruster, and ideal solar sail control models are available for use

oSupports continuous thrust maneuver modeling, making it ideal for solving low thrust trajectories

Employs a 3rd-order Legendre-Gauss-Lobatto (LGL) collocation algorithm to efficiently optimize a trajectory in parallel rather than one step at a time via integration

oCollocation ensures that the approximating collocation polynomial agrees with the system dynamics, including its ForceModel

Six new sample Mission Plans have been added to the Optimization folder of the FreeFlyer install directory covering this new capability

oIncludes the Control Acceleration Integration and Earth to L1 Solar Sail Mission Plans, among others

 

Custom Observations in Orbit Determination

Custom observations can now be used with FreeFlyer's orbit determination capability

oAll orbit determination estimators support custom observations

oEnables support of arbitrary observation types as needed for mission analysis

oProcesses the user-provided partial derivatives and pre- and post-update computed values to progress the estimator

oCan be used to implement and verify existing observation types, such as ground station observations

Two new sample Mission Plans have been added to the Orbit Determination folder of the FreeFlyer install directory covering this new capability

oIncludes comparisons of custom observations against point solution observations for both the Batch Least Squares and the Kalman Filter

 

Interplanetary and XGEO Propagation Enhancements

New astrodynamics values for planning Lagrange point missions and hyperbolic trajectories are now available for use

oSpacecraft.GetApoapsisDeclination()

oSpacecraft.GetApoapsisRightAscension()

oSpacecraft.GetApoapsisVector()

oSpacecraft.GetHyperbolicExcessVelocityVector()

oSpacecraft.GetLaunchAsymptoteDeclination()

oSpacecraft.GetLaunchAsymptoteRightAscension()

Additional Spacecraft object orbital parameters are now exposed to the user via several new properties

oSpacecraft.OrbitalAngularAcceleration

oSpacecraft.OrbitalAngularMomentum

oSpacecraft.OrbitalAngularVelocity

oSpacecraft.OrbitNormal

Added methods to the Thruster object to expose more information to the user while maneuvering a Spacecraft

oThruster.GetIsp()

oThruster.GetThrust()

 

Miscellaneous Enhancements

Added a new overload to Variable.ToString() that takes the format string as an argument

Added Array.ToStringArray() and VirtualArray.ToStringArray() to conveniently convert between arrays of data and strings, typically seen in reports

Added Array.ToDiagonalMatrix() and VirtualArray.ToDiagonalMatrix() to conveniently set the elements of the calling Array object as the diagonal of an output Matrix

Added support for parabolic and hyperbolic orbits to the TwoBody propagator for use with B-plane targeting and more

Improvements to the Help File

oAdded a listing of the allowed types for object constructor and method pages

oAdded convenience links on all object, property, and method pages to navigate to adjacent topics in different timing precision modes

oAdded relevant information about members, including object types and read/write usage, to object pages

Added license expiration information to the output of the --report-license-information command line switch

 

Notable Fixes

The default file format when exporting images from FreeFlyer is now PNG instead of BMP to improve cross-machine compatibility

 

 

Migrating to FreeFlyer 7.8


While we always strive to maintain 100% backwards compatibility in our new releases, our efforts to make FreeFlyer more flexible and consistent in FreeFlyer 7.8 and higher have necessitated a few changes which may require user intervention when migrating your existing Mission Plans. These changes are outlined below.

 

Modeling and Numerics

Corrected an issue where the orbit numbers given by Spacecraft.OrbitNumberCumulative for TLEs parsed using Spacecraft.LoadNoradTLE() were off by exactly 1. If a Mission Plan was reporting or otherwise relying on this reported orbit number, it will need to be updated to expect the correct values.

 

Fixed an issue where the mass total for a Spacecraft would be incorrectly decremented by a Thruster's tank mass if the TankMass property was assigned before the mass total was queried. A Mission Plan no longer needs to intentionally query the Spacecraft.MassTotal property for this to calculate correctly.

 

Miscellaneous

The element set conversions to and from the Spherical Lat/Long reference frame or the SGP4 system on the Spacecraft object editor has been corrected, where previously they were wrong.

 

When adding an element to a GraphicsOverlay with GraphicsOverlay.AddOverlayElement() of a shape type different than those elements currently loaded into the GraphicsOverlay, FreeFlyer will now report an error message instead of clearing the entire list of elements.

 

Various Objects, Properties, Methods, and Functions have been deprecated

oDeprecated Objects, Properties, Methods, and Functions are elements of FreeFlyer which are no longer recommended for use. The description of each deprecated element indicates the new recommended way to achieve the functionality of that element. The complete list of affected elements is given on the Deprecated Objects, Properties, Methods, and Functions page.

 

 

See Also


Release History