Task Planning for Multiple-Satellite Space-Situational-Awareness Systems

: Space situational awareness (SSA) plays an important role in maintaining space advantages. Task planning is one of the key technologies in SSA to allocate multiple tasks to multiple satellites, so that a satellite may be allocated to supervise multiple space objects, and a space object may be supervised by multiple satellites. This paper proposes a hierarchical and distributed task-planning framework for SSA systems with focus on fast and effective task planning customized for SSA. In the framework, a global task-planner layer performs satellite and object clustering, so that satellites are clustered into multiple unique clusters on the basis of their positions, while objects are clustered into multiple possibly intersecting clusters, hence allowing for a single object to be supervised by multiple satellites. In each satellite cluster, a local task planner performs distributed task planning using the contract-net protocol (CNP) on the basis of the position and velocity of satellites and objects. In addition, a customized discrete particle swarm optimization (DPSO) algorithm was developed to search for the optimal task-planning result in the CNP. Simulation results showed that the proposed framework can effectively achieve task planning among multiple satellites and space objects. The efﬁciency and scalability of the proposed framework are demonstrated through static and dynamic orbital simulations.


Introduction
Space situational awareness (SSA) describes the knowledge and understanding of the situation in near-Earth space, including energy, particles, and natural and artificial objects [1,2]. SSA is required to detect, track, or supervise space objects and environments [3]. SSA can be achieved either from the ground or space, and the latter is usually realized by space platforms, e.g., multiple small satellites [4]. Compared with a single large satellite, multiple-satellite systems (MSS) have increasing popularity due to their better robustness and flexibility. In particular, heterogeneous satellite systems can undertake different tasks within a large area of space and over a long period of time.
As the main purpose of SSA is to detect and supervise multiple spacecraft, stations, and millions of space debris objects, one of the key technologies for MSS is task planning, i.e., how to allocate multiple tasks to multiple satellites to achieve the best overall execution performance [5]. As MSS with onboard planning capabilities can be classified into intelligent multiagent systems (MAS), results from task planning for MAS, including unmanned aerial vehicles, multirobot systems, and flexible manufacturing, can be employed.
Typically, MSS can be classified into two types by way of connection among satellites, namely, centralized and distributed. Centralized MSS are controlled by a central station or a single satellite that makes decisions and plans for the entire system. Such an architecture is easy to realize, but suffers from poor real-time computation capabilities and adaptivity to urgent situations [6,7]. The centralized architecture formulates the task-planning problem into an optimization problem where the cost function is overall system performance.
To achieve fast task replanning in the case of urgent tasks, an urgent task planner is introduced to deal with urgent tasks in an event-triggered manner. Once urgent tasks come, the urgent planner quickly allocates them to clusters that are already determined by the global planner on the basis of the proximity between objects and satellites. Then, two methods are proposed to replan local tasks within each cluster. The first is to replan tasks using the CNP from scratch to warrant planning optimality at the cost of higher computational cost. The second method exploits task priorities to replan part of tasks to increase planning efficiency. To verify the proposed framework, a simulation using the MATLAB CubeSat Simulation Library was conducted. Results showed that the proposed planning framework is capable of generating multiple-to-multiple task-planning patterns, and is significantly more computational efficient when compared to centralized CNP methods. Moreover, the consideration of both relative distance and velocity during planning reduces the overall distance among satellites and objects in consecutive sampling instants.

Problem Description
Assuming that there are in total n satellites and m objects to be planned with m n in typical SSA applications, for a satellite s, two parameters are defined as s(p, v) = g(a, e, θ, Ω, ω, υ), (1) where p and velocity v are 3D position and velocity vectors in the Earth-centered-Earthfixed (ECEF) reference frame that can be obtained by a function g using 6 Keplerian orbital elements given a specific time epoch [25]. The Keplerian orbital elements are: semimajor axis a, eccentricity e, inclination θ, right ascension of ascending node Ω, argument of periapsis ω, and true anomaly υ. Similarly, 3 parameters are defined for object t as t(p, v, P) = g(a, e, θ, Ω, ω, υ), where the first two are the same as those of the satellite, and the last parameter P is the priority of the task for observing the corresponding object. Throughout the paper, we assumed the following for the working satellite.

Assumption 1.
Every working satellite is able to execute at least one task at any time.
Assumption 2. If a satellite malfunctions or loses connection, it is eliminated from the MSS and no longer participates in the task-planning and -execution process.
Task planning is a problem to decide a match among satellites and objects. Cost function is defined as the sum of a planning criterion h for all satellites and objects. Defining α ij = 1 the match between satellite i and object j, and α ij = 0 for cases without match, the task-planning problem is to minimize L over α ij . In this paper, resource, communication, and distance constraints were not considered when minimizing (3). The inclusion of these constraints certainly increases the complexity of the problem, which is usually solved by computationally demanding algorithms such as mixed-integer [10] and swarm intelligence optimization [18]. While we focused on providing the multiple-to-multiple pattern among satellites and objects, the design of criterion h can implicitly fulfil part of these constraints. For example, the proximity of satellites can be part of h, and the task-planning results would exclude matches that are too far away.

Task-Planning Framework
In this section, the proposed hierarchical and distributed task-planning framework of MSS for SSA applications is presented. Figure 1 shows that the framework consists of two layers, where a global planner on the top layer is responsible for periodically decomposing satellites and objects into clusters. Then, a preprocessing-planning step is conducted to perform cluster-to-cluster task planning. Lastly, in each satellite cluster, a local planner periodically allocates objects to satellites using the CNP. In addition, an urgent planner who has complete knowledge of all satellite clusters is introduced. When an urgent task appears, the urgent planner decides to which satellite cluster the urgent task belongs and then activates task replanning within the corresponding local cluster. Below, the global, local, and urgent task planner is described in detail.

Global Task Planner
The global planner, either a satellite in the MSS or a ground station, is aware of of all other satellites and objects. To avoid the heavy computation and communication required by CNP in large-scale systems, the global planner first decomposes satellites into n s unique clusters using canonical k-means++ hard-clustering algorithm [26]. The algorithm computes a centroid for each cluster and minimizes the sum of point-to-centroid distances summed over all n s clusters. Parameter n s is tuned on the basis of the total number of satellites and their distribution in near-Earth space.
To achieve multiple-to-multiple planning pattern, the objects are decomposed into n t clusters using the Gaussian mixture model (GMM) soft-clustering method [27,28]. Unlike k-means++ clustering, the GMM method estimates cluster membership posterior probabilities, and then assigns each object to the cluster corresponding to the maximum posterior probability. Since the output of GMM is probability, an object may belong to multiple clusters and leads to multiple-to-multiple planning results. In this work, object proximity was used to build the GMM for such soft clustering. Number of clusters n t is a tuning parameter that can be examined a posteriori for optimality.
After satellite and object clustering, the global planner works as the manager to allocate n t object clusters to n s satellite ones with a period of T global . In detail, the global planner works through the following steps: 1.
Tender publication. The global planner broadcasts centroids of all object clusters as where AID g is the global manager.

2.
Bidding. According to Assumption 1, one satellite from each satellite cluster bids for at least one tender on the basis of its own status and constraints once the task cluster is received. In general, the manager satellite in a cluster is selected depending on satellite ability, such as energy and computation power. Hence, the role of the manager and contractor is not fixed, and can be dynamically switched back and forth.
In this paper, we assume satellites are homogeneous and select the one closest to cluster centroid as the cluster manager. The bidding can have three results: reject, not responding, and bidding. If a satellite decides to bid for a certain task cluster, the bidding can be expressed as where bidder j is the bidding satellite cluster, and B i,j is the cost for the i-th satellite cluster bidding for the j-th object cluster, defined as ∞, not responding, 0, bidding.
3. Task cluster allocation. When the manager receives bidding or the bidding deadline is over, n t task clusters are allocated to n s satellite clusters by minimizing the cost function (3) as where h c is the cluster tender-evaluation criterion,s i ,t j are average parameter values, such as centroids and mean velocities for the i-th satellite cluster and the j-th object cluster. In this paper, optimal match α * cluster was obtained by developing a discrete particle swarm optimization (DPSO) algorithm [29] with task priority P embedded. Algorithmic details are given in Section 4. Lastly, we have where one satellite cluster is allocated with multiple object clusters, and the number of satellites and objects in each cluster is different based on clustering results.

Local Task Planner
The local task planner is a satellite belonging to a satellite cluster. The local planner allocates tasks from multiple object clusters in (8) to satellites in the satellite cluster in a period of T local T global to quickly adapt to external disturbances and urgent tasks. The local planner employs CNP and DPSO algorithm as follows: 1.
Tender publication. Similar to the global planner, the local planner publishes tenders to local satellites in the same cluster as < AID l , t j > (9) where AID l is the local manager.

2.
Bidding. This step is exactly same as Step 2 in the global planner, except that only local satellites bid for the tenders. 3. Task allocation. When the local manager receives bidding or the bidding deadline is over, n t,l local tasks are allocated to n s,l satellites as where h l is the local tender-evaluation criterion, designed as Unlike cluster planning criterion (12), the local tender-evaluation criterion is a weighted combination of relative position and velocity among satellites and objects. The rationale is that a cluster centroid is a representation of multiple satellites or objects that covers a large space area; hence, the moving of satellites and objects has fewer effects on how a cluster is planned. However, on the local level, the moving of satellites and objects must be taken into account due to their high velocity in a limited space area.

4.
Contract signed. Similarly to the global planner, the local planner employs the iterative DPSO algorithm to obtain (10). The contract is signed, and the task-planning problem is completed.

Urgent Task Planner
The urgent task planner operates in an event-triggered manner to achieve fast urgent task planning. As shown in Figure 1, the urgent planner receives satellite and object cluster information (8) from the global planner, and assigns urgent tasks to object clusters with minimal distance between urgent objects and cluster centroids. After receiving the urgent tasks, the local planner in this cluster activates a task-replanning procedure to allocate these urgent tasks to local satellites.
In this work, we propose two local task-replanning methods as follows. The first method is to replan local tasks by performing the CNP from scratch following Steps 1-4 of the local planner. This method guarantees that the local replanning procedure is optimal in terms of the cost function (10) when urgent tasks are detected.
The second method is to replan local tasks on the basis of their priorities P. The idea is to further decompose the local satellite cluster into two parts: one s high consisting of satellites of which the lowest priority task has a higher or equal priority than that of the urgent task, and the other s low consisting of the remaining satellites in the cluster. The main steps of this method are as follows.

1.
Extract priorities P of the urgent tasks.

2.
Decompose satellite cluster into s high and s low parts.

3.
Plan urgent tasks to satellites in the s low part following Steps 1-4 of the local planner.

Remark 1.
The two task-replanning methods can be applied in different scenarios. If one concerns the optimality of local planning, and computational power is sufficient for complete replanning, the first method is desired. On the other hand, if extremely fast task replanning is required for urgent tasks, the second method is more suitable. In addition, the second method guarantees that tasks of highest priorities are executed without replanning for safety or timeliness reasons.

Remark 2.
The proposed hierarchical framework periodically updates task-planning results in accordance with global update period T global and local update period T local . As a result, a satellite supervises an object only in a period of time during which the two are close enough for feasible supervision. When satellite and object move apart until the distance between them is longer than the sensor range is, the satellite starts supervising newly planned objects within the sensor range, and the object is supervised by other satellites. The selection of T global and T local depends on various factors such as sensor range, and satellite and object velocity.

Example 1.
To better present how the proposed task-planning method works, an example is shown in Table 1 with 5 satellites and 12 objects, with positions randomly generated from Keplerian orbital elements. Clustering results using the k-means++ and GMM soft-clustering algorithm for 3 satellite clusters and 8 object clusters based on their proximity are shown in Table 2. Satellite Cluster 2 contains 3 satellites, and the 2 other satellite clusters have only one satellite. Object Clusters 2 and 6 have 2 objects, and Object 9 belongs to both Object Cluster 5 and 7, complying with the multiple-to-multiple planning pattern. Given the clustering results, Step 3 of the global planner was performed, and results are shown in Table 3. Tender-evaluation cost function h c in (7) for the global planner was designed as the distance between a satellite cluster centroid and an object cluster centroid as On the local level, we chose a = 1, b = 500 for local tender-evaluation criterion (11) to balance the magnitude of satellite position and velocity: the position vector is usually in the range of 10 6 − −10 7 m, while velocity is around 10 3 m/s. The local planning results of all clusters are shown in Table 4 and animated in Figure 2. In this example, since the number of satellites and objects was small, the clustering result is unique even though the GMM soft-clustering method was employed. The planning results using a baseline CNP without the proposed hierarchical structure, and satellite and object clustering are shown in Figure 3. The two planning methods generated slightly different results, but in principle, objects were allocated to nearby satellites. As is shown in Section 5, the two methods have advantages and disadvantages in terms of computational efficiency and planning cost.
Suppose that Urgent Task 13 requires supervising an object at position (−10,206, 197, 2716) km. By computing the distances between the urgent object and the centroids of the three clusters given in Table 4, the urgent object can be assigned to Cluster 3. A task-replanning procedure following the steps of the local planner leads to an update of the taskplanning result of Cluster 3 shown in Table 5 and Figure 4. The urgent object is allocated to the closest, Satellite 4. Complete replanning for all satellites and objects is avoided.
Suppose that an urgent task Object 13 has a priority P 13 = medium, and satellites in Cluster 3 have tasks with priorities P 1 = high, P 4 = high, and P 5 = low. Using the second task-replanning method, Cluster 3 is decomposed into two parts, s high = {1, 4} and s low = {5}. Urgent Task 13 is, therefore, allocated to Satellite 5 immediately without local replanning from scratch for 3 satellites and 5 tasks. To better present how the proposed task-planning method works, an example is shown in Table 1 with 5 satellites and 12 objects, with positions randomly generated from Keplerian orbital elements. Clustering results using the k-means++ and GMM soft-clustering algorithm for 3 satellite clusters and 8 object clusters based on their proximity are shown in Table 2. Satellite Cluster 2 contains 3 satellites, and the 2 other satellite clusters have only one satellite. Object Clusters 2 and 6 have 2 objects, and Object 9 belongs to both Object Cluster 5 and 7, complying with the multiple-to-multiple planning pattern. Given the clustering results, Step 3 of the global planner was performed, and results are shown in Table 3. Tender-evaluation cost function h c is designed as in (8) for the global planner.
On the local level, we chose a = 1, b = 500 for local tender-evaluation criterion (12) to balance the magnitude of satellite position and velocity: the position vector is usually in the range of 10 6 − −10 7 m, while velocity is around 10 3 m/s. The local planning results of all clusters are shown in Table 4 and animated in Figure 2. In this example, since the number of satellites and objects was small, the clustering result is unique even though the GMM soft-clustering method was employed. The planning results using a baseline CNP without the proposed hierarchical structure, and satellite and object clustering are shown in Figure 3. The two planning methods generated slightly different results, but in principle, objects were allocated to nearby satellites. As is shown in Section 5, the two methods have advantages and disadvantages in terms of computational efficiency and planning cost.
Suppose that Urgent Task 13 requires supervising an object at position (−10,206, 197, 2716) km. By computing the distances between the urgent object and the centroids of the three clusters given in Table 4, the urgent object can be assigned to Cluster 3. A task-replanning procedure following the steps of the local planner leads to an update of the taskplanning result of Cluster 3 shown in Table 5 and Figure 4. The urgent object is allocated to the closest, Satellite 4. Complete replanning for all satellites and objects is avoided.

Tender-Evaluation DPSO Algorithm
In this section, a tender-evaluation method based on a customized DPSO is described that was developed for task-planning problems in SSA applications. Comparing with the canonical DPSO algorithm, as in [30], the customized DPSO algorithm was designed by considering two additional requirements: 1.
tasks of high priorities are allocated first; and 2.
there is an upper bound on the maximal number of tasks with which each satellite can be allocated.
The first requirement ensures that tasks of high priorities can be allocated first if the algorithm prematurely stops due to limited computational resources or external disturbances. The second requirement is a constraint on satellite abilities to execute tasks that are not explicitly included in optimization Problems (7) and (11) to avoid computationally expensive constrained mixed-integer optimization.
In the developed algorithm, the position of each particle represents a solution to the task-planning problem. The mechanism of DPSO is that particles form a particle group and search for their optimal positions. In implementation, objects are first clustered into multiple batches, each of which contains objects with the same priority P. The DPSO algorithm allocates objects in a batch to satellites and repeats this procedure to all batches. Suppose that the satellites and a batch of objects are encoded by natural numbers from 1 to    Table 5. Filled circles, satellites; '+', objects. Yellow, blue, and red represent Clusters 1-3, respectively. Urgent task represented as green '+' that is allocated to Satellite 4.

Tender-Evaluation DPSO Algorithm
In this section, a tender-evaluation method based on a customized DPSO is described that was developed for task-planning problems in SSA applications. Comparing with the canonical DPSO algorithm, as in [30], the customized DPSO algorithm was designed by considering two additional requirements: 1.
tasks of high priorities are allocated first; and 2.
there is an upper bound on the maximal number of tasks with which each satellite can be allocated.
The first requirement ensures that tasks of high priorities can be allocated first if the algorithm prematurely stops due to limited computational resources or external disturbances. The second requirement is a constraint on satellite abilities to execute tasks that are not explicitly included in optimization Problems (7) and (11) to avoid computationally expensive constrained mixed-integer optimization.
In the developed algorithm, the position of each particle represents a solution to the task-planning problem. The mechanism of DPSO is that particles form a particle group and search for their optimal positions. In implementation, objects are first clustered into multiple batches, each of which contains objects with the same priority P. The DPSO algorithm allocates objects in a batch to satellites and repeats this procedure to all batches. Suppose that the satellites and a batch of objects are encoded by natural numbers from 1 to  Table 5. Filled circles, satellites; '+', objects. Blue, red, and yellow represent Clusters 1-3, respectively. Urgent task represented as magenta '+' that is allocated to Satellite 4.

Tender-Evaluation DPSO Algorithm
In this section, a tender-evaluation method based on a customized DPSO is described that was developed for task-planning problems in SSA applications. Comparing with the canonical DPSO algorithm, as in [30], the customized DPSO algorithm was designed by considering two additional requirements: 1.
tasks of high priorities are allocated first; and 2.
there is an upper bound on the maximal number of tasks with which each satellite can be allocated.
The first requirement ensures that tasks of high priorities can be allocated first if the algorithm prematurely stops due to limited computational resources or external disturbances. The second requirement is a constraint on satellite abilities to execute tasks that are not explicitly included in optimization Problems (7) and (10) to avoid computationally expensive constrained mixed-integer optimization.
In the developed algorithm, the position of each particle represents a solution to the task-planning problem. The mechanism of DPSO is that particles form a particle group and search for their optimal positions. In implementation, objects are first clustered into multiple batches, each of which contains objects with the same priority P. The DPSO algorithm allocates objects in a batch to satellites and repeats this procedure to all batches. Suppose that the satellites and a batch of objects are encoded by natural numbers from 1 to n and 1 to m b , respectively, where m b is the number of objects in a batch. Particle position is a vector of length l p in which the j-th element has a value of i, meaning that the j-th object is assigned to the i-th satellite. In addition, constraint vector α = [α 1 , α 2 , α 3 , . . . , α n ] is defined to indicate the maximal number of tasks that each satellite can execute, i.e., α i = k means that at most k objects can be allocated to the i-th satellite. When l p > m, elements that are encoded by numbers greater than m in the particle position vector do not play a role in computing the tender-evaluation cost.
An example of particle vector encoding is given in Figure 5. Assuming that the number of tasks in the batch is 5 and the number of satellites is 3, we also assume that the maximal number of tasks for the 3 satellites are In the beginning, particle position is randomly initialized with length l p = 6 as X i = [2, 3, 1, 1, 2, 1], which means that Object 1 is assigned to Satellite 2, Object 2 assigned to Satellite 3, etc. In this work, the particle position vector is always initialized in a way in which Constraint (13)  After initialization, the position of each particle in the particle group is iteratively updated by an updating law to reduce the cost of the corresponding optimization problem. In [30], a DPSO updating law suitable for multisatellite task-planning problems was proposed that considers three factors: (i) the current position of the particle, (ii) the optimal historical record of the particle position, and (iii) the historical optimal record of the position of the particle group. The updating law can be written as where X i (k) is the position of the i-th particle at the k-th iteration, P i (k) is the optimal historical record of the i-th particle position, and P g (k) is the historical optimal record of the position of the particle group. c 1 , c 2 , and c 3 are the inferior operation thresholds [30] corresponding to the three factors, respectively. The updating law can be interpreted as follows. First, an "inertial" operation of the particle, i.e., the position of the particle, is updated by adjusting the internal structure of the particle. This operation is expressed as "⊗", generating two random integer numbers c and d within [1, l p ] and then exchanging the c-th element and d-th element in the particle vector. The second and the third operations are the "self-recognition" and "social cognition" of particles, respectively. A particle adjusts its position according to its optimal record P i and the particle group optimal record P g . The operation is represented as "⊕". In this operation, a random integer e within [1, l p ] is generated so that the e-th element of the vector is exchanged with the element that has the same value as that of the e-th element of its historically optimal position vector P i or P g . There may be multiple elements with the same value in the particle position vector. However, the maximal number of these elements is constrained by α from the initialization, and the element for exchange can be randomly selected. Readers can refer to [30] for more algorithmic details. Rigorous mathematical demonstrations of the complexity and scalability of the algorithm are still an open question and usually tested using specific benchmark problems [31,32].

Simulation
In this section, we first present a static task-planning result, i.e., task planning at a certain time instant. Then, we show dynamic planning where the global and local planners update their planning results in the period of T global and T local , as described in Section 3. The simulation platform was MATLAB 2019b, running on a PC with i5-9600KF CPU and 32 GB memory. The MATLAB CubeSat Simulation Library was used to generate the random positions and velocities of satellites and objects around the near-space of Earth.

Static Planning
We first show the performance of the proposed task-planning framework for tens of satellites and hundreds of objects in a static scenario, where task planning is performed at a single time instant. In this simulation, 20 satellites and 200 objects were randomly generated in the near-space of Earth with different Keplerian orbital elements. As shown in Figure 6, the proposed distributed task-planning framework decomposed the satellites into 5 clusters and the objects into 12 clusters. The number of satellites and objects in each cluster is shown in Table 6. Results clearly show that satellite clusters were determined by their proximity. In this simulation, 34 objects were allocated to multiple satellites and are labeled by black circles. same value in the particle position vector. However, the maximal number of these is constrained by α from the initialization, and the element for exchange can be r selected. Readers can refer to [30] for more algorithmic details. Rigorous math demonstrations of the complexity and scalability of the algorithm are still an open and usually tested using specific benchmark problems [31,32].

Simulation
In this section, we first present a static task-planning result, i.e., task plan certain time instant. Then, we show dynamic planning where the global and loca update their planning results in the period of T global and T local , as described in Sect simulation platform was MATLAB 2019b, running on a PC with i5-9600KF CPU a memory. The MATLAB CubeSat Simulation Library was used to generate the positions and velocities of satellites and objects around the near-space of Earth.

Static Planning
We first show the performance of the proposed task-planning framework f satellites and hundreds of objects in a static scenario, where task planning is p at a single time instant. In this simulation, 20 satellites and 200 objects were r generated in the near-space of Earth with different Keplerian orbital elements. A in Figure 6, the proposed distributed task-planning framework decomposed the into 5 clusters and the objects into 12 clusters. The number of satellites and objec cluster is shown in Table 6. Results clearly show that satellite clusters were deter their proximity. In this simulation, 34 objects were allocated to multiple satellite labeled by black circles.  No. of Satellites 6 4 4 3 3 Figure 6. Task-planning result for 20 satellites and 200 objects with 5 and 12 clusters, respectively. Filled circles, satellites; crosses, objects; black circles, objects allocated to multiple satellites. The computational cost, dominated by GMM clustering and solving optimization Problems (7) and (10) using the DPSO algorithm, was compared against a baseline flat CNP method that allocates all tasks to all satellites at once, and does not consist of a hierarchical structure of global and local planners. Figure 7 shows a comparison for 20 satellites with 3 clusters. Objects were decomposed into 8 clusters. The result demonstrated that the proposed framework had better scalability than that of the baseline flat CNP, especially when considering that space objects such as debris number in the tens of thousands, or even more. The proposed framework has higher computational time when the number of objects is small because the clustering process has little or even negative effect on computational time when the scale of a problem is rather small. In the static case, the task planning cost of the proposed hierarchical framework and the baseline flat CNP, represented by the cost function (3), is compared in Figure 8. The proposed framework has slightly higher planning cost than that of the baseline CNP. The task planning cost grows with the number of tasks and the gap between the proposed framework and the baseline one also increases. However, such increased planning cost can be accepted considering the significant computational time gain shown in Figure 7.
To further understand how the number of clusters affect computational time and task-planning cost, we put these two factors of the proposed framework in Figure 9.

Dynamic Planning
In the dynamic-planning scenario, the global and local planners update their planning results in periods of T global and T local , respectively. The baseline flat CNP also updated its planning in a period of T f lat . In this scenario, we performed a 2 h orbital simulation, collected the position and velocity information every 144 s, and computed the corresponding

Dynamic Planning
In the dynamic-planning scenario, the global and local planners update their planning results in periods of T global and T local , respectively. The baseline flat CNP also updated its planning in a period of T f lat . In this scenario, we performed a 2 h orbital simulation, collected the position and velocity information every 144 s, and computed the correspond-ing planning cost for all tasks at each time instant. The planning update period was set to be T global = 2T local = 288 s. Figure 10 shows the relative planning cost C of the two methods as C = cost hierarchical /cost f lat with regard to different period ratios r = T f lat /T local .   Relative planning cost with regard to the number of objects is shown in Figure 11. The planning-cost gap between the proposed method and the flat CNP decreased as the proposed method updated its planning result faster than the baseline CNP did. The planningcost gap also decreased as the number of objects grew2, demonstrating the scalability of the proposed algorithm. Therefore, the proposed method approached the baseline CNP when it updated faster for large-scale problems, showing potential for practical deployment. No. of Objects  Figure 11. Task planning cost ratio C w.r.t. the number of objects in the dynamic planning scenario with r = 5. There are 20 satellites with 5 clusters. The objects are decomposed into 12 clusters. Figure 11. Task-planning cost ratio C regarding number of objects in dynamic-planning scenario with r = 5. There were 20 satellites with 5 clusters. Objects were decomposed into 12 clusters.

Conclusions
This paper proposed a hierarchical and distributed task-planning framework customized for multiple-satellite SSA systems. A global planner decomposes multiple satellites and tasks into clusters where local planners allocate tasks to local satellites using the CNP. The framework introduced an urgent task planner for fast task replanning in the case of urgent tasks. A customized DPSO algorithm was developed to effectively and efficiently find optimal planning results. Simulation results in static and dynamic scenarios demonstrated that the proposed framework is effective and efficient in large-scale task-planning and -replanning problems.