ODTBX is an orbit determination analysis tool based on Matlab and Java that provides a flexible way to do early mission analysis, especially for formation flying and exploration systems. ODTBX is composed of both Matlab and Java code.
Orbit Determination Toolbox (ODTBX) Goals
Matlab is the primary user interface, and is used for building up new navigation models. Java is used as an engine for things that might be slow or inefficient in Matlab, like high-fidelity trajectory propagation, ephemeris lookups, precession, nutation, polar motion calculations, file parsing, etc.
The primary goal of the ODTBX project is to provide a much more flexible way to perform early mission analysis than is currently possible with existing tools. This requires minimizing changes to software every time a new mission proposal comes up, particularly one that implements new flight dynamics technologies. Integration with GSFC’s GMSEC information bus allows flight dynamics analysts to use a publish and subscribe paradigm for information sharing in a rapid development environment.
The ODTBX primary analysis functionality has been realized through a set of sequential filter/smoother and batch least-squares commands that incorporate Monte Carlo data simulation, linear covariance analysis, and measurement processing, and plotting capabilities at the “generic” level. This provides a user interface analogous to numerical differential equation solver.
ODTBX will allow new navigation models to be built up from object-oriented class libraries. The concept of “network-based” modeling could be employed to simplify the creation of arbitrarily complex aggregations of objects, e.g. a multi-spacecraft formation interacting with multiple gravitational bodies with a variety of different inter-spacecraft and ground-to-space measurement types.
To perform a specific analysis, users assemble truth and design system models, eventually from object-oriented measurement and dynamics class libraries, which are then provided as inputs to the filter commands. Use of class libraries will provide the ability to build up arbitrarily complex models through inheritance from simpler ones.