Abstract

A satellite mission instruction generation algorithm based on a flexible weighted directed graph has been proposed. This algorithm can sort the instruction into sequence according to the instruction execution relationship with constraints, which can promote satellite operation performance of the ground station. Concepts like flexible edge, flexible zone, and implement zone were introduced, and the flexible weighted directed graph (FWDG) model was proposed. Based on this model, the satellite instruction sequence generation algorithm was designed. After practice and research, the result showed that according to the new algorithm, the instruction sequence can be consistent with all implement zones, consequently guaranteeing the correctness of the sequence.

1. Introduction

A low earth orbit remote sensing satellite with high resolution is the main channel to acquire ground information, which plays an increasingly important role in an earth optical and microwave survey [1]. A remote sensing satellite meets the users’ needs through “task planning+instruction generation” [2]. The missions of a low earth orbit remote sensing satellite are intermittent, diverse, and uncertain, because of orbit revisit characteristics, weather conditions, onboard electronic constraints, and ground receiving resources. It is one of the most concerned problems for users and also a research hotspot in the academic field that a large space system takes advantage of a mission planning system to optimize the satellite-ground resources and accomplish the most imaging tasks with the least resources [3].

Lots of satellite task planning algorithms were presented based on artificial intelligence techniques [4]. Bensana et al. established the constraint satisfaction model and the integer programming model [5] and proposed the branch and bound algorithm and taboo search approximate algorithms to obtain the feasible solution. Hall and Magazine used a greedy algorithm and dynamic programming technique to solve a task programming model [6]. Vasquez and Hao map the SPOT5 satellite routine mission planning problem to a knapsack problem. Lin et al. use a Joseph-Louis Lagrange relaxation technique and tabu search algorithm to solve the imaging scheduling problem [7]. Mansour and Dessouky design the evolutionary algorithm and compare it with the traditional algorithm [8]. The main problem with these methods is that scheduling decisions cannot be changed dynamically. In References [911], the method of dynamically adjusting the results of planning such as task replanning is proposed, but the deviation between task planning and task execution cannot be considered.

On this basis, the satellite instruction sequence generation algorithm based on the weighted directed graph (WDG) presented in References [12, 13] can sort the satellite instruction sequence according to the constraint relation, and the operation efficiency of the ground control center to the spacecraft is greatly reduced. However, the interval between the instruction nodes of the noncritical path may be extended by default when the topological sorting algorithm is applied to generate the instruction sequence; it does not consider the need for strict protection of the execution interval of some spacecraft instructions.

In this paper, the concepts of directed acyclic flexible edge, flexible interval, and reasonable instruction execution interval of a directed acyclic graph are introduced, and a flexible weighted directed graph (FWDG) model is proposed to modify the instruction generation algorithm, and an instruction sequence generation algorithm based on the flexible weighted digraph is proposed. The FWDAG model is an essential module in onboard software, and it takes observation mission as input and instruction sequence as output, as shown in Figure 1. The example shows that the modified algorithm can satisfy the spacecraft instruction execution interval.

2. Satellite Instruction Sequence Generation Algorithm Based on the Directed Graph Model

2.1. Directed Graph Model

The satellite mission instruction sequence is transformed into a digraph model consisting of instructions and their constraints. Among them, (1)Graph : source vertex represents the start of the task; sink vertex represents the end of the task(2) is the set of vertices of a directed graph; each vertex corresponds to an instruction. represents the execution time of the instruction(3) is the set of edges of a directed graph, edges represent instruction preceding instruction , is the forward vertex of , and is the backward vertex of ; the length of the edge represents the execution time interval between two instructions

In graph , is the set of vertices corresponding to all instructions contained in the task and is the edge set corresponding to the instruction timing constraint that completes the task. In order to describe in detail, more symbols are introduced; they are as follows:

is the number of all vertices of a digraph . is the number of all edges of a digraph . is the start of the instruction sequence for a task.

is the end of the instruction sequence for a task.

is the instructions at time ( is the beginning time of imaging).

is the instructions at time ( is the beginning time of data transfer).

, where is the start time of a mission and is the interval between the instruction sequence and the first instruction.

2.2. Task Instruction Sequence Generation Algorithm Based on the Digraph Model

In this section, we introduce the directed graph-based task instruction sequence generation algorithm [12]:

1. Hierarchizing the graph according to the following definition.
   (i) Define as vertex;
   (ii) vertices only take the vertices as forward vertices;
   (iii) vertices only take the vertices or as forward vertices;
   (v) ...
   (vi) vertices take , , …, vertices as forward vertices;
2. Start with , the earliest execution time interval of each vertex relative to is computed by layer;
3. The earliest execution time interval of relative to is the minimum execution time of the task instruction sequence;
4. Starting from , the latest execution time interval of each vertex relative to is calculated in reverse step by step;
5. For instruction like shutdown, the execution time delay selects the earliest execution time interval relative to , and for instruction like switch on, the execution time delay selects the latest execution time interval relative to ; Ensure that the command sequence satisfies the user’s task, starting as late as possible and shutting down as early as possible;
6. The execution time of the vertices is the time subtracts the earliest execution time of the to , which is also the start time that the sequence starts to execute;
7. …

A unified instruction topological sequence can be generated finally by Algorithm 1, after digraph modeling of a sensing task, according to the start time of the mission on the satellite, the interval of the basic instruction sequence, and the dependence of different instruction sequences.

However, in the second and fourth steps of the algorithm, when the earliest and the latest of each vertex are calculated, the default edge can be stretched [14, 15].

According to the algorithm in [12, 13], for the model shown in Figure 2, if , then

Obviously, for vertices and , we have and .

Algorithm 1 holds the execution time and for and , respectively, which is reasonable, as long as and . If is the shutdown instruction, according to Algorithm 1, . But consider an application scenario in which there are certain instructions and intervals between instructions that are fixed; that is, some edges cannot be stretched and shortened. In this paper, we call this “rigid edge,” denoted as .

As shown in Figure 3, the solid line indicates that the edge can be neither shortened nor stretched, and the dash line indicates that the edge can be stretched but cannot be shortened. Obviously, must be a fixed value; . However, Algorithm 1 cannot take into account this constraint, and the calculated results cannot meet this requirement.

3. Instruction Generation Algorithm Based on the FWDAG Instruction Model

In order to meet the more realistic and strict requirements of a satellite instruction transmission time slot, we propose an instruction generation algorithm based on a flexible weighted directed acyclic graph (FWDAG).

3.1. FWDAG Instruction Model

For the more general case, some instruction intervals can be within a set interval. For example, instruction must be executed after instruction is completed ; then, obviously the interval is the variable interval of . In this case, the concept of flexible interval edges is introduced into weighted directed acyclic graphs. The basic definitions are listed below:

Flexible Edge. In a directed acyclic graph, the edges with variable weights are called flexible edges and are denoted as .

Flexible Zone. The flexible interval of edge weight, which we call the flexible zone, is denoted as . It is obvious that the rigid edge is a special flexible edge whose upper and lower limits of the flexible interval are equal.

Implement Zone. In a directed acyclic graph, the time of a node changes within a reasonable range, which becomes a reasonable range of execution, referred to as the implement zone, recorded as .

Addition operation of and : the addition operation of the implement zone and the flexible zone is defined as follows:

Subtraction operation of and : the subtraction operation of the implement zone and the flexible zone is defined as follows:

Obviously, if , .

In view of the above definition, the following theorem is proposed and proven.

Theorem 1. Suppose that the node in a directed acyclic graph has a precursor node , the corresponding flexible edge is , and the flexible zone is . If has been determined, then .

Proof. Let , , and . According to the flexible edge constraints of , the objective function is ; here, and . According to the property of the linear equations with two unknowns, the range of the objective function is . And the range is continuous within its domain of definition .

Inference 2. Suppose that a node in a directed acyclic graph has precursor nodes , . One of the implement zones of node is determined by implement zone of each precursor and flexible zone of . All entries of this node determine the intersection of the execution ranges of this node, which is equal to the execution ranges of this node. That is, .

Theorem 3. Suppose that the node in a directed acyclic graph has a backward node , the corresponding flexible edge is , and the flexible zone is . If has been determined, then .

Proof. Let , , and . According to the flexible edge constraints, it has objective function , , and . According to the property of the linear equations with two unknowns, the range of the objective function is , and the range is continuous within its domain of definition .

Inference 4. Suppose a directed acyclic graph has a node and rear-driver nodes , . Each rear-driver node implement zone and the flexible zone of determine an implement zone of node ; all entries of this node determine the intersection of the execution ranges of this node, which is equal to the execution ranges of this node. That is, .

3.2. Instruction Generation Algorithm Based on FWDAG

In this paper, an instruction sequence generation algorithm based on the FWDAG model is proposed. A flexible edges are generated by the dependence of instructions with nodes.

4. Application Example

Figure 4 is an instruction model of a satellite imaging task that is described by FWDAG. According to Algorithm 2, the procedure for calculating the graph above is

1. The implement zone for the task starting node , The implement zone for all other nodes is set to ;
2. Starting from , select a node with degree (no precursor node) from the digraph as the current node . According to equation (2), calculate implement zone of all the backward nodes of the current node whose degree edges are connected.
3. According to Inference 2, the implement zone of the new node calculated by step 2 is updated by “And operation”. If the result of “And operation” is “Empty”, operation will be quit.
4. Deletes the current node and all flexible edges coming from this node.
5. Repeat steps 2 to step 4, until there are no more nodes in the directed graph.
6. Starting with , select a node from the directed graph with an outdegree of 0 (without a trailing node) as the current node , according to equation (3), select from according to the strategy of selecting node time (the last instruction is to select the earliest value, the start instruction is to be as late as possible, and the shutdown instruction is to be as early as possible), at the same time update the current node into all degrees edge connected to the precursor node implement zone;
7. According to Inference 4, the result of step 6 is updated by “And operation”. The result of “And operation” should not be “Empty”.
8. Deletes the current node and all flexible edges that enter this node.
9. Repeat steps 6 to step 8, until the node is no longer present in the directed graph.

There is no solution to the program break.

Obviously, according to the antenna path , the earliest execution time of is 127, and according to the camera path , the latest execution time of is 22; obviously, there is no solution. This means that there are conflicts among camera payload, attitude executable trajectory, and antenna executable path constraint. The period of antenna execution is very long, while the time of camera payload powered on cannot be too long. Hence, the camera standby instruction is inserted into the onboard system, to prolong the camera instruction path and then to match the antenna path, as shown in Figure 5.

By the updated instruction model, according to Algorithm 2, recalculated results are

According to the end node selection of the earliest execution time principle, then

According to the end node selection of the earliest execution time principle, then

According to the end node selection of the earliest execution time principle, then

At last, all the s were calculated:

, , , , , , , and , and we get the satellite imaging mission’s command sequence.

The purposed scheme and algorithm are to model the existing constraints and find the feasible solution of the instruction sequence under this constraint model, which not only meets the constraint requirements but also improves the task execution energy efficiency as much as possible. If the feasible solution of the instruction sequence cannot be found under the current constraint model, the algorithm will alert the designer. As for how to modify the constraint model, such as the weight of edges or the number of vertices, designers need to adjust the design according to the actual situation of satellite missions and their own experience, so as to adjust the FWDAG model, and finally ensure that the instruction system can find a feasible solution under the adjusted constraint model.

5. Conclusion

An instruction generation algorithm based on the flexible weighted directed acyclic graph is proposed. By introducing the concept of a flexible edge into the directed acyclic graph, the problem that the time interval of instruction execution is fixed in a certain variable region is solved, ensuring that the execution interval of the dependent instruction is within the preset range. The time complexity of the algorithm is , where is the number of nodes in the digraph model and is the number of edges.

Data Availability

The data used to support the findings of this study are included within this paper.

Conflicts of Interest

The authors declare that there is no conflict of interest regarding the publication of this paper.

Acknowledgments

This work is supported in part by the National Natural Science Foundation of China (No. 11772185) and the project D020214.