A multi-satellite task pre-allocation method based on DBSCAN clustering
By constructing multi-dimensional indicators using the DBSCAN clustering method, the distance between tasks and satellites is calculated and assigned, solving the problems of satellite capability differentiation modeling and large task scale in multi-satellite task allocation, and achieving efficient task pre-allocation and improved efficiency of subsequent planning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION
- Filing Date
- 2023-02-15
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technologies face challenges in multi-satellite mission allocation, including difficulties in modeling satellite capability differences and low solution efficiency due to the large scale of missions. This results in complex and inefficient multi-satellite joint planning.
A multi-satellite mission pre-assignment method based on DBSCAN clustering is adopted. By constructing multi-dimensional satellite mission allocation indicators, calculating the absolute and relative distances between missions and satellites, and performing clustering to allocate missions to suitable satellites, the pre-assignment of missions is achieved.
It improves the efficiency of multi-star allocation for large-scale tasks, reduces the complexity of subsequent refined task planning, and improves the overall efficiency of the task planning process.
Smart Images

Figure CN116470948B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite ground system mission planning technology, and in particular to a multi-satellite mission pre-assignment method based on DBSCAN clustering, which can be used in multi-satellite mission joint planning scenarios for large-scale missions. Background Technology
[0002] Remote sensing satellites, as an important means of Earth observation, are widely used in various fields, leading to increasingly complex and diverse user needs. The same task may be performed by different satellites, and a single satellite can sequentially execute multiple tasks. For large-scale tasks and a certain number of satellite resources, it is necessary to solve the problem of multi-satellite and multi-task joint planning, allocating a large number of tasks from different sources to appropriate satellites.
[0003] The multi-satellite mission allocation problem involves constraints such as satellite resource capabilities, mission requirements, and spatiotemporal domains. Its structure is highly complex, and it is typically transformed into a relevant classical model. Then, by designing mission conflict resolution algorithms, the utilization efficiency of satellite resources can be optimized. This is a typical combinatorial optimization problem, and also an NP-hard problem, as it has been proven impossible to find an optimal solution for planning large-scale satellite resources and mission requirements in polynomial time.
[0004] In real-world engineering applications, considering the differences between satellite models, unified multi-satellite joint planning faces challenges such as the difficulty of modeling satellite capability differences and the low solution efficiency due to the large scale of the missions. Therefore, it is necessary to pre-allocate tasks to satellites by analyzing mission characteristics and based on specific rules before the multi-satellite joint mission planning phase. This forms a set of tasks that each satellite has a high probability of completing, reducing the resource coupling and problem scale of subsequent multi-satellite joint planning, thereby improving the operational efficiency of the entire process. Summary of the Invention
[0005] The purpose of this invention is to provide a multi-satellite mission pre-assignment method based on DBSCAN clustering. This method first constructs indicators for each mission on each satellite, including average observation time, average data transmission time, number of observation time windows, number of data transmission time windows, degree of observation time conflict, and degree of data transmission time conflict. Then, it achieves multi-dimensional indicator numerical calculation through normalization and optimization direction transformation. Finally, it calculates the distance based on the multi-dimensional indicators and performs clustering to allocate missions to suitable satellites, achieving pre-specified allocation of missions to satellites and meeting the efficiency requirements of subsequent mission planning.
[0006] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0007] A multi-star task pre-assignment method based on DBSCAN clustering includes the following steps:
[0008] Step 1: Establish multi-dimensional satellite mission allocation indicators. Specifically, based on the observation time window between the mission and the satellite, design the number of observation time windows L1, the average observation time L2, and the degree of observation time conflict L3 for the mission; based on the data transmission time window between the ground station and the satellite, design the number of data transmission time windows L4, the average data transmission time L5, and the degree of data transmission time conflict L6 for the mission.
[0009] Step 2: Denote all satellites as the basic core object set S = {s1, ..., s2}. j , ..., s |s| Let the task set be GT = {t1, ..., t}. i , ..., t |GT| Let |s| be the total number of elements in set S, and |GT| be the total number of elements in set GT; based on the multi-dimensional satellite mission allocation index, calculate the mission set GT = {t1, ..., t}. i , ..., t |GT| Each task t in} i To each satellite s j Absolute distance JD:
[0010]
[0011] Among them, L1 ij L2 ij ..., L6 ij Represents task t i In satellites j The corresponding indicator values;
[0012] According to task t i and t i′ On the same satellite j The metric is used to calculate the relative distance XD between two tasks.
[0013]
[0014] Step 3, in the basic core object set S = {s1, ..., s...} j , ..., s |s| Iterate through each satellite s in} j Based on the absolute distance and the absolute distance neighborhood parameters (ε1, MinPts1), in the task set GT={t1,...,t i , ..., t |GT| Calculate the neighborhood in} Neighborhood The tasks in the middle are added to s without duplication. j Corresponding task cluster In this process, a set of pseudo-core objects is obtained by exploring this neighborhood.
[0015] exist Traverse each pseudo-core object t i Based on the relative distance and the relative distance neighborhood parameters (ε2, MinPts2), in the task sample GT={t1,...,t i , ..., t |GT| Calculate the neighborhood in} Neighborhood The tasks in the middle are added to s without duplication. j Corresponding task cluster middle;
[0016] Ultimately, all tasks are either assigned to task clusters or the basic core object set is traversed to generate a task cluster set. That is, to give satellite s j Assigned tasks.
[0017] Furthermore, in step 1, the design method for each type of indicator is as follows:
[0018] Number of observation windows L1: Each satellite has multiple orbital periods per day, and there are potential observation opportunities within each orbital period. Each observation opportunity constitutes an observation window. That is, task t i In satellites j The number of observation time windows on the a-th orbit is equal to the number of observation time windows |TW ij |;The index is formed after normalization. Then optimize the direction to form indicators. in and For satellites s j Earliest and latest orbital circle numbers;
[0019] Average observation time L2: task t i In satellites j It has multiple observation time windows Each observation time window All have an observation start time and observation end time For satellites s j The summation and averaging are performed on the center time points of the observation time window, i.e. The index is formed after normalization. Where H s and H e For satellites s j The planning time domain start and end times;
[0020] Observation time conflict level L3: for task t i In satellites j The possible observation time window Calculate the ratio of the number of conflicting observation windows to the total number of observation windows, i.e. Where C Indicates the observation time window Check for conflicts; if a conflict exists, the value is 1; otherwise, it is 0.
[0021] Data transmission time window number L4: Earliest observation end time for the mission The number of subsequent data transmission time windows is counted, i.e. in This is the end time of the data transmission time window; the index is then normalized to form... Then optimize the direction to form indicators. in and For satellites s j The earliest and latest orbital circle numbers, G represents the set of ground stations;
[0022] Average data transfer time L5: The set of data transfer time windows that may be executed. The average data transmission time is calculated by summing and averaging the center time points of the data transmission time windows in the set. The index is formed after normalization. Where H s and H e satellites j The planning time domain start and end times;
[0023] Data transmission time conflict level L6: The ratio of the duration occupied by other observation periods and data transmission periods within all data transmission time windows to the total duration of all data transmission time windows, i.e. in Indicates data transmission time window Duration of time occupied.
[0024] Furthermore, the specific method for step 3 is as follows:
[0025] Step 3.1, Initialize the task cluster set The set consisting of all initialization pseudo-kernel objects
[0026] Step 3.2, for the satellite set S = {s1, s2, ..., s...} |S|} Iterate through the data and randomly select a satellite s. j∈S is the basic core object, so proceed to step 3.3; after the traversal is complete, proceed to step 3.10;
[0027] Step 3.3, based on the absolute distance and the absolute distance neighborhood parameters (ε1, MinPts1), in the task sample GT={t1,...,t i ,...,t |GT| Find the core object s in} j ε1-neighborhood subsample set Execute step 3.4; where ε1 represents the distance threshold set during clustering, and only objects less than or equal to this parameter will be clustered into the same class; MinPts1 represents the number of objects in the current class during clustering, and the current class is valid only when it is greater than or equal to this parameter;
[0028] Step 3.4: If the number of observation tasks within the neighborhood radius ε1 is greater than or equal to MinPts1, i.e. If the condition is met, proceed to step 3.5; otherwise, return to step 3.2 and iterate through the next satellite.
[0029] Step 3.5, initialize the basic core object s j The corresponding pseudo-core object collection and task cluster make Proceed to step 3.6;
[0030] Step 3.6, in the pseudo-core object collection Traverse the pseudo-core objects in the middle, and for each pseudo-core object t i Execute step 3.7; after the traversal is complete, let Return to step 3.2 and iterate over the next satellite;
[0031] Step 3.7, based on the relative distance and the relative distance neighborhood parameters (ε2, MinPts2), in the task sample set GT={t1,...,t i ,...,t |GT| Find the pseudo-core object t in} i ε2-neighborhood subset Proceed to step 3.8;
[0032] Step 3.8, if the pseudo-core object t i ε2-neighborhood subset satisfy Then let Execute step 3.9; otherwise, return to step 3.6 to traverse the next pseudo-core object.
[0033] Step 3.9, if make Execute step 3.10; otherwise, return to step 3.6 to traverse the next pseudo-core object.
[0034] Step 3.10: Output the multi-star task allocation result, i.e., the task cluster set C.
[0035] Compared with the prior art, the present invention has the following advantages:
[0036] 1. This invention can be applied to scenarios involving large-scale mission multi-satellite allocation. By designing multi-dimensional satellite mission allocation indicators and using density clustering-based methods, missions can be quickly allocated to suitable satellites, enabling pre-allocation of mission-to-satellite resources and improving the efficiency of subsequent refined mission planning.
[0037] 2. This invention effectively evaluates the distance measurement relationship between missions and satellites, as well as between missions, by constructing multi-dimensional satellite mission allocation indicators.
[0038] 3. This invention identifies the task clusters suitable for each satellite to complete based on absolute and relative distances, which can more accurately guide the allocation of batch tasks to satellites.
[0039] 4. This invention is applicable to application scenarios that solve the problem of multi-satellite resource pre-allocation for large-scale tasks. By pre-allocating multi-satellite tasks, it effectively reduces the processing complexity of subsequent refined task planning problems and improves the overall efficiency of the task planning process. Attached Figure Description
[0040] Figure 1 A flowchart of a multi-star task pre-assignment method based on DBSCAN clustering.
[0041] Figure 2 A schematic diagram of task clustering in multi-star task pre-assignment. Detailed Implementation
[0042] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to specific embodiments and accompanying drawings.
[0043] A multi-satellite mission pre-assignment method based on DBSCAN clustering is proposed. This method first constructs indicators such as the average observation time, average data transmission time, number of observation time windows, number of data transmission time windows, degree of observation time conflict, and degree of data transmission time conflict for each mission on each satellite. Then, the multi-dimensional indicators are numerically calculated through normalization and optimization direction transformation. Finally, the distance is calculated based on the multi-dimensional indicators and clustering is performed to assign the mission to the appropriate satellite, realizing the pre-specified assignment of missions to satellites and meeting the efficiency requirements of subsequent mission planning.
[0044] like Figure 1and 2 As shown, this method includes the following steps:
[0045] Step 1: Establish multi-dimensional satellite mission allocation indicators and perform normalization and optimization of direction conversion.
[0046] Step 1.1, Calculate the number of observation time windows: Each satellite has multiple orbital periods per day, and there is a possibility of observing the mission within each orbital period. Each observation opportunity is an observation time window. (Task t) i In satellites j The number of observation time windows (the time window on the a-th orbit) is the same as the number of statistical observation time windows, i.e., |TW ij A task is more likely to be allocated to satellite resources that can provide it with more observation windows. This indicator needs to be normalized and optimized for a different direction. The normalized result is as follows: Then optimize the direction to form indicators. in and For satellites s j The earliest and latest orbital circle numbers.
[0047] Step 1.2, Calculate the average observation time: Task t i In satellites j It may have multiple observation time windows. Each observation time window All have an observation start time and observation end time This indicator is for satellites. j The summation and averaging are performed on the center time points of the observation time window, i.e. A task is more likely to be assigned to satellite resources that can provide it with an earlier observation window. This index only requires normalization and does not require optimization direction transformation; the normalized index is then formed. Where H s and H e satellites j The start and end times of the planning time domain.
[0048] Step 1.3, Calculate the degree of observation time conflict: Since the observation time window of a task is a fixed period of time, a conflict exists as long as there are other observation tasks that conflict with it. Therefore, for task t... i In satellites j The possible observation time window In this respect, the indicator only requires the ratio of the number of conflicting observation windows to the total number of observation windows, i.e. Where C Indicates the observation time window The indicator checks for conflicts; if a conflict exists, it equals 1; otherwise, it equals 0. A task is more likely to be assigned to satellite resources that can provide it with fewer observation time conflicts. This indicator can be formed without normalization and optimization of direction transformation processing.
[0049] Step 1.4, Calculate the number of data transmission time windows: Similar to the number of observation time windows, but limited by the earliest observation end time of the task. Limitations, in The previous data transmission time window was not feasible to execute, therefore it only applied to... The number of subsequent data transmission time windows is counted, i.e. in This refers to the end time of the data transmission time window. A task is more likely to be allocated to satellite resources that can provide it with a longer data transmission time window. This metric needs to be normalized and optimized for a different direction. After normalization, it forms... Then optimize the direction to form indicators. in and For satellites s j The earliest and latest orbital circle numbers, G represents the set of ground stations.
[0050] Step 1.5, Calculate the average data transmission time: for the set of possible data transmission time windows. The average data transmission time is calculated by summing and averaging the center time points of the data transmission time windows in the set. A task is more likely to be assigned to satellite resources that can provide it with an earlier data transmission window. This indicator only requires normalization and does not require optimization direction transformation; the normalized result is the final indicator. Where H s and H e satellites j The start and end times of the planning time domain.
[0051] Step 1.6, Calculate the degree of data transmission time conflict: Unlike the degree of observation time conflict, since the data transmission time window of a task is a relatively large period of time, only a smaller period of time needs to be selected when performing task data transmission. Therefore, there are many possible choices when there is no conflict with other observation and data transmission periods. Thus, the degree of data transmission time conflict is calculated as the ratio of the duration of all data transmission time windows occupied by other observation and data transmission periods to the total duration of all data transmission time windows. in Indicates data transmission time window Duration of time occupied. A mission is more likely to be allocated to satellite resources that can provide it with fewer time conflicts. This metric can be formed without normalization and optimization of direction transformation processing.
[0052] Step 2: Denote all satellites as the basic core object set S = {s1, s2, ..., s} |S| Based on indicators L1-L6, calculate the task set GT = {t1,...,t}. i ,...,t |GT| Each sample (task t) in} i ) to each satellite (basic core object s j The absolute distance of ) is denoted as Based on the indicators for each pair of missions on the same satellite, the relative distance between the two missions is calculated and denoted as .
[0053] Step 3, in the basic core object set S = {s1, s2, ..., s...} |S| Randomly iterate through the data and select a basic core object s. j ∈S, based on the absolute distance and the absolute distance neighborhood parameters (ε1, MinPts1) in the task sample GT={t1,...,t i ,...,t |GT| Calculate the neighborhood in} Add tasks in the neighborhood without duplicates to s. j Corresponding task cluster In this context, explore the set of pseudo-core objects within this neighborhood. exist Traverse each pseudo-core object t i Based on the relative distance and the relative distance neighborhood parameters (ε2, MinPts2), in the task sample GT={t1,...,t i ,...,t |GT| Calculate the neighborhood in} Add tasks in the neighborhood without duplicates to s. j Corresponding task cluster In this process, the operation continues within this neighborhood until all tasks are assigned to task clusters or the basic core object set has been traversed, generating a task cluster set. Specifically, the following steps are included:
[0054] Step 3.1, Initialize the task cluster set The set consisting of all initialization pseudo-kernel objects
[0055] Step 3.2, in the satellite set S = {s1, s2, ..., s...} |S|Randomly iterate through a satellite s in} j ∈S is the basic core object, so step 3.3 is executed until the traversal is completed and step 3.10 is executed;
[0056] Step 3.3, based on the absolute distance and the absolute distance neighborhood parameters (ε1, MinPts1) in the task sample GT={t1,...,t i ,...,t |GT| Find the core object s in} j ε1-neighborhood subsample set Proceed to step 3.4;
[0057] Step 3.4: If the number of observation tasks within the neighborhood radius ε1 is greater than or equal to MinPts1, i.e. Proceed to step 3.5, or proceed to step 3.2;
[0058] Step 3.5, initialize the basic core object s j Pseudo-core object collection and task cluster make Proceed to step 3.6;
[0059] Step 3.6, in the pseudo-core object collection Traversing a pseudo-core object t i Execute step 3.7 until the traversal is complete, then... Perform step 3.2;
[0060] Step 3.7, based on the relative distance and the relative distance neighborhood parameters (ε2, MinPts2), in the task sample set GT={t1,...,t i ,...,t |GT| Find the pseudo-core object t in} i ε2-neighborhood subset Proceed to step 3.8;
[0061] Step 3.8, if the above subsample individuals satisfy... make Proceed to step 3.9, or proceed to step 3.6;
[0062] Step 3.9, if make Proceed to step 3.10; otherwise, proceed to step 3.6.
[0063] Step 3.10: Output the multi-star task allocation result, i.e., the task cluster set C.
[0064] In summary, this invention effectively evaluates the distance measurement relationships between tasks and satellites, as well as between tasks themselves, by constructing multi-dimensional satellite task allocation indicators. Based on this, task clusters suitable for each satellite to complete are identified according to absolute and relative distances, providing more precise guidance for the allocation of batch tasks to satellites. This invention is applicable to scenarios involving the pre-allocation of multi-satellite resources for large-scale tasks. By pre-allocating multi-satellite tasks, it effectively reduces the complexity of subsequent refined task planning and improves the overall efficiency of the task planning process.
[0065] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A multi-star task pre-assignment method based on DBSCAN clustering, characterized in that, Includes the following steps: Step 1: Establish multi-dimensional satellite mission allocation indicators. Specifically, based on the observation time window between the mission and the satellite, design the number of observation time windows L1, the average observation time L2, and the degree of observation time conflict L3 for the mission; based on the data transmission time window between the ground station and the satellite, design the number of data transmission time windows L4, the average data transmission time L5, and the degree of data transmission time conflict L6 for the mission. Step 2: Record all satellites as a basic core object set. And denote the task set as , Let S be the total number of elements in set S. The total number of elements in set GT; the task set is calculated based on multi-dimensional satellite task allocation indicators. Each task To each satellite Absolute distance JD: Among them, L1 ij L2 ij ..., L6 ij Indicates task In satellite The corresponding indicator values; According to the task and On the same satellite The metric is used to calculate the relative distance XD between two tasks. Step 3, in the basic core object set Traversing every satellite Based on absolute distance and absolute distance neighborhood parameters In the task set Computational neighborhood , will neighboring The tasks in the middle are added without duplication. Corresponding task cluster In this process, a set of pseudo-core objects is obtained by exploring this neighborhood. ; exist Traverse each pseudo-core object Based on relative distance and relative distance neighborhood parameters In the task sample Computational neighborhood , will neighboring The tasks in the middle are added without duplication. Corresponding task cluster middle; Ultimately, all tasks are either assigned to task clusters or the basic core object set is traversed to generate a task cluster set. , That is to give satellites Assigned tasks; The specific method for step 3 is as follows: Step 3.1, Initialize the task cluster set The set consisting of all initialized pseudo-kernel objects. ; Step 3.2, assembling the satellites Perform a traversal and randomly select a satellite. As the basic core object, proceed to step 3.3; after the traversal is complete, proceed to step 3.10; Step 3.3, based on absolute distance and absolute distance neighborhood parameters In the task sample Find the core object of - Neighborhood Subsample Set Proceed to step 3.4; where, This represents the distance threshold set during clustering; only objects with a distance less than or equal to this parameter will be clustered into the same group. This parameter represents the number of objects in the current cluster. The clustering is valid only if the number of objects is greater than or equal to this parameter. Step 3.4, if the neighborhood radius The number of observation tasks within the area is greater than or equal to ,Right now If the condition is met, proceed to step 3.5; otherwise, return to step 3.2 to iterate over the next satellite. Step 3.5, Initialize the basic core objects The corresponding pseudo-core object collection and task cluster ,make , Execute step 3.6; where \ represents finding the difference between sets; Step 3.6, in the pseudo-core object collection Traverse the pseudo-core objects, and for each pseudo-core object... Execute step 3.7; after the traversal is complete, let , Return to step 3.2 and iterate through the next satellite; Step 3.7, based on relative distance and relative distance neighborhood parameters In the task sample set Find the pseudo-core object of - Neighborhood Subsample Set Proceed to step 3.8; Step 3.8, if the pseudo-core object of - Neighborhood Subsample Set satisfy Then let , If the previous step is not executed, proceed to step 3.9; otherwise, return to step 3.6 to traverse the next pseudo-core object. Step 3.9, if ,make If the previous step is not executed, proceed to step 3.10; otherwise, return to step 3.6 to traverse the next pseudo-core object. Step 3.10: Output the multi-star task allocation results, i.e., the task cluster set. .
2. The multi-star task pre-assignment method based on DBSCAN clustering according to claim 1, characterized in that, In step 1, the design method for each type of indicator is as follows: Number of observation windows L1: Each satellite has multiple orbital periods per day, and there are potential observation opportunities within each orbital period. Each observation opportunity constitutes an observation window. That is, the task In satellite Upper The number of observation time windows is equal to the number of observation time windows on each orbit. After normalizing the indicator, the following is formed: Then, the direction is optimized and transformed to form indicators. ,in and For satellite Earliest and latest orbital circle numbers; Average observation time L2: mission In satellite It has multiple observation time windows Each observation time window All have an observation start time and observation end time For satellites The summation and averaging are performed on the center time points of the observation time window, i.e. The index is formed after normalization. ,in and For satellite The planning time domain start and end times; Observation time conflict level L3: for the task In satellite The possible observation time window Calculate the ratio of the number of conflicting observation time windows to the total number of observation time windows, i.e. ,in Indicates the observation time window Check for conflicts; if a conflict exists, the value is 1; otherwise, it is 0. Data transmission time window number L4: Earliest observation end time for the mission The number of subsequent data transmission time windows is counted, i.e. ,in This is the end time of the data transmission time window; After normalizing the indicator, it becomes Then, the direction is optimized and transformed to form indicators. ,in and For satellite Earliest and latest orbital numbers Gathering at ground stations; Average data transfer time L5: The set of data transfer time windows that may be executed. The average data transmission time is calculated by summing and averaging the center time points of the data transmission time windows in the set. The index is formed after normalization. ,in and satellite The planning time domain start and end times; Data transmission time conflict level L6: The ratio of the duration occupied by other observation periods and data transmission periods within all data transmission time windows to the total duration of all data transmission time windows, i.e. ,in , Indicates data transmission time window Duration of time occupied.
Citation Information
Patent Citations
Method and device for dynamically planning satellite emergency tasks
CN108090631A
A multi-satellite task planning method based on K-means clustering
CN109002966A