#space #design #mission #orbit #estimation

nyx-space

A high-fidelity space mission toolkit, with orbit propagation, estimation and some systems engineering

13 releases

new 0.0.15 Oct 8, 2019
0.0.14 Sep 4, 2019
0.0.13 Aug 29, 2019
0.0.9 Jul 19, 2019
0.0.3 Apr 25, 2018

#35 in Science

Download history 44/week @ 2019-06-25 26/week @ 2019-07-02 19/week @ 2019-07-09 42/week @ 2019-07-16 10/week @ 2019-07-23 35/week @ 2019-07-30 50/week @ 2019-08-06 12/week @ 2019-08-13 118/week @ 2019-08-20 56/week @ 2019-08-27 72/week @ 2019-09-03 30/week @ 2019-09-10 82/week @ 2019-09-17 19/week @ 2019-09-24 39/week @ 2019-10-01

192 downloads per month

Apache-2.0

575KB
4.5K SLoC

nyx

Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust. It will eventually provide most functionality in Python for rapid prototyping.

The target audience is researchers and astrodynamics engineers. The rationale for using Rust is to allow for very fast computations, guaranteed thread safety, and portability to all platforms supported by Rust.

nyx-space on crates.io nyx-space on docs.rs

License

The LICENSE will be strictly enforced once/if this toolkit reaches production-level quality.

Features

  • Propagation with different Runge Kutta methods (validated in GMAT)
  • Convenient and explicit definition of the dynamics for a simulation (cf. tests/lib.rs)
  • Orbital state manipulation (from GMAT source code and validated in GMAT)
  • Statistical Orbit Determination: Classical and Extended Kalman Filter
  • Multibody dynamics using XB files (caveat:https://gitlab.com/chrisrabotin/nyx/issues/61)
  • Orbit Determination with multibody dynamics
  • Finite burns with fuel depletion (including low thrust / ion propulsion)
  • Planetary and Solar eclipse and visibility computation
  • Sub-Optimal Control of continuous thrust (Ruggerio, Naasz, Petropoulos)
  • Spacecraft attitude control and some useful optimal control algorithms
  • Monte Carlo simulations on different parameters
  • Link budget computations

Note: Some of these features may only be made available only through a commercial license in the future.

Who am I?

A astrodynamics engineer with a heavy background in software. Nyx relies on the fallbacks of smd, a library I wrote in Go while researching at the University of Colorado at Boulder. I work for Advanced Space (we do cool stuff), but this code is mostly developed on my leisure time.

Examples

Estimation plots of a Halo orbit using a CKF

Data to recreate this simulation is deliberately not shared. This just provides an example of what is possible using this library. Halo position covar Halo velocity covar

Dependencies

~7.5MB
~143K SLoC