Skip to content

Tools useful for orbital mechanics and related topics.

License

Notifications You must be signed in to change notification settings

tomaszmrugalski/perylune

Repository files navigation

Perylune

No Maintenance Intended Build Status

Project status

Since the major library Perylune depended on - polistro - has reached its End-Of-Line, there is no viable way forward to carry on with Perylune development. As such, I'm concluding this project. No future updates are anticipated. The bug tracker remains open.

Overview

Perylune - a periapsis (a lowest point in orbit) around Luna (better known as the Moon). Also a library of tools intended to aid various calculations related to Keplerian orbits and orbital mechanics in general. The software uses great poliastro for most of its calculations. Currently available functionality:

  • load, process and use Yuma, MPCORB (Minor Planets Center) almanacs.
  • import ephemerides from NASA HORIZONS database
  • import TLE data from CELESTRAK database
  • calculate orbital burns, including Hohmann, prograde burns, pure inclination change
  • DOP parameters calculation for GPS precision
  • transfer windows (generate charts of body distances, such as Earth-Mars, Earth-Venus and others, porkchop plots)
  • detailed Orbit prints (with more details than the standard Poliastro code)
  • some basic time calculations

The long term goal is to be useful for the following areas:

  • load, process and use various formats: SEM, 3LE
  • convert coordinates between ECEF, LLA, ENU and other systems
  • calculate satelite/object visibility (including rising and setting times)
  • calculate ground track (single pass, design coverage for certain area, revisit times, etc.)

Code maturity

Meh. This is my master thesis playground. Everything is unstable. Nothing works out of the box. I think the long term goal will be to mature more useful parts of the code and attempt to contribute it back to poliastro.

Installation

python3 -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

Alternatively, there's a make script for that:

make setup

Additional docs

See jupyter howto for details on how to view Jupyter notebooks.

See cesium howto for details on how to run Cesium (a web interface useful for visualising orbits)

See snippets for a random chunks of python code that does various things.

Developer's guide

See tests for details on running tests.

See developer's guide for developer oriented notes.