Autonomous Satellite Tracking System
Built an automated computer vision system that tracks Low Earth Orbit satellites at 120 FPS using high-speed cameras, orbital physics models, and motorized mounts.
The problem
Low Earth Orbit satellites travel at roughly 17,000 miles per hour, leaving visible pass windows of only two to three minutes through narrow-angle optical sensors. To a camera, a satellite appears as a dim, fast-moving point of light against thousands of bright background stars. Manual telescope aiming cannot keep up with this angular velocity.
At Lake Superior State University (Aug 2024 - May 2025), I developed an automated software system to calculate upcoming pass windows, acquire targets optically in real time, and steer motorized telescope mounts to track satellites across the sky.
High-speed computer vision at 120 FPS
- Wrote high-throughput C++ and OpenCV processing loops running at 120 frames per second to track fast-moving targets without dropping frames.
- Combined dynamic background subtraction and frame differencing to eliminate stationary background stars and isolate moving targets.
- Evaluated lightweight YOLO object detection models to confirm satellite signatures while rejecting camera sensor noise, aircraft, and clouds.
Orbital propagation and motor steering
- Implemented SGP4 orbital propagation algorithms using Two-Line Element (TLE) ephemeris sets to calculate satellite trajectories ahead of each pass.
- Converted celestial right ascension and declination into local topocentric azimuth and elevation angles for the ground station.
- Wrote low-latency motor control drivers in C++ and Python communicating over RS-232 serial protocols to steer motorized mounts in a closed feedback loop.
Operator telemetry and dashboards
- Built a web dashboard using React on the frontend and ASP.NET MVC on the backend to schedule observation passes and monitor hardware status.
- Handled real-time data streams logging mount encoder positions, exposure settings, and pointing accuracy for post-pass verification.
Technologies used
- Computer vision and image processing: OpenCV, Frame Differencing, Background Subtraction, Thresholding, Feature Detection, Pillow (PIL)
- Machine learning: PyTorch, YOLO (Object Detection), ML.NET
- Orbital mechanics and control systems: SGP4 Propagation, Two-Line Element (TLE) Datasets, Coordinate Transforms (RA/Dec to Az/El), RS-232 Serial Protocols, Closed-Loop PID Control
- Languages: Python, C++, C, C#, TypeScript, JavaScript, SQL, Bash
- Web and frameworks: React, ASP.NET MVC, .NET Core, REST APIs, AJAX / Fetch, HTML5, CSS3
- Systems and environment: Embedded Linux, Multithreading, Asynchronous I/O, Git