1. 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. Swarm optimization algorithms [
8,
9], mixed-integer optimization [
10], and heuristic algorithms [
11] can be applied to solve such an optimization problem. In contrast, distributed MSS achieves certain configuration and task planning through intersatellite communication and coordination. Such a structure can allocate computations, communications, and control actions through distributed coordination algorithms [
4]. The distributed architecture has better scalability, and can achieve parallel planning and fast replanning. In addition, the distributed architecture is more robust to agent failure, hence being more flexible in dynamic environments. Several distributed task-planning methods for MAS were proposed, including behavior- and affect-based [
12,
13], market-based [
14,
15,
16], vacancy-chain [
17], and swarm-intelligence [
4,
7,
18] methods.
The contract-net protocol (CNP) is one of the most popular market-based task-planning methods, and it is widely applied to solve communication and control problems for MAS [
16,
19,
20,
21]. The CNP is known for its planning efficiency with explicit communications among agents, hence being suitable for MSS. In the CNP, a contract is signed through a process of mutual selection based on two-way information transfer. The contract net consists of a number of nodes, each of which represents an agent, and can be classified into two roles, manager and contractor. The former formulates the bidding task, publishes and collects tenders, evaluates which contractor wins the bidding, and lastly signs the contract. The latter focuses on bidding on the basis of its own working status and ability. Traditionally, the CNP requires heavy communication among agents to achieve dynamic task planning. In recent years, researchers developed a variety of remedies and enhancements to reduce the tender space in order to reduce communication and computation burden [
16,
22,
23,
24]. For example, a clustering method was proposed to reduce the number of bids, thereby reducing the computational burden [
23]. In [
24], machine-learning methods were employed to quickly initialize a feasible solution of a task-assignment problem of image-sensing satellites. Despite these improvements, how to develop effective and customized methods for SSA task-planning problems is still an open question.
Task-planning problems for SSA and for widely studied Earth observation applications, e.g., remote imaging and sensing, are different. In Earth observation applications, tasks are usually defined as observing a fixed ground station or a certain ground area within a time window [
11,
16,
24], while SSA applications deal with dynamic objects in near-Earth space. These objects move with high velocity along orbits, such as space debris, or along a complex trajectory, such as a parabola for rockets. Task planning for Earth observation applications usually follows a single-to-multiple allocation pattern, i.e., a single satellite is allocated multiple tasks, while for SSA applications, a multiple-to-multiple allocation pattern is required. In this context, a satellite may need to supervise multiple objects, and an object may be supervised by multiple satellites.
To address these issues, in this paper, we propose a hierarchical and distributed task-planning framework with two layers. On the top layer, a global planner decomposes satellites and objects into multiple clusters using hard and soft clustering, respectively. This way of clustering leads to unique satellite clusters, but intersected object clusters, i.e., an object may belong to multiple object clusters. Such clustering is compatible with the multiple-to-multiple allocation pattern. Preprocessing planning is conducted using the CNP to allocate object clusters to satellite ones. On the bottom layer, local planners in each satellite cluster employ the CNP to allocate tasks. In the preprocessing and local levels, the criterion for evaluating tenders was designed as a combination of distance and relative velocity among satellites, thus taking into account fast-moving objects in SSA applications. In addition, a customized discrete particle swarm optimization (DPSO) algorithm was developed to search for the optimal task-planning result in the CNP. Tasks are allocated on the basis of their priorities, hence allowing for the execution of high-priority tasks even if the algorithm prematurely stops. By constraining the number of particles for searching the optimal solution, constraints on the maximal number of tasks that each satellite can execute are implicitly considered without increasing the computational burden.
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.
2. Problem Description
Assuming that there are in total
n satellites and
m objects to be planned with
in typical SSA applications, for a satellite
s, two parameters are defined as
where
and velocity
are 3D position and velocity vectors in the Earth-centered-Earth-fixed (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
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 A1. Every working satellite is able to execute at least one task at any time.
Assumption A2. 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
the match between satellite
i and object
j, and
for cases without match, the task-planning problem is to minimize
over
.
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.
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:
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 , respectively, where is the number of objects in a batch. Particle position is a vector of length 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 is defined to indicate the maximal number of tasks that each satellite can execute, i.e., means that at most k objects can be allocated to the i-th satellite. When , 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
as
, 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) is fulfilled. Operations in later iterations only affect the index of the elements in the position vector, but not their values, thereby obeying Constraint (
13) at all iterations.
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
is the position of the
i-th particle at the
k-th iteration,
is the optimal historical record of the
i-th particle position, and
is the historical optimal record of the position of the particle group.
,
, and
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
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
and the particle group optimal record
. The operation is represented as “⊕”. In this operation, a random integer
e within
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
or
. 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].