https://github.com/dmalyuta/successive_rendezvous
Fast Trajectory Optimization via Successive Convexification for Spacecraft Rendezvous with Integer Constraints
https://github.com/dmalyuta/successive_rendezvous
Last synced: 6 months ago
JSON representation
Fast Trajectory Optimization via Successive Convexification for Spacecraft Rendezvous with Integer Constraints
- Host: GitHub
- URL: https://github.com/dmalyuta/successive_rendezvous
- Owner: dmalyuta
- Created: 2019-06-10T03:53:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-04T19:15:42.000Z (over 5 years ago)
- Last Synced: 2025-03-26T06:43:29.233Z (7 months ago)
- Language: Python
- Size: 15.1 MB
- Stars: 33
- Watchers: 1
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fast Fuel Optimal Rendezvous Trajectory Generation
View a video of the optimized trajectory
![]()
Figure: Total fuel consumption of the converged trajectories output by the
algorithm. The Apollo G-type mission nominal fuel consumption is shown as
reference. Up to 90% of fuel is saved.## General Description
This repository implements the successive convexification algorithm with
state-triggered constraints for solving a 6 degree of freedom rendezvous
trajectory generation problem, in particular Apollo [transposition and
docking](https://en.wikipedia.org/wiki/Transposition,_docking,_and_extraction)
of the command and service module with the lunar module, submitted to [AIAA
SciTech 2020](https://www.aiaa.org/SciTech).```
@inproceedings{Malyuta2020,
doi = {10.2514/6.2020-0616},
url = {https://doi.org/10.2514/6.2020-0616},
year = {2020},
month = jan,
publisher = {American Institute of Aeronautics and Astronautics},
author = {Danylo Malyuta and Taylor Reynolds and Michael Szmuk and Behcet Acikmese and Mehran Mesbahi},
title = {Fast Trajectory Optimization via Successive Convexification for Spacecraft Rendezvous with Integer Constraints},
booktitle = {{AIAA} Scitech 2020 Forum}
}
```## Requirements
To run the code, you must have Python 3.7.2, CVXPY 1.0.24 and [MOSEK
9.0.87](https://www.mosek.com/downloads/) installed. To install Python and other
dependenies (except MOSEK) on Ubuntu, we recommend that you install [Anaconda
for Python 3.7](https://www.anaconda.com/distribution/) and then execute (from
inside this repository's directory):```
$ conda create -n py372 python=3.7.2 anaconda # Answer yes to everything
$ source activate py372
$ pip install -r requirements.txt
```## Instructions
You may run a particular rendezvous scenario by editing after ``if
__name__=='__main__'`` in `rendezvous.py`. You may also just run the following
for the default example of transposition and docking with a 150 second time of
flight:```
python rendezvous.py
```Plots are generated by running the `*_plot.py` files. Data is stored in the
`data/` directory and figures in the `figures/` directory.