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, making manual telescope aiming and tracking impossible.
During my work at Lake Superior State University (Aug 2024 - May 2025), I developed an automated software system to calculate upcoming pass windows, acquire targets visually in real time, and steer motorized telescope mounts to maintain a continuous lock across the sky.
High-Speed Computer Vision (120 FPS)
- Real-time video processing: Wrote high-throughput C++ and OpenCV processing loops running at 120 frames per second to track fast-moving targets without dropping frames.
- Star field cancellation: Combined dynamic background subtraction and frame differencing to eliminate stationary background stars and isolate moving targets.
- Target validation: Evaluated lightweight YOLO object detection models to confirm satellite signatures while rejecting camera sensor artifacts, passing airplanes, and clouds.
Orbital Propagation & Motor Steering
- Pass trajectory calculation: Implemented SGP4 orbital propagation algorithms using Two-Line Element (TLE) ephemeris sets to calculate exact satellite trajectories ahead of each pass.
- Coordinate transformation: Converted celestial right ascension and declination into local topocentric azimuth and elevation angles for our ground observatory.
- Closed-loop serial control: Wrote low-latency motor control drivers in C++ and Python communicating over RS-232 serial protocols to steer motorized mounts and keep targets centered.
Operator Telemetry & Dashboards
- Web interface: Built a responsive web dashboard using React on the frontend and ASP.NET MVC on the backend to schedule passes and monitor system health.
- Telemetry analysis: Handled real-time streams logging mount encoder positions, exposure settings, and pointing accuracy for post-pass verification.
Technologies Used
- Computer Vision & Image Processing: OpenCV, Frame Differencing, Background Subtraction, Thresholding, Feature Detection, Pillow (PIL)
- Machine Learning: PyTorch, YOLO (Object Detection), ML.NET
- Orbital Mechanics & 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 & Frameworks: React, ASP.NET MVC, .NET Core, RESTful APIs, AJAX / Fetch, HTML5, CSS3
- Systems & Environment: Embedded Linux, Multithreading, Asynchronous I/O, Git