A refactored version of my submission for the 2023-2024 Mission Space Lab competition.
This project is designed to compute the real-time speed of the ISS to five significant figures.
OpenCV is used to find matching features between sets of images which are converted into real-world distances.
Image GeoTags and the Haversine formula are used to provide a second value for the the distance travelled.
Multiple sets of speeds are then calculated using the differences in image capture times.
A weighted average is done based on the variance of each set to calculate the final speed.
This process is repeated over a configurable time period as new images are taken.
Should OpenCV fail or find too little matches, the resulting speed will be discarded.
Anomalous data is filtered out and the weighted average provides redundancy if one method proves inaccurate.
If you're using an Astro-Pi running main.py will work without any further interaction.
Options for debugging and general configuration are available in config.py.
If the PiCamera module is not present a simulated camera will be used instead!
Data will be drawn from .photos/ which must be populated with valid images.
This is designed to work with Python 3.9 (some dependencies do not work on the latest version).
The astro-pi-replay package will pull all required modules!
To comply with Astro-Pi's requirements the following changes were made before submission:
- All python scripts were moved to the base directory.
- The location for storing images was changed to the base directory.
- Repository files not meeting file type restrictions were cut.