Satellite Constellation
Satellites can be used for communication, observation and remote sensing functionalities. For missions covering multiple regions, or even the entire globe, a group of satellites (called a constellation) is allocated. Examples of satellite constellations include GPS satellite constellation, GLONASS, Starlink, etc.
Problem statement
The problem is presented with a group of targets that are to be observed , and a group of satellites have been allocated for the observation. For continuous coverage, a subconstellation of multiple satellites are to be allocated to each target. The aim of the problem is to find the optimal allocation of the satellites to the subconstellations, such that the coverage of all the targets is maximized.
Mathematical formulation
Let there be targets to be observed and satellites allocated for observation. Assume that is divisible by . Each satellite is represented by a coverage score, which is provided as an input in the form of a list where is the coverage score of the satellite.
Suppose the satellites have been divided into subconstellations, each containing satellites. Each subconstellation is associated with a score, which quantifies the quality of coverage of the target by the given subconstellation of satellites. The score for the subconstellation is mathematically calculated as follows
where represents the mth satellite in the subconstellation.
The total coverage score of the constellation is considered as the sum of the coverage scores of all the subconstellations.
The objective of the optimization problem is to group the satellites into the subconstellations such that the constellation score CS is maximized.
Running the Satellite Constellation in BQPhy
BQPhy platform provides a seperate page to solve the satellite constellation problem. You can go to the Projects tab, click on New Project, and select Satellite Constellation.
Required inputs from user
- Number of targets
- Number of satellites
- A .csv file containing the coverage score of each satellite
Example
Consider a sample case of 10 satellites and 2 targets. The coverage score of the satellites are written in a .csv file (sample.csv) in the form
satelliteid,coverage
s1,0.16,
s2,0.16,
...
s10,0.12,
The following steps are to be followed for running the optimization problem
Creating the model file
- Go to Projects tab and click on New Project button on the top right corner
- On the pop-up dialog box [check if the term is right], give the name of the project, and select Satellite in the Optimization Type options
Sample data for 10 satellites has been provided here in the satellite Constellation Optimization - Guide drop down
The information on the number of satellites is automatically calculated from the uploaded csv file.
- Upload
sample.csvand click Add Project - The model file for the given information is created
Running the execution
- Go to the project and click on Execute
- Input the name of the execution and the hardware configuration to be used.
- Provide the number of targets in the optimization problem and click Next
- In the next pop-up, provide the population size, the maximum number of generations, the number of trials and the value of theta and click on Submit Execution
Results
- The details of the run are shown in two ways
- Chart view: The best fitness obtained at each generation for multiple trials is shown as a chart
- Table view: The values of the best fitness at each generation for the trials is shown in tabular format
- The following results can be downloaded
- a
jsonfile containing the optimal subconstellation allocation and their coverage scores - a
csvfile containing the optimal design variables - a
csvfile containing the fitness value evolution through the generations for each trial
- a
- The platform also provides a Space Visualization page, that shows the subconstellations in an interactive GUI interface.