HackaTUM R&S Satellite Challenge

profile picture

Here’s the Devpost link to our final submission and the original repository. In my fork of the repo, we have continued development and added some features after the competition was over.

Problem Statement

Rohde & Schwarz tasked the attending teams with developing a satellite constellation intended for air traffic communication. Several factors had to be taken into account, including the Doppler shift, guaranteeing full coverage of fixed geographic regions at all times, and the directionality of the planes’ communication antennas.


Using physics and symmetry to get a rough understanding of the task and simulate the problem to attain a working solution.

What it does

In this challenge, we were supposed to propose a satellite constellation that fulfills several geometrical constraints. We have found such a solution, which can be found in our GitHub repository in the 3D folder. On the way to the solution, we developed a 2D and 3D representation of the coverage of a given satellite constellation that helps visualize satellite paths, their coverage range, and shows that we have found a feasible solution.

How we built it

Since the problem statement itself is quite complicated, our main focus at the start was to gain a better understanding of the problem, and decide how to approach it. We started by trying to mathematically characterize the problem - specifically the constraints. We were able to simplify the problem, by assuming the earth’s surface is covered in planes flying in every direction at the same time. This transformed it into a pure coverage optimization problem, without any moving planes on earth, just moving satellites. After gaining some insight on how to determine which points on earth are covered by a given satellite, we decided to create a 3D simulation (using Unity) and a 2D visualization (using Matplotlib). The 3D Simulation uses shaders to compute and visualize the sections covered by the satellites, the 2D visualization uses equirectangular projection to calculate the covered areas. These visualizations gave us the ability to validate and test new satellite configurations. We opted to use 8 satellites in geostationary orbit to cover a majority of the planet around the equator. To cover the Poles, we used 6 rings of satellites, each containing 9 equally spaced satellites in geosynchronous orbits. This constellation guarantees constant coverage of all geographic regions at all times.

Challenges we ran into

Accomplishments that we’re proud of

What we learned

What’s next for HamilTUMian

There are a lot of further steps that could be undertaken: