This modeling and simulation software is used to characterize the behavior of attitude determination and control systems (ADCS) on spacecraft, and allows for rapid iteration to demonstrate the viability of a specific suite of sensor, actuator, and controller designs for a given spacecraft design. The mathematical models used for all modeling are described in the accompanying paper.
This software has the following Python dependencies:
- numpy
- scipy
- matplotlib
There are two routes to installation:
- Download and install the Python 3.7 distribution of Anaconda to avoid installing dependencies manually, as it will already have the above libraries installed (recommended for Mac/Linux, required for Windows).
- Use the PyPi package manager to install the requirements listed in the requirements.txt file:
pip install -r requirements.txt
- Download the software present in this repository.
- Open a terminal and navigate to the directory containing project.py (in adcs-simulation).
- Run the project with the command
python3 project.py
.
If there are issues with the dependencies not importing successfully, confirm that the python3
command points to your Anaconda installation by running which python3
(it should point to ~/anaconda/bin/python3
, where ~
is the user prefix). If it does not, you may try the alternative command ~/anaconda/bin/python3 project.py
to run the project (from the project directory).
- Download the software present in this repository.
- Open Anaconda prompt (installed above) and navigate to the directory containing project.py (in adcs-simulation).
- Run the project with the command
python3 project.py
.
The Sphinx Python documentation generator was used to create HTML-based documentation for the code written here. For an overview of the project, it is suggested to start with the modules page.
This repository is a product of the ASE 372K (Attitude Dynamics) course final project.