This project is a Python-based software pipeline that fetches live astronomical data from NASA's JPL Horizons service and calculates the pan/tilt angles required for a theoretical two-axis mechanical tracker. It serves as the computational engine for a DIY celestial object tracker.
The core function of this software is to bridge the gap between astronomical data and mechanical control. Given the name of a celestial body (e.g., "Mars", "Jupiter"), the main script performs the following steps:
- Data Fetching: Connects to the NASA JPL Horizons API to retrieve the current ephemeris data for an object.
- Coordinate Parsing: Extracts the Planetocentric Latitude (
PABLat) and Longitude (PABLon) of the sub-observer point. - Angle Calculation: Translates these astronomical coordinates into specific pan and tilt angles, ready to be sent to a servo-based controller.
1. Prerequisites First, install the necessary Python libraries from your terminal:
pip install -r requirements.txt2. Execute the Script Run the main tracker script. You will be prompted to enter the name of a celestial object.
python run_tracker.pyThe development_scripts/ folder contains tools used during the creation of this project:
debug_data_viewer.py: A utility to fetch and display the full, raw data table from JPL Horizons. This is useful for debugging and inspecting all available data from the API.