KSP Trajectory Optimization
Project description
KSP Trajectory Optimizer.
This project is a reduced-scope version of one of my other (currently incomplete) projects, as an intermediate stepping stone.
This tool computes trajectories between celestial bodies in KSP based on on-rails two-body patched conics, incorporating trajectory correction maneuvers for a variety of mission scenarios, such as:
- Ballistic Hohmann transfers for other planets
- Gravity assist flyby routes
Computationally-intensive code is implemented in C, with a Python wrapper made using cffi
.
C code follows mostly C89, with some C99 features used. It has been tested against the latest versions of GCC (on Linux) and MSVC (on Windows 10).
Installation
The simplest way to install is from PyPI:
pip install trajectorize
This will install the latest stable version of the package, and may include pre-compiled binaries for your platform.
The package is still in development, so you may want to install from the latest commit on the main
branch instead:
Run pip install git+https://github.com/itchono/trajectorize
to install the package from source.
You will need to have Python 3.8+, and a C compiler installed to compile the C code if installing from source. You will also need a C compiler installed if there are no pre-compiled binaries for your platform. If you're on Windows, you can find details about installing a C compiler here.
The following platforms/compilers have been tested:
Platform | Compiler |
---|---|
Windows 10 | MSVC 14.16 (Visual Studio 2017) |
Ubuntu 20.04 LTS (Dev Machine) | GCC 9.4.0 |
Demos
Right now, full functionality is incomplete. There are, however, some cool demos showing off the capabilities of the package.
Full Model of KSP Planetary System and Ephemerides
python -m trajectorize.demos.kerbol_system_anim
Calculation of Ballistic Interplanetary Transfers Using Lambert's Problem
python -m trajectorize.demos.kerbin_duna_transfer
Propagation of Two-Body Trajectories Using Universal Keplerian Elements
python -m trajectorize.demos.orbit
Calculations of Optimal Transfers, Porkchop Plots
python -m trajectorize.demos.single_transfer Kerbin Duna --capture_alt 60000
Inspirations
- Interactive illustrated interplanetary guide and calculator for KSP, by Olex
- Launch Window Planner, by AlexMoon
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file trajectorize-0.0.10.tar.gz
.
File metadata
- Download URL: trajectorize-0.0.10.tar.gz
- Upload date:
- Size: 60.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 768af627681af0e4fbd954efaffbb177625abbe175c77e475d06fa74b54746f7 |
|
MD5 | dcb051b10c03fa6bf10cc6e080093b2e |
|
BLAKE2b-256 | 6e9dd9c4c773385880098b62051e9c88ff35dad67b2e6e85103df34a70780ace |