I started developing a tracker for orbital and airborne objects. The goal is to use any ASCOM-compatible computerized device and automatically track satellites, rockets, airplanes or anything that is visible and moving across the sky at angular speeds that the given device can handle.
Some of the features I envision to implement are:
- Predictive tracking. Track based purely on calculations from TLE data, user location and atmospheric variations.
- Optic tracking. Track based purely on video stream from camera. The user uses the mouse or other pointing device to point an object to "lock". The program brings the object to the center of the scope (i.e. moves the telescope/device accordingly) and tracks it.
- Hybrid tracking. This is the fully auto-pilot mode. It uses a 3-phased routine for tracking. Initially, it uses predictive tracking to go to the object’s predicted location. However, in most of the cases the object will not be centered on the scope or not visible at all due to alignment errors, stale TLE data, equipment inaccuracies, atmospheric distortion etc. Then it uses optic tracking to automatically spot the object, doing a spiral movement from center to outside until it finds it. Last, it uses the optic feedback to keep the object "locked" at the center by providing, and constantly updating, correction coefficients to the tracking algorithm.
- Implementation of 2D and 3D world map for visualization.
- Observation calendar.
- ASCOM and INDI protocol support.
- Cross platform (Win, Linux, macOS).
- Port core tracking to embedded devices (e.g. Raspberry Pi). This is the ultra portable version. The control interface can be implemented through Android/iOS app.
The project is in an early stage. I have completed some of the milestones I set and I would like to share my progress, in case someone finds it interesting (and maybe receive some feedback).
I call my program Tracker++. I am developing it in C++ and Python.
I prepared a standalone binary version for Windows 7/8/10 32/64bit.
This is just a demo and it shows the basic skeleton of the program. It demonstrates the following basic features:
- ASCOM EQ connect and basic control of a telescope.
- Acquisition of video stream from default camera.
- Automatic download and parsing of TLE data for a list of common satellites.
- Loading custom TLE data.
- Implementation of vector world map.
- Implementation of 3D map.
- Demonstration of real time satellite tracking on map.
You can find the setup executable of my program here:
Note: I haven't digitally sign my program yet so you might see browser warnings.