Acessibilidade / Reportar erro

Optimizing the Communication Capacity of a Ground Station Network

ABSTRACT:

Small satellites are growing in use for educational, scientific, and commercial purposes, usually in Low Earth Orbit (LEO) flights, given their lower costs and associated risks, as well as smaller lead times for assembling and testing. However, the typically short periods of LEO passes bring the need to find ways of optimizing the communication between the ground and space segments. In that direction, several projects have relied on ground station networks to increase the total time of contact with the satellites. In this type of arrangement, the stations agree in monitoring one or more satellites in such a way that, as the spacecraft exits one station’s field of view, another station assumes its tracking, extending the total communication time and compensating the short passes. This type of solution, while very efficient in terms of costs, on the other hand demands a good synchronization procedure, so that all constraints present in its operations are taken into account and the network can operate effectively. This paper aims at describing a model implemented for orchestrating ground station networks that optimizes the communication capacity of the ground network, while taking into account physical constraints not usually considered in other models currently proposed.

KEYWORDS:
Satellite tracking; Ground station networks; Network optimization

INTRODUCTION

There is an ever-growing tendency of using small satellites in Low Earth Orbits (LEO) for educational, scientific, and even commercial purposes. The reasons for this are various, such as lower costs and risks, and smaller lead times for assembling and testing the spacecrafts (Schiling 2014Schilling K (2014) Networked control of cooperating distributed pico-satellites. IFAC Proceedings Volumes 47(3):7960-7964. https://doi.org/10.3182/20140824-6-ZA-1003.02534
https://doi.org/10.3182/20140824-6-ZA-10...
), easing the participation of development countries (González et al. 2016González FAD, Cabrera PRP, Calderón CMH (2016) Design of a nanosatellite ground monitoring and control software - a case study. Journal of Aerospace Technology and Management 8(2):211-231. https://doi.org/10.5028/jatm.v8i2.553
https://doi.org/10.5028/jatm.v8i2.553...
). However, the period of a LEO is typically of 90 minutes, with the average pass over a given ground station of 10 minutes, in the best case, to no coverage for most orbits. In order to avoid such short communication periods, many projects have relied on ground station networks (GSNs) to increase the total time of contact with the satellites. In this type of arrangement, the stations agree on monitoring one or more satellites in such a way that as the spacecraft exits one station’s field of view, another station immediately assumes its tracking, in order to keep the spacecraft communicating with the ground segment as long as possible during a given orbit, extending the total communication time and compensating the short passes. This type of solution, while very efficient in terms of costs on one hand, on the other hand demands a good synchronization engine, or “orchestration” procedure, so that all constraints present in this type of operation are taken into account, and the solution can be implemented effectively. The aim of this article is to describe the mathematical model implemented for orchestrating the Brazilian Integrated Network for Satellite Tracking (Rede Integrada Brasileira de Rastreamento de Satélites - RIBRAS), an evolution of the model originally presented by Carvalho et al. (2013)Carvalho RA, Cordeiro CS, Moura GL (2013) Optimizing data download using clusters of networked ground stations: a model for the QB50 project. Presented at: 5th European Cubesat Symposium; Brussels, Belgium., and that is able of optimizing the total communication capacity between the network of stations and a set of satellites, considering various physical constraints not considered in other models currently proposed.

The RIBRAS project is sponsored by the Brazilian Space Agency (Agência Espacial Brasileira - AEB), and currently, after a period of development of its various software modules and component integration that involved computer hardware, automation instruments, digital radios, and mechanical elements, it is already operating an automated ground station equipped with two towers, located at the Instituto Federal Fluminense’s Innovation Hub, in Campos, state of Rio de Janeiro. One tower has UHF and VHF Yagi-Uda antennas, while the other tower operates in S-band. The automation system allows the automatic aiming and tracking of satellites, providing that the Two Line Elements (TLEs) of the spacecrafts to be tracked are supplied. The station activates the selected tower, positions it in the initial tracking position, performs the tracking and communication with the spacecraft, and then returns the antenna back to a safe position after its job is finished. Other nine stations are planned throughout the Brazilian territory, so as to cover it entirely, even when considering flights at altitudes as low as 200 km. The RIBRAS architecture aims at creating a network of stations with similar technical characteristics in order to facilitate its orchestration and thus making it ideal for missions where it is necessary to track several satellites flying in LEO. Other parts of the project include a distributed system with several modules used to coordinate the handout of satellites among the stations, as described by Carvalho et al. (2014)Carvalho RA, Lisboa WS, Hissa LR, Moura GL, Amaduro LR, Cordeiro CS (2014) The software architecture for the RIBRAS ground station network. Presented at: 1st IAA Latin America CubeSat Workshop; Brasília, Brazil., Amaduro et al. (2016)Amaduro LR, Carvalho RA, Hissa LR, Vianna WS, Cordeiro CS, Oliveira WS, Souza SCM, Moura GL (2016) Developing and operating an automated ground station. Presented at: Second IAA Latin American CubeSat Workshop; Florianópolis, Brazil., and Moura et al. (2016)Moura GL, Amaduro LR, Hissa LR, Carvalho RA (2016) Orchestration and controlling of an automated ground station network. Presented at: Second IAA Latin American CubeSat Workshop; Florianópolis, Brazil..

This paper is divided as follows: initially, the Visibility Problem is addressed, providing basic knowledge to understand the handout mechanism performed by the ground stations. Next, the requirements for the ground stations orchestration problem are presented in order to create a comparison baseline between the existing models and the one here proposed. A brief comparison with similar works is provided, highlighting the covering of the practical requirements of the orchestration problem. Then the proposed model is presented, through a mapping of its constructions to the presented requirements. The last two sessions are dedicated to presenting a brief simulation with discussion of its results - using data very close to low-altitude missions currently carried out - and final conclusions.

THE VISIBILITY PROBLEM

When a satellite is in the ground station’s antenna line of sight, it has the ability of establishing communication. The signals are exchanged during this period of time, when the start of visibility is called acquisition of signal (AOS), and the end is called the end of signal (EOS). During this time interval, the pointing of the antenna must be adequate to obtain a good data. During its visibility window, each satellite has the opportunity to establish a data transmission link, called DDO (Data Downlink Opportunity). When one takes into account the presence of more than one satellite, or a constellation of satellites, some of these contacts can be free of conflicts, while others cannot, which requires appropriate action to circumvent them. Each satellite has a visibility cone-shaped area, which depends on the altitude and antenna specifications. The projection of this cone in the ground is called footprint.

Figure 1a shows three satellites in the line of sight of a ground station antenna, featuring a simple visibility conflict, which occurs when two or more satellites pass the line of sight of an antenna simultaneously, or when the satellites pass in a sequential manner but the EOS of a satellite is after the subsequent AOS. Figure 1b shows a more complex situation where, besides the visibility conflict, there is a dispute between two antennas for the same satellites. That is, the problem is to determine the best arrangements for communication links (DDOs), free of conflicts, to optimize the total communication rate, while meeting various physical constraints, such as the antenna aiming (pointing) time.

Figure 1
Visibility conflicts: (a) simple visibility conflict, when multiple satellites dispute a single ground station. Satellite 1 disputes a time slot with satellite 2, which in turn also disputes with satellite 3; (b) multiple visibility conflict, with multiple satellites disputing multiple stations. Satellites 4 and 5, and 7 and 8 dispute stations while the spacecraft 6 disputes a communication slot of both stations with satellites 5 and 7.

PROBLEM REQUIREMENTS

Although the communication problems can vary with each specific mission, some requirements for the GSN orchestration task are common to every mission, and are here presented and briefly discussed as follow:

  1. Solve the visibility conflict problem while maximizing the communication capacity: this composite requirement is the very basic focus of the optimization problem, with many options of which antenna must track which satellite when it is available, it is necessary to define the set of options in order to achieve the best performance of the network.

  2. Consider a variable number of ground stations and satellites: some academic works focus on fixed numbers of satellites and stations, however, besides the need for creating flexible models, the dynamics of space missions makes the number of communication options vary during the mission, therefore, considering variable numbers of elements is a practical must-have.

  3. Establish communication priorities of specific pairs of satellites and antennas: it is very common that priorities are established between stations and satellites, for instance, in international missions, national satellites usually have higher priorities than satellites from partner countries.

  4. Consider the times necessary for aiming movements, performed between the tracking tasks: after tracking a given satellite, the antenna needs time to move towards, or aim at, another satellite and initiate a new tracking task. This type of movement can be classified as a setup task that consumes part of the available communication time of a given antenna in relation to a satellite constellation.

  5. Consider minimum and maximum data exchange constraints: individual satellites can have different communication constraints according to their payloads, specific orbits, and current memory and available power states. Therefore, it is interesting to have this type of constraint to secure that the satellites will not loose data or spend energy on communications beyond the expected. These constraints, however, may turn the problem infeasible, which indicates a necessity in re-planning operations in space.

  6. Consider variable data transfer rates: usually, communication rates are fixed, such as 9600 bps for VHF, however, communication conditions can vary a lot due to meteorology factors and the angles of visibility - some stations have shadow areas created by buildings, terrain, or electric networks. Therefore, the transfer rate can vary during the tracking and according to the view angles, and a practical model should reflect this possibility.

RELATED WORK

Since when ground station networks emerged as an interesting alternative for dealing with the problem of maintaining the tracking of satellites in LEO, the question on how to optimize their use has been addressed. It can be stated that the complete problem is how to make optimal scheduling of multiple ground stations that have interest on multiple satellites, with potential visibility conflicts. In this topic, brief reviews on some of the current solutions are compared with the requirements presented in the previous topic in order to address their shortcomings and introduce the solution to the complete problem.

Spangelo et al. (2010)Spangelo SC, Boone D, Cutler J (2010) Assessing the capacity of a federated ground station. Presented at: 2010 IEEE Aerospace Conference; Big Sky, USA. https://doi.org/10.1109/AERO.2010.5446950
https://doi.org/10.1109/AERO.2010.544695...
present an analysis for the complete problem, however, without any consideration on (d), (e), and (f) requirements, although (e) constraints are easy to introduce in their high level model. Given that the complete problem is a combinatorial optimization problem of the NP-hard class, the use of heuristics is the path found by some authors, being Genetic Algorithms (GA) a solution frequently used. Lee et al. (2013)Lee J, Wang S, Chung D, Hyun C, Choi S, Ko K, Ahn H, Jung O (2013) Visibility conflict resolution for multiple antennae and multi-satellites via genetic algorithm. Presented at: IEEE Aerospace Conference; Big Sky, USA. https://doi.org/10.1109/AERO.2013.6496849
https://doi.org/10.1109/AERO.2013.649684...
support most of the previously listed requirements in a GA model for solving the problem, however, the authors fail to address (f) requirement. Both works of Xhafa et al. (2012)Xhafa F, Herrero X, Barolli A, Takizawa M (2012) A Struggle Genetic Algorithm for Ground Stations Scheduling Problem. Presented at: 4th Conference on Intelligent Networking and Collaborative Systems; Bucharest, Romania. https://doi.org/10.1109/iNCoS.2012.125
https://doi.org/10.1109/iNCoS.2012.125...
and Sun and Xhafa (2011)Sun J, Xhafa F (2011) A genetic algorithm for ground station scheduling. Presented at: IEEE International Conference on Complex, Intelligent and Software Intensive Systems (CISIS); Seoul, South Korea. https://doi.org/10.1109/CISIS.2011.29
https://doi.org/10.1109/CISIS.2011.29...
use GA to address the basic questions, however failing to treat aiming times (d) and to consider communication performance as a pure function of time, in other words, does not address (f) either. Castaing (2014)Castaing J (2014) Scheduling downloads for multi-satellite, multi-ground station missions. Presented at: AIAA Small Satellite Conference; Logan, USA. gives an interesting approach, adding available power constraints to the optimization model and using a greedy heuristic to solve the problems. On the other hand, this approach does not complies (c), (d), and (f) requirements, although it is easily adaptable to comply (c) constraints.

As can be seen, although there are related works that deal with the problem of synchronizing ground stations, none of them addresses all the requirements listed previously. Additionally, all models focus on allocating resources, which is related to network planning, ignoring the need to schedule resources, which is related to programming - the use of these resources according to their physical constraints, with exception for Castaing’s model and its restrictions of available power, but which also ignores movement constraints of the antennas, like all the others. Programming should be integrated to planning so as to avoid generating plans that cannot be implemented in practice.

PROPOSED ORCHESTRATION MODEL

The model here presented was originally developed for RIBRAS, in the scope of the QB50 international space mission (Thoemel et al. 2014Thoemel J, Singarayar F, Scholz T, Masutti D, Testani P, Asma C, Reinhard R, Muylaert J (2014) Status of the QB50 cubesat constellation mission. Presented at: 65th International Astronautical Congress; Toronto, Canada.), as described by Lisboa et al. (2014)Lisboa WS, Hissa LR, Moura GL, Amaduro LR, Carvalho RA, Cordeiro CS (2014) The RIBRAS software system. Presented at: 6th European CubeSat Symposium; Estavayer-le-Lac, Switzerland.. However, it is generic enough to be used in other missions and networks. Moreover, the modeling aimed not only to meet all the requirements listed before, but also added new requirements, so as to make it as flexible and applicable as possible. In order to achieve this goal, the model was created without thinking in the solving technique. The following topics describe this model in detail.

THE EXTRA REQUIREMENTS

Besides addressing all requirements listed previously, an extra set of requirements was defined for the model, related to integrating the tasks of planning (allocating resources) and programming (dealing with the physical constraints) the network, as well as dealing with variable signal reception. These extra requirements are described as follows:

  • g. Setup costs: the model considers that, from the moment that the satellite begins to communicate with the ground segment, it only stops when the visibility sequence is interrupted, in other words, when there is an area not covered by any station. Thus, communication setup times at the beginning (communication activation) and at the end (deactivation) of each period of continuous communication are considered. Activation and deactivation are used, for instance, by the first station in the satellites’ path to confirm if the first satellite in view is in the expected position and time, and by the last station to inform the list of lost data packages.

  • h. Functions to describe the communication behavior: in real operations, the nominal transmission rate cannot be always considered, given that meteorological conditions, for instance, can influence communications. Also, physical obstacles, such as buildings, mountains, power lines, etc. can create shadow areas, with no signal at all. Therefore, simply multiplying the time when the satellite is visible by the available communication band is not a reliable measure of the data exchange volume between the two segments.

  • i. Physical constraints: most, if not all, related models ignore physical constraints, such as the maximum velocities that azimuthal and elevation antenna motors can perform, and the most complex consideration, because it is totally dynamic and dependent of the scheduling, which is the radio’s communication wire initial and maximum winding angles. This is a very practical consideration, known by every radio amateur: when the winding limit is reached, it is necessary to command a counter movement, avoiding a stricture of the cable around the antenna tower, which is a time consuming operation, ideally avoided by doing intelligent, anticipated movements, such as some times doing bigger angular movements beforehand to avoid a future stricture.

Considering all the constraints from (a) to (i), the model was developed as follows.

MODEL CONCEPTS

In order to develop the model, some concepts are introduced. The first is the concept of overflight, which is the time window that starts when the first satellite of the constellation starts to become visible by the first station, and ends when the last satellite is visible by the last station. So if the set of satellites is S = (S1, S2, S3), and the set of stations is G = (G1, G2, G3), it is considered that there is no overlapping in the orbits. For instance, S1 already passed once by the network and it can pass again while S3 is still passing for the first time during a given time frame. This situation can occur if S1 and S3 are flying in quite different orbits, and therefore, hardly it can be said that they are forming what is defined as a constellation, or if the constellation forms a really long “collar” around the Earth. Although the model can address overlapping, providing that a correct pre-processing is done, it was not addressed in any simulation.

Another concept is slot, which represents a visibility time slice. This concept allows the discretization of the problem, reducing its solution space, and consequently reducing the computing effort. A slot is calculated the set of stations over which a spacecraft flies, with their associated times, as a basis. For instance, a given satellite S flies from 18:00:00 to 19:00:00 over a network, being 18:00:00 to 18:15:00 over station A, from 18:15:00 to 18:45:00 over A and B, and from 18:45:00 to 19:00:00 over C. Then, S will have three slots associated to this specific orbit: {A, [18:00:00, 18:15:00]}, {(A, B) [18:15:00, 18:45:00]}, and {C, [18:45:00, 19:00:00]}.

In fact, the proposed model defines the concept of valid slots, because some times even if the satellite is visible, it may not be able to communicate due to the lack of available power, a quite common situation when dealing with nanosatellites. These valid slots are previously calculated, together with a series of other input data, as will be explained latter in this paper.

The presence of the physical requirements (i) indicates that the network scheduling can be split into two parts, planning and programming: the first is related to which resources (antennas) are allocated to which tasks (tracking a given satellite during a given time slot), while the second is related on how these resources are going to be used. The second part is the main differential of the proposed model in relation to the other approaches.

THE OBJECTIVE FUNCTION

The model was tested with different objective functions, being the first and most intuitive the maximization of the overall data exchange. However, after a series of simulations and evaluations of real-world missions’ communications requirements, it was detected that the problem has in fact a bi-criteria objective function: it is necessary to simultaneously fit to the satellites’ data exchange demands, while minimizing the antennas movements on the ground.

For the first part, related to Planning, there is no use to maximize the contact times between stations and satellites, given that in some situations satellites can have limitations on available power for communications. Therefore, the idea is to get the total data that each satellite needs to exchange with the ground segment as a parameter for the model, supplied by the satellites’ teams, and then select those plans that are closest to this total, with a minimum of surplus or shortage of data. The solution for this matter is working with a set of variables named slack, representing the difference between the quantity demanded by the satellite and the one offered by the network, and minimize these variables. Slack variables can be positive (surplus), negative (shortage), or zero (exact fit). This way, the goal is to reduce the total sum of the modulus of these variables. Anyhow, the original objective function of maximizing the overall data exchange can be used without any changes in the remaining model.

The second part of the objective function, associated to programming, refers to minimizing the antennas movements, which requires considering the total angular movements of the antennas. Positive movements are in clockwise direction, while negative in the opposite direction. Therefore, the problem has a bi-criteria minimize-minimize objective function, defined as “minimize the difference between what the satellites expect to exchange with what they really exchange while simultaneously minimize the total antennas movements”, which can be translated into the following (Eqs. 1 and 2):

(1) Min s = 1 S slack s
(2) Min a = 1 A aad a

where: S is the set of satellites; A is the set of antennas - a ground station can have more than one antenna, but only one can be communicating with the satellite at a given moment -; slacks is the total slack of a given satellite; and aada is the total aiming azimuthal displacement of a given antenna.

PLANNING

Planning is based on the concept of offers of data volumes (in bits) per slot of time, performed by each antenna in relation to each satellite. In order to deal with this innovative feature of the model, related to the (f) requirement, specific programming techniques were used to implement it computationally. Any user defined function that describes the flow of data between the satellite and the antenna can be used, providing that it is continuous in the [0, 360] interval for azimuth and in the [0, 180] interval for elevation, in order to properly integrate it and obtain the referred communication offer for the time slot. Regarding requirement (g), setup is divided into activation, which occurs over the first station, and deactivation, which occurs over the last station. Setup costs are calculated during the offers calculations and computed in the objective function. The data demand for each satellite is supplied as an input to the problem, while the other sets of constants are calculated.

Given: demands is the data demand of satellite S; slotss is a set of slots of the satellite S; offersta is data offer for satellite S, in slot T, by antenna A; actcoststa is the setup cost in terms of bits used to activate the communication between satellite S and antenna A, during slot T; deactcoststa is the setup cost in terms of bits used to deactivate the communication between satellite S and antenna A, during slot T; rates is the transmission rate of the satellite S - dependent of the communication band -; acttimes is the time to activate the communication with satellite S; deacttimes is the time to deactivate the communication with satellite S; T(s) is the ordered set of valid slots of a satellite S; A(s,t) is the set of antennas that are able to track satellite S during a given slot T; L(t) is time lapse of a slot; commsta are binary variables representing if the satellite S communicates with the antenna A during the slot T; aimdaij are integer variables representing the time spent by the antenna A to go from the position taken at the end of slot I to expected position at the beginning of the slot J (aiming delay); actsta are binary variables representing the communication between satellite S and antenna A starts during slot T, incurring in setup costs; deactsta are binary variables representing is the communication between satellite S and antenna A closes during slot T, incurring in setup costs; fulls is the positive integer variable representing the data volume transmitted by the satellite S; ds is the minimum fraction of the demand of the satellite S that must be supplied.

Antenna Allocation

The set of inequalities (Eq. 3) guarantees that zero or one antenna will track a given satellite per slot. The set of inequalities (Eq. 4) represents the constraints for competing (overlapping) slots that cannot be assumed simultaneously by a given antenna.

(3) a = 1 A s , t comm sta 1 , s S , t T s
(4) comm sia + comm sja 1 , i , j / i j

Inequalities (Eq. 5) are named aiming delays constraints and should be interpreted as follows: if the time lapse between the end of slot I and the beginning of slot J is smaller than the expected time spent by the antenna to move from the position taken at the end of I to the expected position to be at the beginning of J, than it is not possible to track the satellites in both I and J. In other words, it is the aiming to have a delay between slots I and J, which can be calculated optimistically or pessimistically, by considering the (azimuthal) shorter or longer angles between I and J positions, respectively. For instance, to move the antenna from 30° to 70°, the displacement can be of 40° or of 320°, depending on the movement’s direction. Longer movements can be necessary in some conditions, therefore a pessimistic approach is usually taken, by expecting all movements to be long ones. These movements will be defined by the programming constraints. Equation 5 denotes how the set of aiming movements is formed for a given antenna.

(5) Aim a : i , j / i T a j T a start j > end i

Constraints (Eq. 6) should be interpreted as follows: start(j) represents the first second of slot J, end(i) the last second of slot I, start > end means that the slots are not contiguous. If the time between the two slots is smaller than the necessary delay, than the expression will evaluate to 1, allowing either none or only one of the two slots to be used. If the time is bigger - meaning that an aiming movement is possible between the two positions - the expression will evaluate to 2, allowing from none to both of the slots to be used.

(6) comm sia + comm sja start j end i / aimd aij i , j Aim a

Demand Equilibrium and Setup Costs

Setup costs are based on the specific offers in each slot, which means that the model can choose the optimal moments for starting and closing the communications. There is only a moment for starting and closing the communication between each satellite and the ground station network. Activation occurs in a slot when two conditions are true: there is communication during that slot, and no previous activation occurred. As a consequence, a special condition occurs for the first slot for each satellite. Equation 7 represents this procedure.

(7) act sta = comm sta , ift = 1 act sta = comm sta * k = 1 A s , t 1 comm stk s S , t T s , a A s , t

Symmetrically, deactivation is represented by Eq. 8, however the next slot is checked instead.

(8) deact sta = comm sta , ift = A s , t deact sta = comm sta * k = 1 A s , t + 1 comm stk s S , t T s , a A s , t

With the setup costs properly defined, finally it is possible to determine the inequalities for demand equilibrium, as presented in Eq. 9. An important detail is that demand fulfillment constraints are based on the full transmission rates, given that the satellites will transmit without taking into account that some data may be lost. However, the volume of serviceable data will be represented by the net transmission rates offered by the ground stations, which in turn take into account that some data can be lost. Therefore, while type constraints (Eq. 9) work with constant, full transmission rates, the objective function works with the variable rates, represented by the antennas offers.

(9) full s = rate s * a = 1 A s , t comm sta * L t acttime s + deactime s s S , t T s , a A s , t

Constraints in Eq. 10 are used to determine the slacks for each satellite. With the mathematical possibility of negative values occurrences, the constraints in Eq. 11 can be used to guarantee that at least a minimum demand for each satellite is supplied. An important remark is that placing lower limits for demand fulfillment can make problems unfeasible, therefore, usually problems are ran without constraints of type Eq. 11 and if some satellite is not fully supplied, these constraints are placed in the problem and it is ran again.

(10) slack s = full s demand s , s S
(11) full s d s * demand s , s S

With the sets of constraints represented from Eqs. 3 to 11, it is possible to run the network planning. The next step is to define how each antenna will comply with this planning accordingly.

PROGRAMMING

While planning defines what is going to be performed, programming is the task of defining how the network will perform the tracking tasks. In other words, this part of the model is supposed to deal with the physical constraints identified by the requirements (i). An interesting point is that while in planning the slots are organized according to the satellites, reflected by the expression T(s), in programming the slots are organized by antenna, using the expression T(a), in order to make the calculations in terms of degrees, instead of seconds. In other words, the problem goes from the time to the space dominion.

Given: trackats is the tracking movement of antenna A, during slot T, following satellite S. Measured in degrees; wireats is the winding accumulator of the wire of antenna A, during slot T, following satellite S. Measured in degrees; T(a) is the ordered set of slots of antenna A; S(a,t) is the satellite tracked by antenna A during slot T; θ(t): the expected azimuthal displacement of slot T. Pre-calculated, measured in degrees; qaij is the short movement of the antenna A, from the end of slot I to the beginning of slot J. Pre-calculated, measured in degrees; Qaij is the binary variable that controls the short movement of the antenna A, from the end of slot I to the beginning of slot J; laij is the long movement of the antenna A, from the end of slot I to the beginning of slot J. Pre-calculated, measured in degrees; Laij is the binary variable that controls the long movement of the antenna A, from the end of slot I to the beginning of slot J; Track(a) is the ordered set (in time) of all possible tracking movements of antenna A; Aim(a) is the ordered set (in time) of all possible aiming movements of antenna A; M(a) is the ordered set resulting from the junction of all tracking and aiming movements of antenna A; initialwa is the initial wire winding of antenna A, in degrees; maxwa is the maximum wire winding of antenna A, in degrees.

The constraints in Eq. 12 keep account of the tracking movements, while constraints in Eq. 13 calculate the aiming movements, which are dependent of both the source and destination slots being served by the same antenna.

(12) track ats = comm sta * θ t a A , t T a , s S a , t
(13) aimd aij = comm sia * comm sja * q aij * Q aij + l aij * L aij i , j Aim a

Constraints in Eq. 14 make sure that one of short or long movements will be carried out if both source and destination slots are to be served.

(14) Q aij + L aij = comm sia * comm sja i , j Aim a

Track(a)’s cardinality is the same of T(a)’s cardinality, in other words, for each slot there is a single candidate tracking movement. Aiming movements, on the other hand, are obtained by all the possible combinations, as described by Eq. 5. Therefore, in order to minimize the total movements of the antennas, it is necessary to join both sets of movements into a single set, which is M(a), described by Eq. 15. It must be defined a bijective function f(t) that maps a candidate tracking movement for each slot, as well as a g(t) function that generates for each slot its candidate destination slots. In the implementation phase, these functions take care of properly arranging the variables and constants indexes in Eq. 16.

(15) M a : Track a Aim a f : T a Track a g : T a Aim a
(16) wire am max w a wire a 0 = initialw a wire am = comm sta * θ t + wire a m 1 a A , m Track a wire am = aimd aij + wire a m 1 m Aim a

The set of constraints in Eq. 16 is interpreted as follows: maxwa offers the maximum winding in order to avoid radio’s wire stricture, while the first movement variable is set to the initial wire’s winding. The other two subsets are related to the tracking and aiming movements, building them is a matter of exhaustively traversing the respective sets and defining a constraint for each possible movement.

Finally, Eq. 17 builds the absolute azimuthal displacements (aada) variables of each antenna.

(17) aad a = t Track a comm sta * θ t + Σ i , j Aim a aimd aij a A

IMPLEMENTATION

The inequalities set presented in Eq. 6 integrate planning to programming. However, this feature leads to a bigger system that in turn demands longer solution times, given the complexity to computationally implement the Right Hand Side of this inequalities subsystem. Therefore, in order to reduce the resolution times, the problem was split into two parts, by substituting the set of constraints in Eq. 6 by the constraints in Eq. 18, and taking a pessimistic approach for the aiming movements.

(18) comm sia + comm sja 1 a A , i , j / start j end i < delay aij

This approach means that long angular movements are considered for calculating the expected delays for all movements, thus making aimdaij variables unnecessary, and using instead delayaij constants, which can be calculated beforehand and supplied as inputs to the problem. Also, by doing so, it is possible to obtain the results for the commsta variables from the planning and use them as constants to programing. These two measures reduce the resolution times in at least two orders of magnitude, from, typically, tens of minutes to a few seconds. A practical positive result of doing so is that network operators prefer to check the planning and run simulations, by changing parameters and checking priorities, in order to create scenarios. After a scenario is chosen, then the network program can be defined, and even if this part of the operation considers longer aiming times, they are still preferred because they provide some safety margin for the operators.

Even with the simplification provided by Eq. 18, the model continues to generate nonlinear integer programming problems, with the use of dynamically built logical conditions in the assembly of the constraints - called reifications. In this way, the technique of choice for solving these problems was constraint programming, using Google OR-Tools library and Python as the front-end for programming the model and generating the problems (https://developers.google.com/optimization/).

In order to use variable data transfer rates - requirement (f) -, a signal integration algorithm capable of accepting any continuous function that describes the radio signal reception around an antenna was developed, providing that a Python code describing in this reception is supplied. The only requirement for these functions is that they must describe the signal in the whole azimuth and elevation ranges, forming the antenna’s signal dome. The data exchange volume for each pair (antenna, satellite) is calculated in advance by this algorithm, building the offers used as inputs to the problem.

SIMULATION & DISCUSSION

In order to provide a clearer understanding of the results supplied by the proposed model, a simulation with six ground stations based on Brazilian cities and a constellation of 12 satellites is supplied. In this simulation, only nine of the 12 satellites are visible by the network, three of them fly over the Atlantic Ocean using orbits to the East, reflected in the data presented by Table 1.

Table 1
Satellites ephemerids.

Figure 2 provides the data on the slots after processing, using the time 19:26:38, which is the moment when the first satellite starts flying over the first station, as the ground zero, aiming at facilitating calculations. The caption in Fig. 3 indicates, for each slot, what are its competing antennas, for instance, Sat01 is disputed by the antennas located in Natal and Salvador during [83, 120].

Figure 2
Slots with competing antennas. Green and red colors represent, respectively, the periods when only one and when multiple stations can track the satellite.

Figure 3
Sample functions used to compute the reception signal on the stations. The function constant_rate represents a full reception behavior at 9600 bits/s. On the other hand, function sim_behavior introduces a shadow area in the range [40, 120], elevation [0, 30], where there is no signal at all, as well as a reduction in [0, 40] of azimuth to 9200 bits/s.

Aiming at showing how flexible is the software developed, Fig. 3 presents the Python code for two possible functions describing the signal reception around the antennas. The ability of dealing with user-defined functions used to describe the communication behavior is a quite innovative feature of the proposed model.

The other necessary parameters for running the problem are presented in Table 2. In order to facilitate the understanding, antennas and satellites were considered as having uniform communication characteristics.

Table 2
Antennas and satellites parameters.

Using a standard PC computer, the fully linear planning phase performs 60 iterations in approximately 1 second until it converges, while the programming phase, which has some nonlinear constraints, converges into 6 iterations and about 2 seconds. Planning and programming results are shown in Tables 3 to 5.

Table 3
Planning results.
Table 4
Programming results - aiming movements.
Table 5
Programming results - tracking movements.

The first part of the analysis is regarding Planning. Satellites’ demands in this simulation were deliberately manipulated to stress the model’s use of communication slots and the consequent occurrence of positive and negative slacks. While the concept of slot reduces the search space for the optimization algorithms, it also forces the delivery of fixed batches of communication time by the suppliers - the stations. A positive slack means that tracking would continue even when the satellite is not sending data anymore, as occurs with Sat12, for instance. On the other hand, negative slacks mean that the satellite simply does not have sufficient flight time over the network (note that in the example simulation three of the satellites do not even pass over any of the stations, so they are not considered) or that it has been deprecated in relation to others, having Sat01 as an example.

This leads to situations where a specific antenna can have a positive slack in relation to some satellite, doing a dummy tracking, while not tracking another satellite that may have a negative slack. This situation is, however, avoided a priori by the objective function that aims to minimize the differences between demand and supply. It should be remembered that, if there is any doubt regarding the result obtained by the equilibrium function, an objective function that maximizes the total download can also be used, without any modification in the model itself. Additionally, setting supply priorities and/or lower bounds can prevent very large negative slacks from occurring. In the end, it is vital having faster solving times, so that the network operators can perform different simulations and analyze them under different criteria.

Fixed-size slots also have two more advantages. The first is that communication activation is very sensitive to small variations due to last minute corrections in the TLEs that lead to pointing adjustments. Optimization models that depend on specific communication start and end points in time can be very sensitive to these small variations; thus, small deviations in execution can simply lead the system to non-optimal conditions. Some practical tests carried out in non-automated adhoc networks, formed between our existing automated RIBRAS’s station and manual stations operated by radio amateurs, confirmed the operators’ preference for the slot concept, where small adjustments can be absorbed during execution without changing the planning.

Another positive aspect of slots is the way operations planning is done. Note that for each satellite is provided, within its horizon of physical visibility over the network, the time window in which the satellite is able to communicate, usually when it has available energy or when the communication will not interfere in some experiment on board - which generates the so-called valid slots. In an operations planning loop using the proposed model, the satellite first provides this window, then the network answers in which parts of this window there will be communication, and finally the satellite can fine-tune its operations - the last step. This type of loop is particularly interesting when one considers that there is more and more onboard processing, as discussed by Kucinskis and Ferreira (2013)Kucinskis FN, Ferreira MGV (2013) On-board satellite software architecture for the goal-based Brazilian mission operations. IEEE Aerospace and Electronic Systems Magazine 28(8):32-45. https://doi.org/10.1109/MAES.2013.6575409
https://doi.org/10.1109/MAES.2013.657540...
, where the spacecraft, when receiving its goals, in this case slots for communication with the terrestrial segment, proceeds to do the scheduling based not in its predicted state, as it was done previously, but in the current real state of the spacecraft.

Programming is divided into aiming movements (Table 4) and tracking movements (Table 5). For the first set, the model supplies the exact positions in which the antennas will have to be, considering all constraints on azimuthal and elevation times and wire winding limitations, guaranteeing that the antenna allocation will be feasible in terms of the mechanics of the antennas movements. Tracking movements, on the other hand, which are signaled negative when anti-clockwise, not only guarantee that tracking will compatible with aiming, but simultaneously program the anti-stricture movements. In other words, the model generates programs for the network that guarantees feasible tracking and aiming movements, non-occurrence of wire strictures, and minimizes the range of the movements.

CONCLUSIONS

This article described the development and simulation of a model for optimizing the performance of ground station networks. The model here described was implemented in such a way that quick runs can be performed, thus allowing the creation and analysis of multiple operational scenarios. With these scenarios, network operators can analyze the results under different criteria, such as satellites’ demand fulfillment, spare antenna times and others. Besides favoring the creation of multiple scenarios in advance, the quick resolution of the problems is also important for re-scheduling, a situation that can occur when a station leaves the network just before or even during the communication. In these situations, the operators must quickly obtain an alternative schedule and redistribute it to the stations.

Most importantly, it incorporates requirements on the mechanics of the antennas movements that are not treated by any other known model currently proposed for GSN orchestration. In order to achieve this goal, scheduling is divided into integrated planning and programming phases, which ensures that following optimal allocation of antennas to satellites, a set of optimal movements will be performed by the antennas in order to meet such allocation. These aspects, together with the computation of reception rates that can vary with azimuth and elevation, help solving practical problems faced by operators. These practical issues often make it unfeasible to use in real-world situations the approaches developed so far, given that the antenna allocation plans generated by these approaches become impracticable to be implemented from mechanical constraints.

This model has been tested in heterogeneous networks and in computational simulations, and although the real world tests were in small scale it can, in theory, successfully cover all the requirements. Currently, RIBRAS has only one automated station in operation, it is expected at least two more operation stations in a near future, thus providing an automated, centralized decision-making network to validate the model in real-world conditions.

Current research work is aimed at employing swarm intelligence algorithms as an alternative to constraint programming, in order to give to the GSN an option of carrying distributed decision-making. The distributed decision paradigm is interesting because, unlike RIBRAS, which will be a centrally managed network, most networks are made up of stations from different organization and radio amateurs as well, which, for obvious reasons, prefer to engage in negotiation loops, instead of receiving decisions taken by a central body. In this type of scenario, each station is seen as an element of a swarm, which defines its negotiation parameters and communication offers, and then initiates a process of collective bargaining with the other stations, in search of a common objective that is simultaneously reasonable to both stations.

Another aspect to explore is the interaction with onboard planning, as described in the discussions, which points to a view of the network as a terrestrial swarm that negotiates with the spatial swarm formed by the satellite constellation. In this case, more progress needs to be made in the inter satellite links (Rodrigues et al. 2013Rodrigues P, Oliveira A, Cunha S, Pinho R, Cordeiro CS, Carvalho RA (2013) GAMANET: disrupting communications and networking in space. Presented at: 64th International Astronautical Congress; Beijing, China.), so that smaller satellites can communicate more frequently with each other and realize the full potential of collective and dynamic decisions.

  • FUNDING
    There are no funders to report.

ACKNOWLEDGEMENTS

The author would like to thank the Agência Espacial Brasileira (AEB) for sponsoring the RIBRAS project.

REFERENCES

  • Amaduro LR, Carvalho RA, Hissa LR, Vianna WS, Cordeiro CS, Oliveira WS, Souza SCM, Moura GL (2016) Developing and operating an automated ground station. Presented at: Second IAA Latin American CubeSat Workshop; Florianópolis, Brazil.
  • Carvalho RA, Cordeiro CS, Moura GL (2013) Optimizing data download using clusters of networked ground stations: a model for the QB50 project. Presented at: 5th European Cubesat Symposium; Brussels, Belgium.
  • Carvalho RA, Lisboa WS, Hissa LR, Moura GL, Amaduro LR, Cordeiro CS (2014) The software architecture for the RIBRAS ground station network. Presented at: 1st IAA Latin America CubeSat Workshop; Brasília, Brazil.
  • Castaing J (2014) Scheduling downloads for multi-satellite, multi-ground station missions. Presented at: AIAA Small Satellite Conference; Logan, USA.
  • González FAD, Cabrera PRP, Calderón CMH (2016) Design of a nanosatellite ground monitoring and control software - a case study. Journal of Aerospace Technology and Management 8(2):211-231. https://doi.org/10.5028/jatm.v8i2.553
    » https://doi.org/10.5028/jatm.v8i2.553
  • Kucinskis FN, Ferreira MGV (2013) On-board satellite software architecture for the goal-based Brazilian mission operations. IEEE Aerospace and Electronic Systems Magazine 28(8):32-45. https://doi.org/10.1109/MAES.2013.6575409
    » https://doi.org/10.1109/MAES.2013.6575409
  • Lee J, Wang S, Chung D, Hyun C, Choi S, Ko K, Ahn H, Jung O (2013) Visibility conflict resolution for multiple antennae and multi-satellites via genetic algorithm. Presented at: IEEE Aerospace Conference; Big Sky, USA. https://doi.org/10.1109/AERO.2013.6496849
    » https://doi.org/10.1109/AERO.2013.6496849
  • Lisboa WS, Hissa LR, Moura GL, Amaduro LR, Carvalho RA, Cordeiro CS (2014) The RIBRAS software system. Presented at: 6th European CubeSat Symposium; Estavayer-le-Lac, Switzerland.
  • Moura GL, Amaduro LR, Hissa LR, Carvalho RA (2016) Orchestration and controlling of an automated ground station network. Presented at: Second IAA Latin American CubeSat Workshop; Florianópolis, Brazil.
  • Rodrigues P, Oliveira A, Cunha S, Pinho R, Cordeiro CS, Carvalho RA (2013) GAMANET: disrupting communications and networking in space. Presented at: 64th International Astronautical Congress; Beijing, China.
  • Schilling K (2014) Networked control of cooperating distributed pico-satellites. IFAC Proceedings Volumes 47(3):7960-7964. https://doi.org/10.3182/20140824-6-ZA-1003.02534
    » https://doi.org/10.3182/20140824-6-ZA-1003.02534
  • Spangelo SC, Boone D, Cutler J (2010) Assessing the capacity of a federated ground station. Presented at: 2010 IEEE Aerospace Conference; Big Sky, USA. https://doi.org/10.1109/AERO.2010.5446950
    » https://doi.org/10.1109/AERO.2010.5446950
  • Sun J, Xhafa F (2011) A genetic algorithm for ground station scheduling. Presented at: IEEE International Conference on Complex, Intelligent and Software Intensive Systems (CISIS); Seoul, South Korea. https://doi.org/10.1109/CISIS.2011.29
    » https://doi.org/10.1109/CISIS.2011.29
  • Thoemel J, Singarayar F, Scholz T, Masutti D, Testani P, Asma C, Reinhard R, Muylaert J (2014) Status of the QB50 cubesat constellation mission. Presented at: 65th International Astronautical Congress; Toronto, Canada.
  • Xhafa F, Herrero X, Barolli A, Takizawa M (2012) A Struggle Genetic Algorithm for Ground Stations Scheduling Problem. Presented at: 4th Conference on Intelligent Networking and Collaborative Systems; Bucharest, Romania. https://doi.org/10.1109/iNCoS.2012.125
    » https://doi.org/10.1109/iNCoS.2012.125

Edited by

Section Editor: Alison Moraes

Publication Dates

  • Publication in this collection
    09 May 2019
  • Date of issue
    2019

History

  • Received
    17 Oct 2017
  • Accepted
    05 July 2018
Departamento de Ciência e Tecnologia Aeroespacial Instituto de Aeronáutica e Espaço. Praça Marechal do Ar Eduardo Gomes, 50. Vila das Acácias, CEP: 12 228-901, tel (55) 12 99162 5609 - São José dos Campos - SP - Brazil
E-mail: submission.jatm@gmail.com