This repository contains the state-of-the-art aerial drone background tracking algorithm. This project is sponsored by UCSD Engineers for Exploration.
This project has been tested on Ubuntu 18.04, 20.04, 22.04. Other operating systems are compatible through the use of Vagrant.
To run the project on Windows, please ensure you run the following command in an admin PowerShell
Set-ExecutionPolicy Unrestricted
Please ensure you have HomeBrew installed.
To run the project on Linux, please ensure you run the correct command for your distro.
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git ffmpeg
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git ffmpeg
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git ffmpeg
This repository provides some default configurations for Visual Studio Code. In order for the default configuration to work, it is necessary to run ./cli code at least once. While it is possible to run this project using other tools, these configurations are not supported and YMMV.
This project leverages a CLI written in Python with bootstrappers for PowerShell and Bash.
It is recommended that as a new contributor to the project, you first run ./cli chart and understand the flow of information through the program.
Running ./cli chart or ./cli flowchart will display a chart that shows each step of the execution.
Running ./cli code will open the installed instance of Visual Studio Code and ensure that the expected extensions are installed.
Running ./cli data will download the data from the Team's Google Drive.
Running ./cli decrypt will ask for a password for decrypting all files in the encrypted folder. It will use the ENCRYPTION_KEY environment variable as the password if supplied.
Running ./cli encrypt will ask for a password for encrypting all files in the decrypted folder. It will use the ENCRYPTION_KEY environment variable as the password if supplied.
Running ./cli format will use black to automatically format all of the Python scripts.
Running ./cli lint will run pylint, pyright, and black to check for lint errors.
Running ./cli run will run the algorithm and display the time of each step.
Running ./cli shell internally runs ./cli install and then opens a shell in the virtual environment.
Running ./cli docs will generate sphinx docs and copy to the docs folder, where it can be hosted on github pages.