/msl-apollo-entry-guidance

A Python implementation of the Apollo Entry Guidance algorithm used by NASA's MSL spacecraft

Primary LanguageJupyter NotebookMIT LicenseMIT

An Apollo entry guidance implementation in Python

This repository shows how to implement the Apollo entry guidance algorithm in Python. This is the version of the algorithm that was used by the NASA Mars Science Laboratory mission that landed the Curiosity rover on Mars. The code can be found in the notebooks folder in the form of some jupyter notebooks and associated python scripts.

This project is described in more detail in the video linked below and at this blog post.

How the Apollo Entry Guidance Algorithm Landed MSL on Mars - Simulated in Python

Requirements

The Jupyter notebooks in the notebooks folder assumes that you have the packages specified in requirements.txt installed. If you do not have a working python environment installed, please use something like Anaconda to install one. Then install the dependencies in requirements.txt by running

pip install -r requirements.txt

manim animations

The source code for generating the animations that are used in the video can be found in the manim folder. The notebook in that folder was run in a Google Colab environment. Please see the manim community edition website for more information.