Giter Site home page Giter Site logo

kesslerlib / kessler Goto Github PK

View Code? Open in Web Editor NEW
50.0 5.0 17.0 1.48 MB

A machine learning library for spacecraft collision avoidance

License: GNU General Public License v3.0

Dockerfile 0.24% Python 94.16% Jupyter Notebook 5.56% Shell 0.04%
machine-learning deep-learning spacecraft-collision-avoidance space-debris satellite-conjunction-analysis probabilistic-programming probabilistic-models conjunction-data-messages

kessler's Introduction


Build Status Documentation Status codecov

Kessler is a Python package for simulation-based inference and machine learning for space collision avoidance and assessment. It is named in honor of NASA scientist Donald J. Kessler known for his studies regarding space debris and proposing the Kessler syndrome.

Developed by the FDL Europe Constellations team in collaboration with European Space Operations Centre (ESOC) of the European Space Agency (ESA).

Documentation and roadmap

To get started, follow the Jupyter notebooks in the notebooks folder.

The upcoming version of Kessler will inclue the probabilistic programming model of conjunctions, which is excluded from this initial release.

Authors

  • Giacomo Acciarini, University of Surrey
  • Francesco Pinto, University of Oxford
  • Francesca Letizia, European Space Agency
  • Chris Bridges, University of Surrey
  • Atılım Güneş Baydin, University of Oxford

Kessler was initially developed by the Constellations team at the Frontier Development Lab (FDL) Europe 2020, a public–private partnership between the European Space Agency (ESA), Trillium Technologies, and University of Oxford.

Constellations team members: Giacomo Acciarini, Francesco Pinto, Sascha Metz, Sarah Boufelja, Sylvester Kaczmarek, Klaus Merz, José A. Martinez-Heras, Francesca Letizia, Christopher Bridges, Atılım Güneş Baydin

License

Kessler is distributed under the GNU General Public License version 3. Get in touch with the authors for other licensing options.

More info and how to cite

If you would like to learn more about or cite the techniques Kessler uses, please see the following papers:

@inproceedings{acciarini-2023-observation,
  title = {Observation Strategies and Megaconstellations Impact on Current LEO Population},
  author = {Acciarini, Giacomo and Baresi, Nicola and Bridges, Christopher and Felicetti, Leonard and Hobbs, Stephen and Baydin, Atılım Güneş},
  booktitle = {2nd NEO and Debris Detection Conference},
  year = {2023}
}
@inproceedings{acciarini-2020-kessler,
  title = {Kessler: a Machine Learning Library for Spacecraft Collision Avoidance},
  author = {Acciarini, Giacomo and Pinto, Francesco and Letizia, Francesca and Martinez-Heras, José A. and Merz, Klaus and Bridges, Christopher and Baydin, Atılım Güneş},
  booktitle = {8th European Conference on Space Debris},
  year = {2021}
}
  • Francesco Pinto, Giacomo Acciarini, Sascha Metz, Sarah Boufelja, Sylvester Kaczmarek, Klaus Merz, José A. Martinez-Heras, Francesca Letizia, Christopher Bridges, and Atılım Güneş Baydin. 2020. “Towards Automated Satellite Conjunction Management with Bayesian Deep Learning.” In AI for Earth Sciences Workshop at NeurIPS 2020, Vancouver, Canada. arXiv:2012.12450
@inproceedings{pinto-2020-automated,
  title = {Towards Automated Satellite Conjunction Management with Bayesian Deep Learning},
  author = {Pinto, Francesco and Acciarini, Giacomo and Metz, Sascha and Boufelja, Sarah and Kaczmarek, Sylvester and Merz, Klaus and Martinez-Heras, José A. and Letizia, Francesca and Bridges, Christopher and Baydin, Atılım Güneş},
  booktitle = {AI for Earth Sciences Workshop at NeurIPS 2020, Vancouver, Canada},
  year = {2020}
}
  • Giacomo Acciarini, Francesco Pinto, Sascha Metz, Sarah Boufelja, Sylvester Kaczmarek, Klaus Merz, José A. Martinez-Heras, Francesca Letizia, Christopher Bridges, and Atılım Güneş Baydin. 2020. “Spacecraft Collision Risk Assessment with Probabilistic Programming.” In Third Workshop on Machine Learning and the Physical Sciences (NeurIPS 2020), Vancouver, Canada. arXiv:2012.10260
@inproceedings{acciarini-2020-spacecraft,
  title = {Spacecraft Collision Risk Assessment with Probabilistic Programming},
  author = {Acciarini, Giacomo and Pinto, Francesco and Metz, Sascha and Boufelja, Sarah and Kaczmarek, Sylvester and Merz, Klaus and Martinez-Heras, José A. and Letizia, Francesca and Bridges, Christopher and Baydin, Atılım Güneş},
  booktitle = {Third Workshop on Machine Learning and the Physical Sciences (NeurIPS 2020), Vancouver, Canada},
  year = {2020}
}

Installation

Prerequisites

  • Python 3.6, 3.7 or 3.8.

Note: Python 3.9 is currently not supported due to one of our dependencies (pykep) not supporting it. You might get things working with Python 3.9 if you install pykep using conda (not tested).

How to install

To install kessler, do the following:

git clone https://github.com/kesslerlib/kessler.git
cd kessler
pip install -e .

Optional: how to run it in Docker

Build the Docker image

In the root folder of this repository, run:

docker build -t kessler .

Run Jupyter inside Docker

If you're using Linux:

docker run --rm -it -v $PWD:/workspace --net=host kessler jupyter notebook --allow-root

If you're using MacOS:

docker run --rm -it -v $PWD:/workspace -p 8888:8888 kessler jupyter notebook --ip 0.0.0.0 --no-browser --allow-root

kessler's People

Contributors

andrewngt avatar francescopinto avatar gbaydin avatar sceki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kessler's Issues

pykep error - Running Python 3.8.13 in Mac with Apple Silicon

Hello, I have been trying to install Kessler in a new Conda environment with Python 3.8 (running on Mac with Apple Silicon). However, I get the following error message:

Collecting numpy
  Using cached numpy-1.22.3-cp38-cp38-macosx_11_0_arm64.whl (12.7 MB)
Collecting matplotlib
  Using cached matplotlib-3.5.1-cp38-cp38-macosx_11_0_arm64.whl (7.2 MB)
Collecting torch>=1.5.1
  Using cached torch-1.11.0-cp38-none-macosx_11_0_arm64.whl (43.1 MB)
ERROR: Could not find a version that satisfies the requirement pykep>=2.5 (from kessler) (from versions: none)
ERROR: No matching distribution found for pykep>=2.5 

I have tried to pip install pykep but it seems is not available for osx-arm64.

Could anyone advise please?

Thank you in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.