[ANN] Epicycle.jl Initial Release - Space Mission Design and Trajectory Optimization

Epicycle is an integrated application for spacecraft trajectory design, optimization, and analysis. Leveraging Julia’s combination of high performance and intuitive syntax, this initial release delivers a modular ecosystem spanning 10 specialized packages—enabling rapid iteration from preliminary mission design through multi-event trajectory optimization.

GEO transfer optimization with plane change—8-event sequence with spacecraft CAD model

Core Capabilities

  • Rich time and state representations and conversions

  • Trajectory propagation with event detection and stopping conditions

  • Graph-based mission structure for maneuver planning and optimization (modeled after NASA’s Copernicus)

  • Multi-body dynamics with SPICE ephemeris integration

  • Interactive 3D visualization with spacecraft CAD models

Architecture

Epicycle consists of 10 packages that work together or independently. Utility packages (e.g., AstroEpochs, AstroStates, AstroUniverse) are standalone and may be useful for broader astronomical applications beyond mission design.

Status

This initial release establishes a thoroughly tested and documented foundation. Astrodynamics algorithms are validated against NASA GMAT R2022a and Astropy.Time, with 95% code coverage across all packages. Cross-platform support for Windows, macOS, and Linux with Julia 1.10+.

Get Started

Acknowledgements

Epicycle builds on Julia’s scientific computing ecosystem, including SciML’s OrdinaryDiffEq.jl, SPICE.jl from JuliaAstro, SNOW.jl from BYU FLOW Lab, TEMPO.jl from Julia Space Mission Design, Makie.jl for visualization, and IPOPT for nonlinear optimization.

5 Likes

This is neat! I’ll check it out! Do you know how this package compares to SatelliteToolbox.jl?