Method and system for task planning and resource dynamic scheduling for agile satellite constellation
By refining the mission requirements and resource status of the agile satellite constellation and conducting conflict hypergraph analysis, a reasonable resource allocation and scheduling scheme is generated, which solves the problem of unreasonable resource allocation in mission planning and improves mission execution efficiency and observation effectiveness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGDONG B&S BEIDOUTEC CO LTD
- Filing Date
- 2026-04-10
- Publication Date
- 2026-07-03
AI Technical Summary
Existing agile satellite constellation mission planning methods fail to fully consider the fine structure of the mission and the compatibility of satellite resources, resulting in mission execution being difficult to achieve optimal results, unreasonable resource allocation, and a tendency to encounter execution difficulties and resource waste.
By acquiring mission requirements and satellite resource information, the observation mission is decomposed and refined to generate atomic observation mission units. A mission resource conflict hypergraph structure is constructed, and an optimization allocation model is used to perform node clustering and resource allocation to generate a scheduling scheme.
It improved the accuracy and rationality of resource matching, effectively resolved the task conflict problem, and enhanced the task execution efficiency and overall observation effectiveness of the agile satellite constellation.
Smart Images

Figure CN122334849A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of aerospace mission planning technology, and more specifically, to a method and system for mission planning and dynamic resource scheduling for agile satellite constellations. Background Technology
[0002] In today's rapidly developing aerospace technology, agile satellite constellations, with their unique advantages, play an irreplaceable role in numerous fields such as Earth observation, disaster monitoring, and resource surveys. Agile satellites possess the ability to rapidly adjust their attitude and conduct flexible observations, enabling them to change their observation direction and angle in a short time according to different mission requirements, thereby acquiring richer and more accurate observational data.
[0003] However, with the continuous expansion of application scenarios and the increasing complexity of tasks, mission planning and dynamic resource scheduling for agile satellite constellations face enormous challenges. Existing mission planning methods are often rather coarse, typically simply dividing the overall mission into general parts and then allocating satellite resources to the missions according to predetermined rules. This approach does not fully consider the fine-grained structure within the mission, such as the differences in coverage area and imaging angle constraints among different observation missions, making it difficult to achieve optimal mission performance.
[0004] In terms of resource scheduling, most existing technologies simply match satellite resources based on their temporal availability, neglecting the compatibility between the satellite's current operating mode parameters and the required mission attitude adjustment range. This can lead to difficulties in actual execution, such as satellites being unable to meet mission attitude adjustment needs, or even mission failure. Furthermore, the lack of effective mechanisms for identifying and handling conflicts between missions makes it difficult to allocate resources rationally when multiple missions compete for the same satellite resources. This can easily result in resource waste and low mission execution efficiency, failing to fully leverage the overall effectiveness of an agile satellite constellation. Summary of the Invention
[0005] In view of the aforementioned problems, and in conjunction with the first aspect of the present invention, embodiments of the present invention provide a method for mission planning and dynamic resource scheduling for agile satellite constellations, the method comprising: Acquire a set of mission requirement description information and a set of satellite resource status description information for an agile satellite constellation. The set of mission requirement description information includes multiple observation mission requirement units with mission identifiers, and the set of satellite resource status description information includes resource availability time windows and current resource operating mode parameters for multiple on-orbit satellite resource units with satellite identifiers. The task requirement description information set is subjected to observation task decomposition processing. Based on the task coverage area range information and task imaging angle constraint information of each observation task requirement unit, multiple corresponding atomic observation task units are generated to obtain an atomic observation task set. Each atomic observation task unit has task execution time window requirements and task attitude adjustment range requirements. The atomic observation task set and the satellite resource status description information set are subjected to initial task resource matching processing. Based on the time overlap relationship between the task execution time window requirement of each atomic observation task unit and the resource availability time window of each on-orbit satellite resource unit, as well as the compatibility relationship between the task attitude adjustment range requirement of each atomic observation task unit and the current working mode parameters of each on-orbit satellite resource unit, candidate on-orbit satellite resource units are selected for each atomic observation task unit, and an initial matching relationship set is generated. Based on the initial matching relationship set and the atomic observation task set, a task resource conflict hypergraph structure is constructed. The task resource conflict hypergraph structure uses each atomic observation task unit as a hypergraph node, and multiple atomic observation task units that have conflict relationships with the same candidate on-orbit satellite resource units are connected by hyperedges. The optimized allocation model is invoked to perform node clustering and partitioning on the task resource conflict hypergraph structure. Based on the conflict weight parameters of the hyperedges, the atomic observation task units are divided into multiple weak conflict task clusters. Target on-orbit satellite resource units are allocated to the atomic observation task units within each weak conflict task cluster, and the start and end times of specific task execution are determined, thereby generating a resource allocation and scheduling scheme.
[0006] Furthermore, embodiments of the present invention also provide a mission planning and dynamic resource scheduling system for agile satellite constellations, characterized in that it includes: A processor; a machine-readable storage medium for storing machine-executable instructions of the processor; wherein the processor is configured to execute the above-described mission planning and dynamic resource scheduling method for agile satellite constellations by executing the machine-executable instructions.
[0007] In another aspect, embodiments of the present invention also provide a computer program product, the computer program product including machine-executable instructions, the machine-executable instructions being stored in a computer-readable storage medium, a processor of a computer device reading the machine-executable instructions from the computer-readable storage medium, the processor executing the machine-executable instructions, causing the computer device to execute the above-described method for mission planning and dynamic resource scheduling for agile satellite constellations.
[0008] Based on the above, by acquiring detailed sets of mission requirement descriptions and satellite resource status descriptions, the mission requirements are meticulously decomposed into observation tasks. Complex observation tasks are broken down into multiple atomic observation task units with clearly defined execution time windows and attitude adjustment ranges. In the initial resource matching process, considering time overlap and compatibility, suitable candidate on-orbit satellite resource units are selected for each atomic observation task unit, effectively improving the accuracy and rationality of resource matching. A mission resource conflict hypergraph structure is constructed to represent the conflict relationships between atomic observation task units. An optimized allocation model is used to cluster nodes in the hypergraph structure. Based on the conflict weight parameters of the hyperedges, the atomic observation task units are divided into multiple weakly conflicting task clusters. Target on-orbit satellite resource units are rationally allocated, and specific mission execution start and end times are determined, generating a resource allocation and scheduling scheme. This effectively solves the mission conflict problem, achieves efficient dynamic resource scheduling, and significantly improves the mission execution efficiency and overall observation performance of the agile satellite constellation. Attached Figure Description
[0009] Figure 1 This is a schematic diagram of the execution flow of the mission planning and dynamic resource scheduling method for agile satellite constellations provided in an embodiment of the present invention.
[0010] Figure 2 This is a schematic diagram of exemplary hardware and software components of the mission planning and dynamic resource scheduling system for agile satellite constellations provided in an embodiment of the present invention. Detailed Implementation
[0011] Figure 1 This is a flowchart illustrating a method for mission planning and dynamic resource scheduling for agile satellite constellations provided in one embodiment of the present invention, which will be described in detail below.
[0012] Step S110: Obtain a set of mission requirement description information and a set of satellite resource status description information for the agile satellite constellation. The set of mission requirement description information includes multiple observation mission requirement units with mission identifiers, and the set of satellite resource status description information includes resource availability time windows and current operating mode parameters of multiple on-orbit satellite resource units with satellite identifiers.
[0013] In this embodiment, the original set of mission requirement description information is first obtained from the ground mission management system. This set of mission requirement description information is stored as a data table in a distributed file system, which contains multiple observation mission requirement units. For example, a high-resolution optical imaging request for a specific geographical area is defined as an observation mission requirement unit, and this observation mission requirement unit is assigned a globally unique mission identifier, such as the mission identifier TASK001. The observation task requirement unit TASK001 encapsulates a complete data structure describing the task. This data structure includes at least the task coverage area information, which consists of a series of boundary latitude and longitude coordinates arranged in clockwise order. For example, the coordinates of point P001 are 39°54′20″N 116°23′29″E, the coordinates of point P002 are 39°54′30″N 116°24′00″E, the coordinates of point P003 are 39°54′10″N 116°24′10″E, and the coordinates of point P004 are 39°54′05″N 116°23′40″E. These coordinates together form an irregular quadrilateral area, which is the geographical area to be observed. Meanwhile, the observation mission requirement unit TASK001 also contains mission imaging angle constraint information, which is a parameter vector. Specifically, it includes the range of satellite roll angles allowed to complete the observation of the area, such as within -15 degrees to +15 degrees to the left and right of the vertical line of the satellite's nadir trajectory, and the range of satellite pitch angles allowed, such as within -10 degrees to +10 degrees to the front and back along the flight direction.
[0014] Simultaneously, a set of satellite resource status description information is obtained from the real-time data stream of the satellite tracking and control center or from the historical database of on-board status telemetry. This set of satellite resource status description information is represented as a satellite resource status description information set data container, which contains multiple on-orbit satellite resource units. Taking the satellite numbered SAT01 as an example, its corresponding on-orbit satellite resource unit SAT01 is assigned the satellite identifier SAT01. The on-orbit satellite resource unit SAT01 includes its resource availability time window, which is a list of multiple discontinuous time periods. For example, based on orbit forecasts and existing mission schedules, within the next 24 hours, SAT01 can be used to execute new missions with an available start time of 2:15:00 UTC on May 20, 2024, and a corresponding available end time of 2:35:00 UTC on May 20, 2024; another available start time is 4:50:00 UTC on May 20, 2024, and a corresponding available end time of 5:10:00 UTC on May 20, 2024. In addition, the on-orbit satellite resource unit SAT01 also contains current operating mode parameters, which are a high-dimensional state vector. Specifically, these parameters include the satellite's current three-axis attitude angles: a roll angle of -2.5 degrees, a pitch angle of 1.8 degrees, and a yaw angle of 0.1 degrees. It also includes the satellite's attitude maneuverability limits: a maximum adjustable roll rate of 0.8 degrees per second, a maximum adjustable pitch rate of 0.7 degrees per second, and a maximum adjustable yaw rate of 0.5 degrees per second. These parameters together constitute the initial state and physical constraints for the satellite to execute a new mission. All data from observation mission requirement units and on-orbit satellite resource units are stored in a distributed cache system.
[0015] Step S120: Perform observation task decomposition processing on the task requirement description information set, generate multiple corresponding atomic observation task units based on the task coverage area range information and task imaging angle constraint information of each observation task requirement unit, and obtain an atomic observation task set. Each atomic observation task unit has task execution time window requirements and task attitude adjustment range requirements.
[0016] Step S121: Analyze the task coverage area range information contained in each observation task requirement unit, calculate the coverage area area parameter and coverage area geometric complexity parameter corresponding to the task coverage area range information based on the spatial distribution range boundary coordinates of the task coverage area range information, and obtain the coverage area area parameter set and coverage area geometric complexity parameter set.
[0017] For each observation task requirement unit obtained in step S110, taking the observation task requirement unit identified by task identifier TASK001 as an example, the task coverage area information within it is first extracted through a parsing program, namely the polygon formed by multiple latitude and longitude coordinate points such as P001, P002, P003, and P004. This polygon is represented as a series of ordered vector coordinate points. To calculate the area covered by this polygon, the formula for calculating the area of a spherical polygon is used. The calculation process first converts each latitude and longitude coordinate point into a three-dimensional coordinate point in a geocentric rectangular coordinate system. For example, the latitude and longitude of point P001 are converted to geocentric rectangular coordinates X001, Y001, and Z001, point P002 is converted to X002, Y002, and Z002, and so on. Then, using these three-dimensional coordinate points, the spherical angular hyperbole of each side on the great circle is calculated according to the formula for the area of a spherical polygon. The total spherical angular hyperbole of the polygon is accumulated. Finally, based on the Earth's radius R (approximately 6371 kilometers), the spherical angular hyperbole is converted into a coverage area parameter in square kilometers, resulting in the coverage area parameter A_T001, which is a scalar value.
[0018] In addition, to quantify the complexity of the region, the geometric complexity parameter of the covered area is calculated. The calculation method for the geometric complexity parameter of the coverage area is as follows: First, calculate the minimum bounding rectangle of the polygon. By traversing the longitude and latitude of all vertices, find the minimum longitude value, maximum longitude value, minimum latitude value, and maximum latitude value. The rectangle determined by these four values is the minimum bounding rectangle, and obtain its area, i.e., the area of the minimum bounding rectangle A_MBR_T001. Then, perform a ratio operation between the coverage area parameter A_T001 and the area of the minimum bounding rectangle A_MBR_T001 to obtain the shape compactness ratio R_COMP_T001, which is equal to A_T001 divided by A_MBR_T001. Since this ratio is close to 1 for regular shapes, while it is much less than 1 for narrow or irregular shapes, the reciprocal of the shape compactness ratio R_COMP_T001 is defined as the geometric complexity parameter C_T001 of the coverage area, i.e., C_T001 is equal to 1 divided by R_COMP_T001. If A_T001 is much smaller than A_MBR_T001, it indicates that the region is long and narrow, and the value of C_T001 is relatively large, for example, greater than 2. Traverse all observation task requirement units in the task requirement description information set data container, and perform the above parsing and calculation for each unit. Finally, obtain a set of coverage area parameters, denoted as {A_T001, A_T002, ...}, and a set of coverage area geometric complexity parameters, denoted as {C_T001, C_T002, ...}. These two sets are associated with the original observation task requirement units through their respective task identifiers.
[0019] Step S122: Based on the coverage area parameter and the coverage area geometric complexity parameter, call the decomposition model to perform gridding on the continuous coverage area corresponding to the observation task requirement unit, generate multiple sub-task coverage area units with independent coverage area coordinate sets, each sub-task coverage area unit satisfies the preset single maximum observable area constraint condition, and obtain the sub-task coverage area unit set.
[0020] Next, a pre-built decomposition model stored in the system is invoked. The core of this model is an adaptive mesh generation algorithm. Taking the observation task requirement unit TASK001 as an example, its coverage area parameter A_T001 and coverage area geometric complexity parameter C_T001, along with the polygons described by its task coverage area information, are input into the decomposition model. The model first reads a preset single-shot maximum observable area constraint, denoted as A_MAX, which is a constant determined by the satellite sensor swath width and the longest allowed imaging time, for example, 100 square kilometers. Based on the ratio of A_T001 to A_MAX, the model determines an initial mesh generation level. However, this initial level is modulated by C_T001: if the C_T001 value is high, for example greater than 2.5, it indicates that the region shape is extremely complex, requiring at least one additional subdivision based on the initial mesh to avoid excessively rugged or uneven sub-region boundaries. The specific partitioning process employs quadtree spatial partitioning logic: the original polygonal bounding box is taken as the root node, and it is recursively divided into four parts. After each partition, it is checked whether the polygonal sub-region corresponding to each child node simultaneously satisfies two conditions: first, its area is less than or equal to A_MAX; second, the geometric complexity parameter of its own coverage area (i.e., the reciprocal of the ratio of the area of the sub-region itself to the area of its smallest bounding rectangle) is not less than a preset complexity threshold (e.g., 1.8, to avoid generating excessively long and narrow sub-regions). When all sub-regions satisfy the conditions, the recursion stops. At this point, the polygonal sub-region corresponding to each leaf node becomes a subtask coverage area unit. For example, after the observation task requirement unit TASK001 is processed by the decomposition model, it may generate subtask coverage area units T001_SUB01, T001_SUB02, T001_SUB03, etc. Each unit has an independent set of coordinates describing its own boundary. For example, the boundary of T001_SUB01 is composed of points P001, P002 and partitioning points Q001, Q002. Therefore, for each original observation task requirement unit, its corresponding sub-task coverage area unit set is obtained, denoted as S_SET_T001.
[0021] Step S123: Extract the mission imaging angle constraint information corresponding to each sub-task coverage area unit, and calculate the optimal roll angle parameter and optimal pitch angle parameter required to execute the sub-task coverage area unit based on the geometric relationship between the center point coordinates of the sub-task coverage area unit and the satellite nadir point trajectory at the corresponding orbital altitude, so as to obtain the optimal roll angle parameter set and the optimal pitch angle parameter set.
[0022] For each subtask coverage area unit generated, such as T001_SUB01, its geometric center coordinates are first calculated. These coordinates are not simply latitude and longitude averages, but are obtained by calculating the average vector of all vertices of the polygon in Cartesian coordinates and then projecting it back onto the sphere. This center coordinate is denoted as C_T001_S01, specifically 39°54′17″N 116°23′50″E. To match the most suitable satellites and observation timing for this subtask in subsequent steps, the theoretically optimal observation attitude needs to be pre-calculated. This calculation is based on the geometric relationship between satellite orbit prediction data and the target point. Specifically, the system first predicts the nadir trajectories of all satellites over a period of time (e.g., the next 24 hours) based on the orbital elements of the satellite constellation. For the subtask coverage area unit T001_SUB01, its center point C_T001_S01 is a fixed ground point. When a satellite, such as SAT01, passes nearby, the satellite, the Earth's center, and point C_T001_S01 form a plane. By solving for the angle of the satellite's line-of-sight vector relative to the orbital coordinate system in the satellite's body coordinate system when the satellite's sensor line-of-sight vector points to C_T001_S01 on this plane, the optimal roll angle parameter R_T001_S01 and the optimal pitch angle parameter P_T001_S01 can be calculated. This calculation process traverses the entire forecast period, obtaining a series of optimal attitude angles associated with timestamps. However, in this step, only the set of attitude angles that best achieves the optimal observation geometry is taken as the representative optimal attitude for this sub-task. This operation is performed on all sub-task coverage area units to obtain the corresponding set of optimal roll angle parameters, denoted as {R_T001_S01, R_T001_S02, ...}, and the corresponding set of optimal pitch angle parameters, denoted as {P_T001_S01, P_T001_S02, ...}.
[0023] Step S124: Perform a matching degree analysis between the optimal roll angle parameter and the optimal pitch angle parameter and the attitude maneuverability upper limit parameter of each candidate on-orbit satellite resource unit. For sub-task coverage area units that exceed the attitude maneuverability upper limit parameter, perform secondary segmentation processing on the sub-task coverage area unit according to the satellite attitude maneuverability upper limit parameter to generate the final sub-task coverage area unit that satisfies the attitude maneuverability constraint, and obtain the final sub-task coverage area unit set.
[0024] During the planning phase, although the specific satellite to perform the mission has not yet been determined, pre-screening can be conducted based on the constellation's general capabilities. The optimal roll angle parameter, e.g., R_T001_S01, and the optimal pitch angle parameter, e.g., P_T001_S01, for each sub-mission are compared with the maximum maneuverability of typical satellites in the constellation, e.g., the maximum permissible roll angle R_MAX (assumed to be 30 degrees) and the maximum permissible pitch angle P_MAX (assumed to be 20 degrees). If the absolute value of R_T001_S01 is less than or equal to R_MAX and the absolute value of P_T001_S01 is less than or equal to P_MAX, then the sub-mission unit passes the initial screening. If a sub-mission, e.g., T001_SUB05, requires an optimal roll angle parameter R_T001_S05 of 35 degrees, which is greater than R_MAX's 30 degrees, this means that a single large-angle side-swing cannot completely cover the area, or the imaging quality will be severely degraded due to the excessive angle. In this case, a secondary segmentation mechanism is triggered. This mechanism divides the sub-task coverage area unit T001_SUB05 along the vertical direction of the approximate satellite nadir trajectory. The division algorithm is as follows: First, the minimum bounding rectangle of the unit is determined. Then, it is divided into two or more smaller final sub-task coverage area units along the long side of the rectangle, such as F_T001_S05A and F_T001_S05B. The center point coordinates and corresponding optimal attitude angles of these new units are recalculated. For example, the required roll angle for F_T001_S05A becomes 28 degrees, and the required roll angle for F_T001_S05B becomes 26 degrees, ensuring that the absolute values of the attitude angles required by all new units do not exceed the satellite's attitude maneuverability limits R_MAX and P_MAX. Finally, all units that meet the constraints after preliminary matching degree analysis or secondary division constitute the final sub-task coverage area unit set F_SET_T001.
[0025] Step S125: Assign a unique atomic observation task identifier to each final subtask coverage area unit, and calculate the task execution time window requirements required to complete the observation of the final subtask coverage area unit based on the spatial position coordinates and task imaging angle constraint information of the final subtask coverage area unit. The task execution time window requirements include the observable start time point and the observable end time point, thus obtaining a set of task execution time window requirements.
[0026] For each cell in the final sub-task coverage area cell set F_SET_T001, such as F_T001_S05A, a globally unique atomic observation task identifier is assigned, such as A_T001_S05A. Next, based on the spatial coordinates of the final sub-task coverage area cell (i.e., its center point C_F_05A) and the task imaging angle constraint information (i.e., the roll angle range of -15 degrees to +15 degrees and the elevation angle range of -10 degrees to +10 degrees inherited from the original task), combined with satellite orbit predictions, the time period for effective observation of that cell is calculated. The calculation process is as follows: for each satellite, its transit process is simulated, and the continuous time periods in which the satellite attitude angles simultaneously fall within the above constraints are identified. For example, for satellite SAT01, the time period that satisfies the angle constraints for imaging F_T001_S05A is from 2:18:30 AM to 2:19:10 PM UTC on May 20, 2024. The start and end points of this time period constitute a task execution time window requirement for this atomic observation task unit. Due to the different orbits of different satellites, the same atomic observation task unit may correspond to multiple non-overlapping task execution time window requirements. In this step, all the above possible windows are summarized to form a set of task execution time window requirements for this atomic observation task unit, denoted as W_SET_A001, where each element contains an observable start time point and an observable end time point. This process is performed on all final sub-task coverage area units to obtain the set of task execution time window requirements corresponding to all atomic observation task units.
[0027] Step S126: Calculate the attitude adjustment angle change and attitude adjustment angular velocity change required to switch from the current working mode to execute the observation task based on the optimal roll angle parameter and optimal pitch angle parameter corresponding to each final sub-task coverage area unit. Generate the task attitude adjustment range requirement corresponding to each atomic observation task unit. The task attitude adjustment range requirement includes the roll axis adjustment angle value, the pitch axis adjustment angle value and the maximum angular velocity requirement value, and obtain the task attitude adjustment range requirement set.
[0028] Taking the atomic observation mission unit A_T001_S05A as an example, its optimal roll angle parameter R_F_05A and optimal pitch angle parameter P_F_05A have already been determined in the previous step. To quantify the consumption of the satellite's attitude maneuvering capability by executing this mission, it is necessary to calculate the attitude adjustment magnitude. The attitude adjustment magnitude is not simply equal to the absolute value of the optimal angle, but rather the difference from the satellite's current attitude. However, since a specific satellite has not yet been assigned, a relative value is calculated. Assuming that the satellite typically starts maneuvering from a nominal Earth-pointing attitude when executing this mission, then the roll axis adjustment angle value R_ADJ_A001 is equal to the absolute value of R_F_05A, and the pitch axis adjustment angle value P_ADJ_A001 is equal to the absolute value of P_F_05A. More refined calculations would consider the possible attitude of the satellite after executing the previous mission, but in this preprocessing stage, the difference from the nominal attitude is used as a representative value. Simultaneously, considering the duration of the mission execution time window, such as a 40-second window in W_SET_A001, a maximum angular velocity requirement can be estimated. For instance, if an attitude adjustment of R_ADJ_A001 degrees (assumed to be 28 degrees) needs to be completed within 40 seconds, the required average angular velocity is 0.7 degrees per second. However, considering the smoothness of the adjustment process, the actual maximum angular velocity requirement M_RATE_A001 may be slightly higher than the average, for example, set to 0.75 degrees per second. This maximum angular velocity requirement is used to subsequently determine whether the satellite's maneuverability is met. Therefore, a mission attitude adjustment range requirement is generated for atomic observation mission unit A_T001_S05A. This requirement is a triple, including the roll axis adjustment angle value R_ADJ_A001, the pitch axis adjustment angle value P_ADJ_A001, and the maximum angular velocity requirement value M_RATE_A001. This process is performed on all atomic observation mission units to obtain a set of mission attitude adjustment range requirements.
[0029] Step S127: Associate and store the atomic observation task identifier with the corresponding task execution time window requirement set and task attitude adjustment range requirement to construct an atomic observation task unit description table. Each record in the atomic observation task unit description table contains the atomic observation task identifier, task execution time window requirement and task attitude adjustment range requirement, thus obtaining an atomic observation task set.
[0030] Finally, all the data generated in steps S125 and S126 are integrated. A logical data structure named "Atomic Observation Mission Unit Description Table" is constructed and stored in a relational database. Each record in the table corresponds to one atomic observation mission unit. For example, for the atomic observation mission unit A_T001_S05A, the record contains three core fields: the first field is the atomic observation mission identifier, stored as the string "A_T001_S05A"; the second field is the mission execution time window requirement, which is a nested data structure storing a list, each item of which is a smaller structure containing the observable start time and observable end time, such as "{start:'2024-05-2002:18:30', end:'2024-05-2002:19:10'}, {start:'2024-05-20 04:52:00', end:'2024-05-20 04:52:35'}"; the third field is the mission attitude adjustment range requirement, stored as a structure containing a roll axis adjustment angle of 28 degrees, a pitch axis adjustment angle of 12 degrees, and a maximum angular velocity requirement of 0.75 degrees per second. The atomic observation task records generated by processing all the original observation task request units in step S120 are summarized together to form the complete atomic observation task set A_SET. This set is the basis for all subsequent resource matching and scheduling optimization.
[0031] Step S130: Perform initial matching processing on the atomic observation task set and the satellite resource status description information set. Based on the time overlap between the task execution time window requirements of each atomic observation task unit and the resource availability time window of each on-orbit satellite resource unit, as well as the compatibility between the task attitude adjustment range requirements of each atomic observation task unit and the current working mode parameters of each on-orbit satellite resource unit, candidate on-orbit satellite resource units are selected for each atomic observation task unit, and an initial matching relationship set is generated.
[0032] Step S131: Traverse each atomic observation task unit in the atomic observation task set, extract the observable start time point and observable end time point in the task execution time window requirement of the atomic observation task unit, and obtain the time window interval of the atomic observation task unit.
[0033] Taking the atomic observation mission unit A_T001_S05A as an example, the mission execution time window requirement field is extracted from the atomic observation mission unit description table. This field contains one or more time windows. For each specific window, such as window W01, its observable start time point TS_W01_A01, with a value of 2:18:30 UTC on May 20, 2024, and its observable end time point TE_W01_A01, with a value of 2:19:10 UTC on May 20, 2024, are extracted. The continuous time period defined by these two time points TS_W01_A01 and TE_W01_A01 is defined as a time window interval I_A01_W01 for this atomic observation mission unit. By traversing all its windows, a list of all its time window intervals is obtained.
[0034] Step S132: Traverse each on-orbit satellite resource unit in the satellite resource status description information set, extract the available start time point and available end time point in the resource availability time window of the on-orbit satellite resource unit, and obtain the resource availability interval of the on-orbit satellite resource unit.
[0035] Simultaneously, each on-orbit satellite resource unit in the satellite resource status description information set is traversed. Taking on-orbit satellite resource unit SAT01 as an example, a list of available resource time windows is extracted from its data structure. For the first available window in the list, its available start time point TS_S01_1, with a value of 2:15:00 UTC on May 20, 2024, and its available end time point TE_S01_1, with a value of 2:35:00 UTC on May 20, 2024, are extracted. The time period defined by TS_S01_1 and TE_S01_1 is defined as a resource availability interval I_S01_1 for on-orbit satellite resource unit SAT01. Similarly, a list of all its resource availability intervals is obtained.
[0036] Step S133: Calculate the time overlap between the time window interval of each atomic observation task unit and the resource availability interval of each on-orbit satellite resource unit. If the time overlap is greater than zero, it is determined that there is a time overlap relationship. Record the correspondence between the atomic observation task identifier and the satellite identifier with the time overlap relationship, and generate a preliminary time matching relationship set.
[0037] For each time window interval of the atomic observation mission unit A_T001_S05A, such as I_A01_W01, and each available resource interval of the on-orbit satellite resource unit SAT01, such as I_S01_1, the degree of temporal overlap between them is calculated. The calculation method is to take the larger of the start times of the two intervals as the overlap start point T_OV_START, and the smaller of the end times of the two intervals as the overlap end point T_OV_END. If T_OV_START is less than T_OV_END, then the overlap duration D_OV is equal to T_OV_END minus T_OV_START; a value greater than zero indicates a temporal overlap relationship. For example, the start time (02:18:30) and end time (02:19:10) of I_A01_W01, and the start time (02:15:00) and end time (02:35:00) of I_S01_1, yield T_OV_START of 02:18:30, T_OV_END of 02:19:10, and D_OV of 40 seconds, all greater than zero. Therefore, the atomic observation mission identifier A_T001_S05A and the satellite identifier SAT01 have a time overlap. This correspondence is written to a temporary relation table TEMP_MATCH, where each record contains the atomic observation mission identifier, the satellite identifier, and the specific overlapping interval information. After traversing all atomic observation missions and all on-orbit satellite resource units, a preliminary time matching relation set M_SET_TIME is obtained.
[0038] Step S134: For each correspondence in the preliminary time matching relationship set, extract the roll axis adjustment angle value, pitch axis adjustment angle value, and maximum angular velocity requirement value from the task attitude adjustment range requirement of the corresponding atomic observation task unit, and extract the current roll angle value, current pitch angle value, maximum adjustable roll angular velocity value, and maximum adjustable pitch angular velocity value from the resource current working mode parameters of the corresponding on-orbit satellite resource unit.
[0039] For each record in the initial time matching set M_SET_TIME, such as record (A_T001_S05A, SAT01), further compatibility analysis is performed. The mission attitude adjustment range requirements for A_T001_S05A are extracted from the atomic observation mission set, yielding a roll axis adjustment angle value R_ADJ_A001 of 28 degrees, a pitch axis adjustment angle value P_ADJ_A001 of 12 degrees, and a maximum angular velocity requirement value M_RATE_A001 of 0.75 degrees per second. The current resource operating mode parameters for SAT01 are extracted from the satellite resource status description information set, yielding a current roll angle value R_CUR_S01 of -2.5 degrees, a current pitch angle value P_CUR_S01 of 1.8 degrees, a maximum adjustable roll angular velocity value R_MAX_S01 of 0.8 degrees per second, and a maximum adjustable pitch angular velocity value P_MAX_S01 of 0.7 degrees per second.
[0040] Step S135: Calculate the required rolling axis adjustment amount based on the rolling axis adjustment angle value and the current rolling angle value; calculate the required pitch axis adjustment amount based on the pitch axis adjustment angle value and the current pitch angle value; use the ratio of the required rolling axis adjustment amount to the maximum adjustable rolling angular velocity value as the estimated rolling axis adjustment time; use the ratio of the required pitch axis adjustment amount to the maximum adjustable pitch angular velocity value as the estimated pitch axis adjustment time.
[0041] Calculate the required roll axis adjustment. The required roll axis adjustment R_REQ_A001_S01 is equal to the absolute value of the difference between the target roll axis adjustment angle value R_ADJ_A001 and the current satellite roll angle value R_CUR_S01, i.e., R_ADJ_A001 minus the absolute value of R_CUR_S01. Calculate the required pitch axis adjustment P_REQ_A001_S01, which is equal to the absolute value of the difference between the target pitch axis adjustment angle value P_ADJ_A001 and the current satellite pitch angle value P_CUR_S01, i.e., P_ADJ_A001 minus the absolute value of P_CUR_S01. Then, calculate the estimated roll axis adjustment time T_R_EST_A001_S01, which is equal to the required roll axis adjustment R_REQ_A001_S01 divided by the maximum adjustable roll angular velocity value R_MAX_S01. Calculate the pitch axis adjustment time estimate T_P_EST_A001_S01, which is equal to the required pitch axis adjustment P_REQ_A001_S01 divided by the maximum adjustable pitch angular velocity value P_MAX_S01.
[0042] Step S136: Determine whether the estimated value of the roll axis adjustment time and the estimated value of the pitch axis adjustment time are both less than the preset maximum allowable time threshold for attitude adjustment, and determine whether the maximum angular velocity requirement value is less than the maximum adjustable roll angular velocity value and the maximum adjustable pitch angular velocity value. If all conditions are met, it is determined that the task attitude adjustment range requirement of the atomic observation task unit is compatible with the current working mode parameters of the on-orbit satellite resource unit.
[0043] A preset maximum allowable attitude adjustment time threshold T_MAX_ALLOW is read, for example, 60 seconds. The estimated roll axis adjustment time T_R_EST_A001_S01 (38.125 seconds) and the estimated pitch axis adjustment time T_P_EST_A001_S01 (14.571 seconds) calculated in step S135 are compared with T_MAX_ALLOW. Both are less than 60 seconds, satisfying the first condition. Next, the maximum angular velocity requirement value M_RATE_A001 (0.75 degrees per second) of the atomic observation mission unit is compared with the satellite's maximum adjustable roll angular velocity value R_MAX_S01 (0.8 degrees per second) and maximum adjustable pitch angular velocity value P_MAX_S01 (0.7 degrees per second). M_RATE_A001 is less than R_MAX_S01, but is it less than P_MAX_S01? 0.75 degrees per second is greater than 0.7 degrees per second, therefore the second condition is not satisfied. Therefore, for record (A_T001_S05A, SAT01), since the maximum angular velocity requirement exceeds the satellite's maximum pitch axis maneuverability, it is determined that the mission attitude adjustment range requirement of this atomic observation mission unit is not compatible with the current operating mode parameters of the on-orbit satellite resource unit SAT01. If all conditions are met, it is determined that a compatibility relationship exists.
[0044] Step S137: Summarize the correspondence between all atomic observation mission identifiers and satellite identifiers that simultaneously satisfy the time overlap relationship and compatibility relationship, select candidate on-orbit satellite resource units for each atomic observation mission unit, and construct an initial matching relationship set containing a list of correspondences between atomic observation mission identifiers and candidate satellite identifiers. In the initial matching relationship set, each atomic observation mission identifier is associated with at least one candidate satellite identifier.
[0045] After the time overlap filtering in step S133 and the compatibility filtering in step S136, only correspondences that simultaneously meet both conditions are retained. For example, suppose that for atomic observation mission unit A_T001_S05A, in addition to SAT01, it also has a time overlap with satellite SAT02, and in the check in step S136, its maximum angular velocity requirement of 0.75 degrees per second is less than SAT02's maximum adjustable roll angular velocity of 0.9 degrees per second and maximum adjustable pitch angular velocity of 0.8 degrees per second, and the estimated adjustment time is also less than T_MAX_ALLOW. Then, the correspondence (A_T001_S05A, SAT02) is retained. After traversing all preliminary time matching relationships, all retained correspondences are summarized. Then, using the atomic observation mission identifier as the key, all the corresponding satellite identifiers that passed the filtering are organized into a list. For example, the candidate satellite identifier list for atomic observation mission unit A_T001_S05A is [SAT02, SAT05], while the candidate satellite identifier list for another atomic observation mission unit A_T002_S01B might be [SAT01, SAT03, SAT04]. Ultimately, a complete initial matching relationship set M_SET_FIRST is constructed. This set is essentially a mapping table from atomic observation mission identifiers to candidate satellite identifier lists, where each atomic observation mission identifier is associated with at least one candidate satellite identifier.
[0046] Step S140: Construct a task resource conflict hypergraph structure based on the initial matching relationship set and the atomic observation task set. The task resource conflict hypergraph structure uses each atomic observation task unit as a hypergraph node, and connects multiple atomic observation task units that share the same candidate on-orbit satellite resource unit conflict relationship through hyperedges.
[0047] Step S141: Define each atomic observation task unit in the atomic observation task set as a hypergraph node in the task resource conflict hypergraph structure, and assign a unique hypergraph node identifier to each hypergraph node. Establish a one-to-one mapping relationship between the hypergraph node identifier and the atomic observation task identifier.
[0048] First, obtain each atomic observation task unit in the atomic observation task set A_SET, such as A_T001_S05A, A_T001_S05B, A_T002_S01B, etc. Construct a graph data structure in memory, abstracting each atomic observation task unit as a node in the graph. For convenient referencing in graph theory processing, assign each node a unique hypergraph node identifier within this hypergraph structure. For example, atomic observation task unit A_T001_S05A corresponds to hypergraph node N001, A_T001_S05B corresponds to N002, A_T002_S01B corresponds to N003, and so on. Establish a bidirectional mapping table MAP_NODE_TASK, so that A_T001_S05A can be found through N001, and N001 can be found through A_T001_S05A. This completes the transformation from atomic observation task units to hypergraph nodes.
[0049] Step S142: Traverse the initial matching relationship set, extract the candidate satellite identifier list corresponding to each atomic observation task identifier, count the number of times each candidate satellite identifier is shared by different atomic observation task identifiers, and obtain the shared task quantity parameter corresponding to each candidate satellite identifier.
[0050] Iterate through the initial matching set M_SET_FIRST. For each entry, such as the atomic observation task identifier A_T001_S05A, its candidate satellite identifier list is [SAT02, SAT05]. Iterate through each satellite identifier in this list. Maintain a counter for each satellite identifier. For example, initialize a dictionary D_SAT_COUNT, with the satellite identifier as the key and the number of times it is shared as the value. When processing A_T001_S05A, for SAT02, increment the value corresponding to SAT02 in D_SAT_COUNT by 1; for SAT05, increment the value corresponding to SAT05 in D_SAT_COUNT by 1. Continue processing the next atomic observation task unit, such as A_T002_S01B, whose candidate list is [SAT01, SAT03, SAT04], and increment the counts of SAT01, SAT03, and SAT04 respectively. Next, the next atomic observation task unit A_T003_S02C is processed. Its candidate list is [SAT02, SAT03], so the counts of SAT02 and SAT03 are incremented again. After the traversal is complete, D_SAT_COUNT records how many different atomic observation task units are candidates for each satellite identifier. This count value is the shared task quantity parameter corresponding to each candidate satellite identifier, denoted as C_SAT_SAT02, C_SAT_SAT03, etc.
[0051] Step S143: For each candidate satellite identifier whose shared task quantity parameter is greater than the preset shared threshold, combine the hypergraph node identifiers mapped to all atomic observation task identifiers corresponding to the candidate satellite identifier to construct a hyperedge with these hypergraph node identifiers as connection objects, and obtain the initial hyperedge set.
[0052] Set a preset sharing threshold T_SHARE, for example, T_SHARE equals 2. Iterate through the dictionary D_SAT_COUNT generated in step S142. For satellite identifier SAT02, if its shared task quantity parameter C_SAT_SAT02 equals 3, which is greater than T_SHARE, then a hyperedge needs to be constructed for it. First, find all atomic observation task identifiers in the initial matching relationship set M_SET_FIRST that list SAT02 as a candidate satellite. Assume there are A_T001_S05A, A_T003_S02C, and A_T004_S01D. Through the mapping table MAP_NODE_TASK, convert the above atomic observation task identifiers into hypergraph node identifiers N001, N010, and N015. Then, create a hyperedge E01, which is a set containing nodes N001, N010, and N015. For satellite identifier SAT03, if its C_SAT_SAT03 equals 2, which is exactly equal to T_SHARE, no hyperedge is constructed for it because the condition is greater than. If C_SAT_SAT03 equals 4, then a hyperedge is constructed for it, for example, E02, which contains nodes N003, N008, N011, and N020. After traversing all satellite identifiers whose shared task quantity parameter is greater than T_SHARE, the initial hyperedge set E_SET_INIT is obtained.
[0053] Step S144: Extract the task execution time window requirements of all atomic observation task units involved in each initial hyperedge. Calculate the time window overlap parameter between any two atomic observation task units within the hyperedge based on the observable start time and observable end time of each atomic observation task unit. Calculate the average value of all time window overlap parameters as the temporal conflict intensity index of the hyperedge.
[0054] For each hyperedge in the initial hyperedge set E_SET_INIT, such as E01, it contains nodes N001, N010, and N015. Using the mapping table MAP_NODE_TASK, the corresponding atomic observation task units A_T001_S05A, A_T003_S02C, and A_T004_S01D are found. The task execution time window requirements for these three units are extracted from the atomic observation task set A_SET. For hyperedge E01, the temporal conflict intensity of its internal nodes needs to be quantified. Therefore, the time window overlap between each pair is calculated. Taking A_T001_S05A and A_T003_S02C as examples, all their time window intervals are obtained. The overlap duration between all possible window pairs is calculated, and the maximum overlap duration is taken as the time window overlap parameter D_OV_12 between these two tasks. Similarly, calculate D_OV_13 between A_T001_S05A and A_T004_S01D, and D_OV_23 between A_T003_S02C and A_T004_S01D. Then, calculate the average of these overlap parameters, i.e., (D_OV_12 + D_OV_13 + D_OV_23) divided by 3, to obtain the temporal conflict intensity index I_TIME_E01 for the hyperedge E01. This index reflects the intensity of time competition among these tasks sharing the same satellite resources.
[0055] Step S145: Calculate the conflict weight parameter of each initial hyperedge based on the shared task quantity parameter of the candidate satellite identifier corresponding to each hyperedge and the temporal conflict intensity index of the hyperedge. The conflict weight parameter is positively correlated with the shared task quantity parameter and the temporal conflict intensity index, thus obtaining a set of hyperedges containing the conflict weight parameter.
[0056] For hyperedge E01, its corresponding candidate satellite identifier is SAT02, and the shared task quantity parameter C_SAT_SAT02 for this satellite is 3. Simultaneously, the temporal conflict intensity index I_TIME_E01 was calculated in the previous step. The conflict weight parameter W_E01 is calculated by multiplying C_SAT_SAT02 by I_TIME_E01, then by a preset scaling factor, or directly as the product of the two. To eliminate the influence of dimensions, C_SAT_SAT02 and I_TIME_E01 can be normalized separately before multiplication, but in this example, for simplicity, the product form is used directly, i.e., W_E01 equals C_SAT_SAT02 multiplied by I_TIME_E01. The larger this value, the more intense the resource competition represented by the hyperedge. In subsequent clustering, nodes within the hyperedge should be grouped into the same task cluster to centrally handle their conflicts. Perform this calculation on all hyperedges to obtain a set of hyperedges E_SET_W containing conflict weight parameters, where each hyperedge element is assigned a weight value W.
[0057] Step S146: Associate the hypergraph node identifier with the set of hyperedges containing conflict weight parameters to construct a complete task resource conflict hypergraph structure. In the task resource conflict hypergraph structure, each hyperedge connects at least two hypergraph nodes, and each hyperedge has a unique conflict weight parameter.
[0058] Finally, all hypergraph nodes (N001, N002, ...) and all weighted hyperedges (E01withW_E01, E02withW_E02, ...) are integrated to construct a complete data structure, namely the task resource conflict hypergraph structure H. This structure can be stored in memory in the form of an adjacency list or an incidence matrix. For example, in the incidence matrix, rows represent hypergraph nodes, columns represent hyperedges, and a matrix element of 1 indicates that a node belongs to that hyperedge, otherwise it is 0. Simultaneously, a one-dimensional array is maintained to store the conflict weight parameter W for each hyperedge. At this point, a hypergraph model H that clearly characterizes the complex conflict relationships between atomic observation tasks due to the sharing of scarce satellite resources is completed, and it will serve as the input for the next step of optimized allocation.
[0059] Step S150: Call the optimization allocation model to perform node clustering and partitioning on the task resource conflict hypergraph structure. Divide the atomic observation task unit into multiple weak conflict task clusters according to the conflict weight parameters of the hyperedges. Allocate target on-orbit satellite resource units to the atomic observation task units in each weak conflict task cluster and determine the start and end times of the specific task execution to generate a resource allocation and scheduling scheme.
[0060] Step S151: Input the task resource conflict hypergraph structure into the node clustering module of the optimization allocation model, and perform iterative clustering and partitioning of the hypergraph nodes according to the conflict weight parameters of the hyperedges, so that the sum of the conflict weight parameters of the hyperedges within the same task cluster is maximized and the sum of the conflict weight parameters of the hyperedges between different task clusters is minimized, generating a clustering partitioning result containing multiple weak conflict task clusters, each weak conflict task cluster containing at least one atomic observation task unit corresponding to a hypergraph node.
[0061] The optimization allocation model first loads the task resource conflict hypergraph structure H. Its internal node clustering module executes a hypergraph-based clustering algorithm, aiming to divide the node set into several subsets (i.e., task clusters) such that the sum of the weights of hyperedges within the same subset is as large as possible, while the sum of the weights of hyperedges connecting different subsets is as small as possible. Within each subset, the resource competition between tasks is most intense, while the mutual influence between subsets is weakened, thus decomposing a large-scale global optimization problem into several relatively independent subproblems.
[0062] Step S1511: Initialize each hypergraph node as an independent task cluster, calculate the sum of the initial inter-cluster conflict weight parameters among all current task clusters, the sum of the initial inter-cluster conflict weight parameters being equal to the sum of the conflict weight parameters of all hyperedges connecting different task clusters.
[0063] When the clustering module starts running, it first performs initialization. Each node in the hypergraph H, such as N001, N002, N003, etc., is considered an independent task cluster. At this point, any hyperedge that connects two or more nodes must connect to different task clusters. Therefore, the initial sum of inter-cluster conflict weight parameters, TOTAL_INTER_INIT, is equal to the sum of the conflict weight parameters W of all hyperedges in the hyperedge set E_SET_W. This sum represents the total number of unresolved global conflicts between all tasks in the current state.
[0064] Step S1512: Calculate the internal conflict weight parameter gain value of the new task cluster formed after merging any two adjacent task clusters. The internal conflict weight parameter gain value is equal to the sum of the conflict weight parameters of all hyperedges located inside the two task clusters before merging minus the sum of the conflict weight parameters of all hyperedges inside the new task cluster after merging, thus obtaining the gain value matrix.
[0065] Next, for any two task clusters C_i and C_j, if they are connected by at least one hyperedge, they are called adjacent task clusters. We can simulate merging C_i and C_j into a new cluster C_new. Before merging, the hyperedges located inside C_i and C_j respectively refer to those whose connected nodes are all within C_i or all within C_j; the sum of the weights of these hyperedges is denoted as W_INTERNAL_BEFORE. After merging, the hyperedges originally connecting C_i and C_j, as well as those hyperedges with some nodes in C_i and some in C_j, now become internal hyperedges of the new cluster C_new. The sum of the weights of the internal hyperedges of the new cluster C_new after merging is denoted as W_INTERNAL_AFTER. Therefore, the gain value G_ij of the internal conflict weight parameter due to the merging operation is equal to W_INTERNAL_AFTER minus W_INTERNAL_BEFORE. Since the number of internal hyperedges increases after merging, G_ij is usually a positive value. The larger the gain value, the more effectively merging the two clusters can transform the original inter-cluster conflicts into intra-cluster conflicts that can be resolved collectively. Calculate G_ij for all adjacent task cluster pairs to form a gain matrix G_MATRIX.
[0066] Step S1513: Select the largest internal conflict weight parameter gain value from the gain value matrix, and determine whether the largest internal conflict weight parameter gain value is greater than the preset merging benefit threshold. If it is greater, merge the two adjacent task clusters corresponding to the largest internal conflict weight parameter gain value to generate an updated task cluster partitioning state.
[0067] Find the largest element, G_MAX, in the gain matrix G_MATRIX. Compare G_MAX with a preset merging benefit threshold, T_MERGE. T_MERGE is a non-negative number used to control the granularity of clustering. If G_MAX is greater than T_MERGE, it means that merging the corresponding two task clusters C_i and C_j can bring significant benefits (i.e., significantly increase the weight of internal conflicts). Therefore, perform the merge operation, merging all nodes in C_i and C_j into the same new cluster, and updating the member list of all task clusters.
[0068] Step S1514: After each merge operation, recalculate the sum of inter-cluster conflict weight parameters between all updated task clusters and the gain value matrix of adjacent task clusters. Repeat the iterative operation of selecting the maximum gain value and merging until the gain value of all adjacent task clusters is not greater than the merge benefit threshold, and stop the iterative clustering process.
[0069] After merging, the entire task cluster partitioning state changes, requiring a recalculation of the sum of inter-cluster conflict weights among all current task clusters, as well as a new matrix of merge gain values for adjacent task cluster pairs. Then, the largest gain value is selected from the new matrix again, compared with T_MERGE, and merging may be performed again. This process iterates. As clusters are continuously merged, inter-cluster conflicts gradually decrease, while intra-cluster conflicts gradually increase. Finally, when all adjacent task cluster pairs are traversed and all possible merge gain values G_ij are found to be less than or equal to T_MERGE, it indicates that the benefits of continued merging are insufficient to compensate for the potentially increased internal solution complexity, and the iteration stops.
[0070] Step S1515: Take each task cluster obtained when the iteration stops as a weakly conflicting task cluster, assign a unique target cluster identifier to each weakly conflicting task cluster, record all hypergraph node identifiers and their corresponding atomic observation task identifiers contained under each target cluster identifier, and generate a clustering partitioning result containing the correspondence between target cluster identifiers and atomic observation task identifiers.
[0071] After the iteration stops, the current task cluster partitioning state is the final clustering result. Each task cluster obtained at this point is defined as a weakly conflicting task cluster. A unique target cluster identifier is assigned to each weakly conflicting task cluster, such as CLUSTER_001, CLUSTER_002, etc. Then, for CLUSTER_001, all hypergraph node identifiers it contains are recorded, such as N001, N003, N010, and the corresponding atomic observation task identifiers A_T001_S05A, A_T002_S01B, and A_T004_S01D are obtained through the mapping table MAP_NODE_TASK. Finally, a clustering result table is generated, where each row contains the target cluster identifier and one atomic observation task identifier within that cluster. This result signifies that the entire scheduling problem has been successfully decomposed into multiple internally highly coupled and externally relatively independent subproblems, laying the foundation for parallel solution.
[0072] Step S152: Traverse each weak conflict task cluster, extract the atomic observation task identifiers corresponding to all atomic observation task units within the weak conflict task cluster, and the candidate satellite identifier list corresponding to each atomic observation task unit, to obtain the candidate satellite resource pool of the weak conflict task cluster.
[0073] Starting with the clustering result table generated in step S1515, taking CLUSTER_001 as an example. First, find all atomic observation task identifiers belonging to CLUSTER_001, assuming they are A_T001_S05A, A_T002_S01B, and A_T004_S01D. Then, for each atomic observation task identifier, find its corresponding candidate satellite identifier list from the initial matching relationship set M_SET_FIRST. Assume the candidate list for A_T001_S05A is [SAT02, SAT05], the candidate list for A_T002_S01B is [SAT01, SAT03, SAT04], and the candidate list for A_T004_S01D is [SAT02, SAT03, SAT06]. The union of all satellite identifiers in the above list yields the set {SAT01, SAT02, SAT03, SAT04, SAT05, SAT06}, which constitutes the candidate satellite resource pool POOL_SAT_C001 for the weak conflict mission cluster CLUSTER_001. This resource pool defines all satellite resources that can be invoked to resolve this subproblem.
[0074] Step S153: Input the candidate satellite resource pool of the weak conflict mission cluster into the resource allocation module of the optimization allocation model, and construct the mission resource allocation optimization problem within the weak conflict mission cluster based on the mission execution time window requirements and mission attitude adjustment range requirements of each atomic observation mission unit, as well as the resource availability time window and current working mode parameters of each candidate on-orbit satellite resource unit.
[0075] The weakly conflicting mission cluster CLUSTER_001, along with its list of atomic observation missions and the candidate satellite resource pool POOL_SAT_C001, are input into the resource allocation module of the optimization allocation model. This module then formally constructs a constraint-satisfying optimization problem based on these inputs.
[0076] Step S1531: Extract the observable start time and observable end time from the task execution time window requirements of each atomic observation task unit within the weak conflict task cluster, and construct a list of optional time intervals for each atomic observation task unit.
[0077] For atomic observation task unit A_T001_S05A within CLUSTER_001, its task execution time window requirements are extracted from the atomic observation task set A_SET to obtain its list of optional time intervals, such as L_A001, which includes intervals [TS_A001_1, TE_A001_1], [TS_A001_2, TE_A001_2], etc. Similarly, L_A002 is constructed for A_T002_S01B, and L_A004 is constructed for A_T004_S01D.
[0078] Step S1532: Extract the available start time and available end time of each candidate on-orbit satellite resource unit in the candidate satellite resource pool of the weak conflict mission cluster, and construct a list of available time intervals for each candidate on-orbit satellite resource unit.
[0079] For satellite SAT01 in the candidate satellite resource pool POOL_SAT_C001, its available time window is extracted from the satellite resource status description information set to obtain its available time interval list, such as L_SAT01, which includes intervals [TS_S01_1, TE_S01_1], [TS_S01_2, TE_S01_2], etc. Similarly, L_SAT02 is constructed for SAT02, and so on, up to SAT06.
[0080] Step S1533: Construct an allocation decision variable for each atomic observation mission unit and its corresponding candidate on-orbit satellite resource unit. The allocation decision variable is used to indicate whether the atomic observation mission unit is allocated to the candidate on-orbit satellite resource unit and the specific start and end times of the mission execution on the candidate on-orbit satellite resource unit.
[0081] Define a three-dimensional allocation decision variable. For example, for the atomic observation mission unit A_T001_S05A and candidate satellite SAT02, define the variable X_A001_SAT02. This variable is not a simple 0 or 1 integer, but a structure. If A_T001_S05A is not assigned to SAT02 in the final allocation scheme, then X_A001_SAT02 is empty. If it is assigned to SAT02, then X_A001_SAT02 contains two subfields: one is the execution start time point T_START_A001_S02, and the other is the execution end time point T_END_A001_S02. T_START_A001_S02 and T_END_A001_S02 must be selected from the list of optional time intervals L_A001 for A_T001_S05A, and their difference is equal to the imaging duration required to execute the mission (a fixed value determined based on the mission area and sensor parameters).
[0082] Step S1534: Based on the roll axis adjustment angle, pitch axis adjustment angle, and maximum angular velocity requirement in the mission attitude adjustment range requirements of each atomic observation mission unit, and the current roll angle, current pitch angle, maximum adjustable roll angular velocity, and maximum adjustable pitch angular velocity in the current working mode parameters of each candidate on-orbit satellite resource unit, calculate the attitude adjustment preparation time required to assign the atomic observation mission unit to the candidate on-orbit satellite resource unit.
[0083] For variable X_A001_SAT02, a key parameter needs to be calculated: attitude adjustment preparation time T_PREP_A001_S02. The calculation method for this time is similar to step S135. First, based on the roll axis adjustment angle value R_ADJ_A001 of A_T001_S05A and the current roll angle value R_CUR_S02 of SAT02, calculate the required roll axis adjustment amount R_REQ, which is the absolute value of R_ADJ_A001 minus R_CUR_S02. Based on the pitch axis adjustment angle value P_ADJ_A001 and the current pitch angle value P_CUR_S02, calculate the required pitch axis adjustment amount P_REQ, which is the absolute value of P_ADJ_A001 minus P_CUR_S02. Then, R_REQ is divided by the maximum adjustable roll angular velocity value R_MAX_S02 of SAT02 to obtain the roll adjustment time T_R; P_REQ is divided by the maximum adjustable pitch angular velocity value P_MAX_S02 of SAT02 to obtain the pitch adjustment time T_P. The attitude adjustment preparation time T_PREP_A001_S02 is taken as the larger of T_R and T_P, because the satellite needs to complete the adjustment of two axes simultaneously before it can begin imaging.
[0084] Step S1535: Combine the list of optional time intervals for each atomic observation task unit, the list of available time intervals for each candidate on-orbit satellite resource unit, each allocation decision variable, and the corresponding attitude adjustment preparation time to construct a task resource allocation optimization problem with the following constraints: minimizing the total task completion time of all atomic observation task units within the weakly conflicting task cluster; each atomic observation task unit must be allocated to a candidate on-orbit satellite resource unit; the start and end times of the task execution of atomic observation task units allocated to each candidate on-orbit satellite resource unit do not overlap; the start and end times of the task execution of each atomic observation task unit are within the available time interval of its corresponding candidate on-orbit satellite resource unit; and time continuity is still satisfied after considering the attitude adjustment preparation time.
[0085] Finally, all information is integrated to form an optimization problem. The optimization objective is to minimize the total task completion time, i.e., minimizing Max(T_END of all tasks) minus Min(T_START of all tasks). Constraints include: First, for each atomic observation task within the cluster, there is one and only one non-empty allocation decision variable X. Second, for the same satellite, such as SAT02, the execution time windows [T_START, T_END] of all its assigned tasks, such as A_T001_S05A and A_T004_S01D, cannot overlap. Furthermore, the end time of the previous task plus the attitude adjustment preparation time calculated for the next task must be less than or equal to the start time of the next task; that is, T_END_A001_S02 plus T_PREP_A004_S02 must be less than or equal to T_START_A004_S02. Third, the [T_START, T_END] of each task must be completely contained within a certain available time interval of the satellite to which it is assigned. Fourth, the task's T_START must be greater than or equal to a start time in its list of optional time intervals, T_END must be less than or equal to the corresponding end time, and T_END minus T_START must equal the task's inherent duration. This well-defined optimization problem will then be fed into the solver for a solution.
[0086] Step S154: Solve the task resource allocation optimization problem based on the constraint satisfaction algorithm, allocate a unique target on-orbit satellite resource unit to each atomic observation task unit in the weak conflict task cluster, and determine the specific task execution start and end time points of the atomic observation task unit on the corresponding target on-orbit satellite resource unit, so that the task execution start and end time points of all atomic observation task units in the weak conflict task cluster are within the resource availability time window of their target on-orbit satellite resource units and do not overlap with each other, while satisfying the task attitude adjustment range requirements of each atomic observation task unit.
[0087] The resource allocation module calls a constraint-based mixed integer programming solver or a dedicated backtracking search algorithm to solve the problem constructed in step S1535.
[0088] Step S1541: Use a backtracking search algorithm to traverse the possible value space of all allocation decision variables in the task resource allocation optimization problem. During the traversal, select a candidate on-orbit satellite resource unit for each atomic observation task unit as a temporary target on-orbit satellite resource unit and preliminarily determine the start and end time points of the temporary task execution on the temporary target on-orbit satellite resource unit.
[0089] The solver begins a backtracking search. First, it selects an atomic observation mission unit, such as A_T001_S05A, and iterates through all possible candidate satellites and possible start times within each of its selectable time windows. It tentatively selects a combination, for example, assigning A_T001_S05A to SAT02, and initially setting the execution time as T_START_temp_A001 as TS_A001_1 (i.e., 02:18:30) and T_END_temp_A001 as TE_A001_1 (02:19:10). This forms a partial assignment.
[0090] Step S1542: After each assignment, call the constraint propagation algorithm to check whether the current partial assignment satisfies all the constraints in the task resource allocation optimization problem. The constraints include that the start and end times of the temporary task execution of the atomic observation task units allocated on each candidate on-orbit satellite resource unit do not overlap and that the start and end times of the temporary task execution of each allocated atomic observation task unit are within the available time interval of the candidate on-orbit satellite resource unit.
[0091] After the assignment, the constraint propagation algorithm is activated, which checks whether all currently assigned variables violate any constraints. For example, currently only A_T001_S05A has been assigned. The check finds that its time window [02:18:30, 02:19:10] is entirely within the available interval of SAT02 [02:15:00, 02:35:00], and there are no other tasks conflicting with it, so the current partial assignment is feasible. The algorithm continues to select the next variable, such as A_T004_S01D, for assignment.
[0092] Step S1543: If the current partial assignment violates any constraints, the backtracking mechanism is triggered to revoke the most recent assignment that caused the conflict and attempt to select another candidate on-orbit satellite resource unit as the temporary target on-orbit satellite resource unit for the atomic observation mission unit. The start and end times of the temporary mission execution are then redefined.
[0093] Suppose that when assigning a value to A_T004_S01D, the solver attempts to assign it to SAT02 as well, selecting a time window [02:18:45, 02:19:25]. At this point, the constraint propagation algorithm finds that this time window overlaps with the already assigned time window of A_T001_S05A [02:18:30, 02:19:10] (from 02:18:45 to 02:19:10), violating the "non-overlapping" constraint. Therefore, a backtracking mechanism is triggered. The solver reverts the current assignment to A_T004_S01D and attempts to select another time window for it, such as [02:20:00, 02:20:40]. If this window does not conflict with A_T001_S05A, it continues. If all possible time windows for SAT02 fail, the solver will backtrack to an earlier decision, such as trying to assign A_T001_S05A to SAT05, and then retrying to assign A_T004_S01D.
[0094] Step S1544: Repeat the assignment operation, constraint propagation check operation, and backtracking operation until a complete feasible solution is obtained by finding temporary target on-orbit satellite resource units and temporary mission execution start and end times that satisfy all constraints for all atomic observation task units within the weak conflict task cluster.
[0095] The search process continues, involving repeated assignments, checks, and backtracking. Finally, a set of assignments is found that ensures all atomic observation task units A_T001_S05A, A_T002_S01B, and A_T004_S01D within the cluster are each assigned a satellite and a specific time window, and all constraints are satisfied. At this point, the solver finds a complete feasible solution.
[0096] Step S1545: Record the total task completion time corresponding to the currently found feasible solution and continue to search for other feasible solutions with smaller total task completion times. Finally, select the feasible solution with the smallest total task completion time as the optimal resource allocation result for this weakly conflicting task cluster.
[0097] The solver records the total task completion time T_total_1 for the currently feasible solution. Then, instead of stopping the search, it continues to look for other possible solutions. By adding a pruning strategy (e.g., pruning a branch if the lower bound of the total task completion time assigned to the current part is already greater than the known optimal solution), the algorithm traverses the entire solution space, finds all feasible solutions, and finally selects the one with the smallest total task completion time as the optimal solution.
[0098] Step S1546: Determine the temporary target on-orbit satellite resource unit allocated to each atomic observation task unit in the optimal resource allocation result as the target on-orbit satellite resource unit, and determine the corresponding temporary task execution start and end time points as the specific task execution start and end time points.
[0099] Transform the temporary assignments in the optimal solution into the final result. For example, in the optimal solution, A_T001_S05A is assigned to SAT02, with execution times of [02:18:30, 02:19:10]. Therefore, the target on-orbit satellite resource unit for A_T001_S05A is SAT02, and the specific task execution start and end times are 02:18:30 and 02:19:10. Similarly, determine the final allocation of all atomic observation task units within the cluster.
[0100] Step S155: Summarize the resource allocation results of all weakly conflicting task clusters, generate a resource allocation record for each atomic observation task unit containing the atomic observation task identifier, target satellite identifier, and task execution start and end time points, sort and combine all resource allocation records according to the atomic observation task identifier, and generate a complete resource allocation and scheduling scheme.
[0101] For all weakly conflicting task clusters, such as CLUSTER_001 and CLUSTER_002, steps S152 to S154 are executed to obtain the optimal resource allocation results within each cluster. Then, these results are summarized. For example, the summarized results are a set of records: Record 1 is (A_T001_S05A, SAT02, 02:18:30, 02:19:10); Record 2 is (A_T002_S01B, SAT03, 03:10:00, 03:10:45); Record 3 is (A_T004_S01D, SAT02, 02:20:00, 02:20:40), and so on. Finally, the records are sorted lexicographically according to the atomic observation task identifiers to form an ordered list. This list is the complete resource allocation and scheduling scheme SCHEDULE_PLAN generated from the initial task requirement description information set and can be directly executed by the satellite constellation. The plan document will be uploaded to the mission control system and distributed to the relevant satellites to guide them in completing subsequent observation tasks.
[0102] Furthermore, the method may also include: Step S160: Input the resource allocation and scheduling scheme into the pre-built task execution simulator. The task execution simulator simulates the process of each target on-orbit satellite resource unit executing the corresponding atomic observation task unit within its resource availability time window according to the target satellite identifier and task execution start and end time points of each atomic observation task unit in the resource allocation and scheduling scheme, and generates the simulation execution result of each atomic observation task unit. The simulation execution result includes a task execution success identifier or a task execution failure identifier and a failure reason code.
[0103] Before the generated resource allocation and scheduling scheme FINAL_SCHEDULE is officially implemented, its feasibility and robustness are verified by inputting it into a pre-built task execution simulator SIM_ENGINE. This simulator is a high-fidelity digital twin system that accurately simulates the orbital dynamics, attitude control system, payload operating modes, and onboard energy and data storage constraints of each in-orbit satellite. The simulator reads each record in FINAL_SCHEDULE. Taking record A_T001_S05A as an example, its target satellite identifier SAT02, mission execution start time T_ST_A001 (02:18:30), and end time T_ED_A001 (02:19:10) are extracted. The simulator loads the accurate orbital and attitude models of satellite SAT02 in the virtual environment. Before the simulation time advances to T_ST_A001, the simulator first checks the energy status of SAT02 to ensure sufficient power to support this imaging operation. Next, the simulated attitude control subsystem maneuvers from its current attitude according to the predetermined attitude adjustment commands, calculates the actual time required to reach the target attitude, and compares it with the mission start time. If, at time T_ST_A001, the satellite fails to stabilize at the target attitude, or if overshoot during attitude adjustment causes a delay in the imaging window, the simulator will record the mission execution status as failed. For example, if the simulator finds that SAT02's actual roll angle at time T_ST_A001 is -2.5 degrees, and it has not yet adjusted to the required angle, it will be unable to start imaging. The simulator will then generate a simulated execution result for this mission, where the mission success identifier is set to False, and the failure reason code is set to "Attitude not ready". Conversely, if the simulator accurately reproduces the entire execution process, the satellite reaches the target attitude on time, the payload is successfully powered on, and image acquisition is completed within the specified time window, and data is successfully recorded, then the mission success identifier is set to True, and the failure reason code is empty. The simulator iterates through all records in the scheme, generating a simulated execution result for each atomic observation mission unit, ultimately obtaining a simulated execution result set SIM_RESULT_SET.
[0104] Step S170: Count the atomic observation task units corresponding to all task execution failure identifiers in the simulation execution results, extract the atomic observation task identifiers and corresponding failure reason codes of these atomic observation task units, and generate a list of tasks to be adjusted. Each task unit to be adjusted in the list of tasks to be adjusted contains an atomic observation task identifier and a failure reason code.
[0105] After the simulation execution result set SIM_RESULT_SET is generated, the system initiates a statistical analysis module. This module iterates through each simulation result record in SIM_RESULT_SET. For each record, it checks its task execution success identifier field. If the value of this field is False, the corresponding atomic observation task unit is determined to have failed. For example, the simulation results show that the execution success identifier of atomic observation task unit A_T003_S02C is False, and the failure reason code is "attitude conflict with subsequent tasks"; the execution success identifier of atomic observation task unit A_T005_S01F is False, and the failure reason code is "insufficient satellite available time window". For each atomic observation task unit determined to have failed, the system extracts its atomic observation task identifier, such as A_T003_S02C and A_T005_S01F, and together with the corresponding failure reason code, constructs a new data structure called the task unit to be adjusted. All task units to be adjusted are summarized into a list, namely the task list to be adjusted ADJUST_TASK_LIST. Each element in this list is a task unit to be tuned, containing two core attributes: an atomic observation task identifier and a failure reason code.
[0106] Step S180: For each task unit to be adjusted in the task list, match the corresponding task adjustment strategy from the preset adjustment strategy library according to its failure reason code. The adjustment strategy library contains a variety of preset adjustment strategies for different failure reason codes. The various adjustment strategies include adjusting the start and end time points of task execution, changing the target on-orbit satellite resource unit, or re-decomposing the atomic observation task unit.
[0107] The system accesses a pre-built adjustment strategy library, STRATEGY_LIB, stored in a knowledge base. This strategy library is a rule-based expert system whose core is a lookup table where the key is the failure reason code and the value is a function pointer or description of one or more adjustment strategies. It iterates through each task unit to be adjusted in the ADJUST_TASK_LIST list. Taking task unit A_T003_S02C, which contains the failure reason code "conflict with subsequent task attitude," as an example, the system uses this failure reason code as the query key to perform an exact match in STRATEGY_LIB. The matching result shows that for the failure reason "conflict with subsequent task attitude," the preset adjustment strategy is "adjusting the start and end time points of task execution," specifically described as "on the currently allocated satellite, attempting to fine-tune the task execution time forward or backward by a time increment of a fixed step size DELTA_T to avoid conflict points in attitude adjustment." Another example is task unit A_T005_S01F, which contains the failure reason code "insufficient available satellite time window." Matching this code in STRATEGY_LIB yields an adjustment strategy of "replacing the target on-orbit satellite resource unit strategy," specifically described as "removing satellites that failed to be assigned from the initial matching set of this atomic observation task unit, and selecting a new satellite from the remaining candidate satellite list to try." Furthermore, the strategy library also contains other strategies; for example, for the failure reason of "incomplete area coverage," it might match the "re-decompose atomic observation task unit strategy," which calls the secondary segmentation mechanism in step S124 to further subdivide the task into smaller atomic tasks. Through this method, each task unit to be adjusted receives clear and specific adjustment instructions.
[0108] Step S190: Adjust the atomic observation task unit and its related resource allocation record corresponding to the task unit to be adjusted according to the matched task adjustment strategy, and generate the adjusted atomic observation task unit and the corresponding adjusted resource allocation record.
[0109] Based on the specific strategy matched in step S180, the corresponding adjustment operation is performed. For the task unit A_T003_S02C to be adjusted, the matched strategy is "adjusting the start and end time points of task execution". The system locates the resource allocation record of this task in the original scheme FINAL_SCHEDULE, showing that it is allocated on satellite SAT03, with an execution time from 03:10:00 to 03:10:45. The adjustment strategy suggests fine-tuning the time. Therefore, the system attempts to delay the start time by a fixed step DELTA_T, for example, DELTA_T is set to 15 seconds. A new candidate execution time window is generated, with a start time of 03:10:15 and an end time of 03:11:00. The system calls a quick feasibility check module to verify whether the new window is within the available time window of SAT03 and whether it conflicts with the execution time of other tasks on SAT03. If the verification passes, an adjusted resource allocation record is generated, where the atomic observation mission identifier remains A_T003_S02C, the target satellite identifier remains SAT03, but the mission execution start and end times are updated to 03:10:15 and 03:11:00. For the mission unit to be adjusted, A_T005_S01F, the matched strategy is "change target on-orbit satellite resource unit strategy". The system first queries the candidate satellite identifier list for A_T005_S01F from the initial matching relationship set M_SET_FIRST, assuming it is [SAT01, SAT04, SAT06]. The original scheme assigned it to SAT01, resulting in failure. The system removes SAT01 from the list, obtaining the remaining candidates [SAT04, SAT06]. Then, it attempts to assign the mission to SAT04 and SAT06 in turn. When attempting to assign to SAT04, the system re-determines a feasible start and end time point based on the available time window of SAT04 and the optional time window of the task itself. If a feasible window is found, a new resource allocation record is generated, with the atomic observation task identifier set to A_T005_S01F, the target satellite identifier updated to SAT04, and the task execution start and end time points updated to the newly determined values. If all remaining candidates fail to be considered, the task is marked as "finally failed" and awaits manual intervention. The adjusted resource allocation records for all successfully adjusted tasks are collected to form the adjusted resource allocation record set ADJUSTED_RECORD_SET.
[0110] Step S200: Merge the adjusted atomic observation task units with the unadjusted atomic observation task units and their resource allocation records in the resource allocation and scheduling scheme to generate an updated resource allocation and scheduling scheme.
[0111] For example, step S210: Extract all atomic observation task identifiers that are not marked as task units to be adjusted in the resource allocation and scheduling scheme, as well as their corresponding target satellite identifiers and task execution start and end times, to form a first resource allocation record set.
[0112] The system first loads the original resource allocation scheduling scheme, FINAL_SCHEDULE. Simultaneously, it loads the task list to be adjusted, ADJUST_TASK_LIST, which contains all atomic observation task identifiers that require adjustment. The system iterates through each resource allocation record in FINAL_SCHEDULE. For each record, it checks if its atomic observation task identifier exists in ADJUST_TASK_LIST. If it does not exist, it means the task was successful in the simulation and does not require adjustment, so it is retained. These records are extracted to form the first resource allocation record set, SET_KEEP. For example, the records for atomic observation task units A_T001_S05A and A_T004_S01D, if they were successful in the simulation, are included in SET_KEEP.
[0113] Step S220: Extract the atomic observation task identifiers of all adjusted atomic observation task units and the target satellite identifiers and task execution start and end times from their corresponding adjusted resource allocation records to form a second resource allocation record set.
[0114] Then, the system obtains the adjusted resource allocation record set ADJUSTED_RECORD_SET generated in step S190. Each record in this set represents a new scheme obtained after adjusting the failed atomic observation task unit. These records are directly extracted to form the second resource allocation record set SET_ADJUSTED. For example, it may contain records of the adjusted A_T003_S02C and A_T005_S01F.
[0115] Step S230: Perform conflict detection on the atomic observation task identifiers of the first resource allocation record set and the second resource allocation record set, and check whether there are identical atomic observation task identifiers appearing in both sets at the same time. If there are identical atomic observation task identifiers appearing in both sets at the same time, retain the corresponding record in the second resource allocation record set and remove the record in the first resource allocation record set that has the same atomic observation task identifier as the second resource allocation record set.
[0116] Since SET_KEEP originates from the original successful task and SET_ADJUSTED originates from the adjusted task after a failure, normally an atomic observation task identifier would only appear in one set. However, to prevent the same task from being recorded in both sets due to data errors, the system performs conflict detection. A hash set for fast lookup is created, containing the atomic observation task identifiers of all records in SET_ADJUSTED. Then, SET_KEEP is traversed, and for the currently traversed record, its atomic observation task identifier is checked to see if it exists in the hash set. If it exists, a conflict has occurred. According to the preset rules, the adjusted record has higher priority, so this conflicting record is removed from SET_KEEP. After the traversal is complete, SET_KEEP no longer contains any task identifiers that are duplicates of SET_ADJUSTED, ensuring that each atomic observation task unit has only one allocation record in the final scheme.
[0117] Step S240: Merge the first resource allocation record set after conflict detection with the second resource allocation record set to obtain the complete updated resource allocation record set.
[0118] The SET_KEEP and SET_ADJUSTED lists processed in step S230 are merged. The merging method involves simply concatenating the records from the two lists. The result is a new list called the updated resource allocation record set MERGED_SET. This set contains all the tasks planned for execution, including those initially successfully planned and those resolved after a round of adjustments.
[0119] Step S250: Sort all records in the updated resource allocation record set according to the atomic observation task identifier, and reorder and check the start and end times of the task execution of all atomic observation task units allocated to the on-orbit satellite resource unit of the target according to each target satellite identifier, so that there is no overlap between the start and end times of the task execution on the same on-orbit satellite resource unit and the minimum task interval time requirement is met.
[0120] For each group, i.e., for each satellite, all assigned tasks are sorted in ascending order according to their start times. This sorting results in a chronologically ordered task sequence. This sequence is then iterated through for continuity checks. For two adjacent tasks in the sequence, for example, if the end time of task A is T_ED_A and the start time of task B is T_ST_B, a preset minimum task interval requirement T_GAP_MIN is read. This time is used to ensure the satellite completes auxiliary operations such as attitude adjustment and data downlink. The difference between T_ST_B and T_ED_A is checked to see if it is greater than or equal to T_GAP_MIN. Simultaneously, T_ST_B and T_ED_A are checked to see if they are within the satellite's available time window. If all adjacent tasks meet these two conditions, the satellite's task sequence is continuous and feasible. If any condition is not met, such as the difference between T_ST_B and T_ED_A being less than T_GAP_MIN, the system records this conflict and may trigger a new round of fine-tuning.
[0121] Step S260: The updated resource allocation record set that has passed the continuity check is formatted and encapsulated to generate an updated resource allocation scheduling scheme that includes the scheme version identifier, generation timestamp, and final resource allocation records of all atomic observation task units.
[0122] After sorting and checking in step S250, MERGED_SET is confirmed to be a logically consistent and time-continuous feasible scheme. Finally, it is formatted and encapsulated. A new scheme file, UPDATE_SCHEDULE, is created. At the beginning of the file, a globally unique scheme version identifier, VERSION_ID, is generated, for example, "SCH_v2.0_20240520". Simultaneously, the current generation timestamp, TIMESTAMP, is recorded, accurate to milliseconds, for example, "2024-05-20 10:30:00.000". Then, all resource allocation records in MERGED_SET are written to the main body of the file one by one in the order sorted in step S250. The format of each record remains consistent with the previous one, including the atomic observation mission identifier, target satellite identifier, mission start time, and mission end time. After encapsulation, the updated resource allocation and scheduling scheme, UPDATE_SCHEDULE, is considered the final executable scheme. It will be resubmitted to the mission management system and can also be input into the mission execution simulator for a new round of verification until satisfactory planning results are achieved.
[0123] Based on the same inventive concept, please refer to Figure 2This paper shows a schematic block diagram of a mission planning and resource dynamic scheduling system 100 for agile satellite constellations, provided in an embodiment of this application, for performing the above-described inspection video stream processing method. The mission planning and resource dynamic scheduling system 100 for agile satellite constellations may include a communication unit 110, a machine-readable storage medium 120, and a processor 130.
[0124] In this embodiment, both the machine-readable storage medium 120 and the processor 130 are located within the mission planning and resource dynamic scheduling system 100 for agile satellite constellations and are configured separately. However, it should be understood that the machine-readable storage medium 120 may also be independent of the mission planning and resource dynamic scheduling system 100 for agile satellite constellations and may be accessed by the processor 130 via a bus interface. Alternatively, the machine-readable storage medium 120 may be integrated into the processor 130 and may communicate with external systems via the communication unit 110.
[0125] The processor 130 is the control center of the mission planning and resource dynamic scheduling system 100 for agile satellite constellations. It connects various parts of the system via various interfaces and lines, and executes software programs and / or modules stored in the machine-readable storage medium 120, as well as accessing data stored in the machine-readable storage medium 120. This allows for the execution of various functions and data processing within the system, thereby providing overall monitoring of the system. Optionally, the processor 130 may include one or more processing cores; for example, it may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and applications, while the modem processor primarily handles wireless communication. It is understood that the modem processor may not be integrated into the processor. The machine-readable storage medium 120 is used to store machine-executable instructions for executing the scheme of this application, and the processor 130 is used to execute the machine-executable instructions stored in the machine-readable storage medium 120 to implement the inspection video stream processing method provided in the aforementioned method embodiments.
[0126] It should be noted that, in order to simplify the description of the present invention and thus help to understand one or more embodiments of the invention, multiple features may sometimes be grouped into one embodiment, drawing or description thereof in the foregoing description of the embodiments of the present invention.
Claims
1. A method for mission planning and dynamic resource scheduling for agile satellite constellations, characterized in that, The method includes: Acquire a set of mission requirement description information and a set of satellite resource status description information for an agile satellite constellation. The set of mission requirement description information includes multiple observation mission requirement units with mission identifiers, and the set of satellite resource status description information includes resource availability time windows and current resource operating mode parameters for multiple on-orbit satellite resource units with satellite identifiers. The task requirement description information set is subjected to observation task decomposition processing. Based on the task coverage area range information and task imaging angle constraint information of each observation task requirement unit, multiple corresponding atomic observation task units are generated to obtain an atomic observation task set. Each atomic observation task unit has task execution time window requirements and task attitude adjustment range requirements. The atomic observation task set and the satellite resource status description information set are subjected to initial task resource matching processing. Based on the time overlap relationship between the task execution time window requirement of each atomic observation task unit and the resource availability time window of each on-orbit satellite resource unit, as well as the compatibility relationship between the task attitude adjustment range requirement of each atomic observation task unit and the current working mode parameters of each on-orbit satellite resource unit, candidate on-orbit satellite resource units are selected for each atomic observation task unit, and an initial matching relationship set is generated. Based on the initial matching relationship set and the atomic observation task set, a task resource conflict hypergraph structure is constructed. The task resource conflict hypergraph structure uses each atomic observation task unit as a hypergraph node, and multiple atomic observation task units that have conflict relationships with the same candidate on-orbit satellite resource units are connected by hyperedges. The optimized allocation model is invoked to perform node clustering and partitioning on the task resource conflict hypergraph structure. Based on the conflict weight parameters of the hyperedges, the atomic observation task units are divided into multiple weak conflict task clusters. Target on-orbit satellite resource units are allocated to the atomic observation task units within each weak conflict task cluster, and the start and end times of specific task execution are determined, thereby generating a resource allocation and scheduling scheme.
2. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 1, characterized in that, The process of decomposing the task requirement description information set into observation tasks, and generating multiple corresponding atomic observation task units based on the task coverage area information and task imaging angle constraint information of each observation task requirement unit, yields an atomic observation task set, including: The task coverage area information contained in each observation task requirement unit is analyzed. Based on the spatial distribution range boundary coordinates of the task coverage area information, the coverage area parameters and coverage area geometric complexity parameters corresponding to the task coverage area information are calculated to obtain the set of coverage area parameters and the set of coverage area geometric complexity parameters. Based on the coverage area parameter and the coverage area geometric complexity parameter, the decomposition model is called to perform gridding on the continuous coverage area corresponding to the observation task requirement unit, generating multiple sub-task coverage area units with independent coverage area coordinate sets. Each sub-task coverage area unit satisfies the preset single maximum observable area constraint condition, resulting in a set of sub-task coverage area units. Extract the mission imaging angle constraint information corresponding to each sub-task coverage area unit, and calculate the optimal roll angle parameter and optimal pitch angle parameter required to execute the sub-task coverage area unit based on the geometric relationship between the center point coordinates of the sub-task coverage area unit and the satellite nadir point trajectory at the corresponding orbital altitude. This yields the optimal roll angle parameter set and the optimal pitch angle parameter set. The optimal roll angle parameter and the optimal pitch angle parameter are matched with the upper limit parameter of attitude maneuverability of each candidate on-orbit satellite resource unit. For sub-task coverage area units that exceed the upper limit parameter of attitude maneuverability, the sub-task coverage area units are divided into secondary segments according to the upper limit parameter of satellite attitude maneuverability to generate the final sub-task coverage area units that satisfy the attitude maneuverability constraints, and the final sub-task coverage area unit set is obtained. A unique atomic observation task identifier is assigned to each final subtask coverage area unit. The task execution time window requirement required to complete the observation of the final subtask coverage area unit is calculated based on the spatial position coordinates and task imaging angle constraint information of the final subtask coverage area unit. The task execution time window requirement includes the observable start time point and the observable end time point, thus obtaining the task execution time window requirement set. Based on the optimal roll angle and optimal pitch angle parameters corresponding to each final sub-task coverage area unit, calculate the change in attitude adjustment angle and the change in attitude adjustment angular velocity required to switch from the current working mode to execute the observation task, and generate the task attitude adjustment range requirement corresponding to each atomic observation task unit. The task attitude adjustment range requirement includes the roll axis adjustment angle value, the pitch axis adjustment angle value, and the maximum angular velocity requirement value, thus obtaining the set of task attitude adjustment range requirements. The atomic observation task identifier is associated with and stored in relation to the corresponding task execution time window requirement set and task attitude adjustment range requirement set to construct an atomic observation task unit description table. Each record in the atomic observation task unit description table contains the atomic observation task identifier, task execution time window requirement, and task attitude adjustment range requirement, thus obtaining an atomic observation task set.
3. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 1, characterized in that, The initial matching process for the atomic observation task set and the satellite resource status description information set involves, based on the time overlap between the task execution time window requirements of each atomic observation task unit and the resource availability time window of each on-orbit satellite resource unit, and the compatibility between the task attitude adjustment range requirements of each atomic observation task unit and the current operating mode parameters of each on-orbit satellite resource unit, selecting candidate on-orbit satellite resource units for each atomic observation task unit, and generating an initial matching relationship set, including: Traverse each atomic observation task unit in the atomic observation task set, extract the observable start time point and observable end time point in the task execution time window requirement of the atomic observation task unit, and obtain the time window interval of the atomic observation task unit. Traverse each on-orbit satellite resource unit in the satellite resource status description information set, extract the available start time point and available end time point in the resource availability time window of the on-orbit satellite resource unit, and obtain the resource availability interval of the on-orbit satellite resource unit. Calculate the time overlap between the time window interval of each atomic observation task unit and the resource availability interval of each on-orbit satellite resource unit. If the time overlap is greater than zero, it is determined that there is a time overlap relationship. Record the correspondence between atomic observation task identifiers and satellite identifiers with time overlap relationships to generate a preliminary time matching relationship set. For each correspondence in the preliminary time matching relationship set, extract the roll axis adjustment angle value, pitch axis adjustment angle value, and maximum angular velocity requirement value from the task attitude adjustment range requirement of the corresponding atomic observation task unit, and extract the current roll axis angle value, current pitch axis angle value, maximum adjustable roll angular velocity value, and maximum adjustable pitch angular velocity value from the resource current working mode parameters of the corresponding on-orbit satellite resource unit. The required rolling axis adjustment amount is calculated based on the rolling axis adjustment angle value and the current rolling axis angle value. The required pitch axis adjustment amount is calculated based on the pitch axis adjustment angle value and the current pitch axis angle value. The ratio of the required rolling axis adjustment amount to the maximum adjustable rolling angular velocity value is used as the estimated rolling axis adjustment time. The ratio of the required pitch axis adjustment amount to the maximum adjustable pitch angular velocity value is used as the estimated pitch axis adjustment time. Determine whether the estimated rolling axis adjustment time and the estimated pitch axis adjustment time are both less than the preset maximum allowable attitude adjustment time threshold, and determine whether the maximum angular velocity requirement is less than the maximum adjustable rolling angular velocity and the maximum adjustable pitch angular velocity. If all conditions are met, it is determined that the attitude adjustment range requirement of the atomic observation mission unit is compatible with the current working mode parameters of the on-orbit satellite resource unit. The correspondences between all atomic observation mission identifiers and satellite identifiers that simultaneously satisfy the time overlap and compatibility relationships are summarized. Candidate on-orbit satellite resource units are selected for each atomic observation mission unit. An initial matching relationship set containing a list of correspondences between atomic observation mission identifiers and candidate satellite identifiers is constructed. Each atomic observation mission identifier in the initial matching relationship set is associated with at least one candidate satellite identifier.
4. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 1, characterized in that, The step of constructing a task resource conflict hypergraph structure based on the initial matching relationship set and the atomic observation task set, wherein each atomic observation task unit is used as a hypergraph node, and multiple atomic observation task units that share the same candidate on-orbit satellite resource unit conflict relationship are connected through hyperedges, including: Each atomic observation task unit in the atomic observation task set is defined as a hypergraph node in the task resource conflict hypergraph structure, and a unique hypergraph node identifier is assigned to each hypergraph node. A one-to-one mapping relationship is established between the hypergraph node identifier and the atomic observation task identifier. Traverse the initial matching relationship set, extract the candidate satellite identifier list corresponding to each atomic observation task identifier, count the number of times each candidate satellite identifier is shared by different atomic observation task identifiers, and obtain the shared task quantity parameter corresponding to each candidate satellite identifier; For each candidate satellite identifier whose number of shared tasks is greater than a preset shared threshold, the hypergraph node identifiers mapped to all atomic observation task identifiers corresponding to the candidate satellite identifier are combined to construct a hyperedge with these hypergraph node identifiers as connection objects, thus obtaining an initial hyperedge set. Extract the task execution time window requirements of all atomic observation task units involved in each initial hyperedge. Calculate the time window overlap parameter between any two atomic observation task units within the hyperedge based on the observable start and end times of each atomic observation task unit. Calculate the average value of all time window overlap parameters as the temporal conflict intensity index of the hyperedge. Based on the shared task quantity parameter of the candidate satellite identifier corresponding to each initial hyperedge and the temporal conflict intensity index of the hyperedge, the conflict weight parameter of the hyperedge is calculated. The conflict weight parameter is positively correlated with the shared task quantity parameter and the temporal conflict intensity index, thus obtaining a set of hyperedges containing the conflict weight parameter. The hypergraph node identifiers are associated with the set of hyperedges containing conflict weight parameters to construct a complete task resource conflict hypergraph structure. In the task resource conflict hypergraph structure, each hyperedge connects at least two hypergraph nodes, and each hyperedge has a unique conflict weight parameter.
5. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 1, characterized in that, The optimized allocation model performs node clustering on the task resource conflict hypergraph structure. Based on the conflict weight parameters of the hyperedges, the atomic observation task units are divided into multiple weakly conflicting task clusters. Target on-orbit satellite resource units are allocated to the atomic observation task units within each weakly conflicting task cluster, and the specific task execution start and end times are determined, generating a resource allocation and scheduling scheme, including: The task resource conflict hypergraph structure is input into the node clustering module of the optimization allocation model. The hypergraph nodes are iteratively clustered and divided according to the conflict weight parameters of the hyperedges. This maximizes the sum of the conflict weight parameters of the hyperedges within the same task cluster and minimizes the sum of the conflict weight parameters of the hyperedges between different task clusters, generating a clustering result containing multiple weak conflict task clusters. Each weak conflict task cluster contains at least one atomic observation task unit corresponding to a hypergraph node. Traverse each weak conflict mission cluster, extract the atomic observation mission identifiers corresponding to all atomic observation mission units within the weak conflict mission cluster, and the candidate satellite identifier list corresponding to each atomic observation mission unit to obtain the candidate satellite resource pool for the weak conflict mission cluster. The candidate satellite resource pool of the weak conflict mission cluster is input into the resource allocation module of the optimization allocation model. Based on the mission execution time window requirements and mission attitude adjustment range requirements of each atomic observation mission unit, as well as the resource availability time window and current working mode parameters of each candidate on-orbit satellite resource unit, the mission resource allocation optimization problem within the weak conflict mission cluster is constructed. The task resource allocation optimization problem is solved based on the constraint satisfaction algorithm. A unique target on-orbit satellite resource unit is allocated to each atomic observation task unit in the weak conflict task cluster, and the specific start and end time points of the task execution of the atomic observation task unit on the corresponding target on-orbit satellite resource unit are determined. This ensures that the start and end time points of the task execution of all atomic observation task units in the weak conflict task cluster are within the resource availability time window of their target on-orbit satellite resource units and do not overlap with each other, while also satisfying the task attitude adjustment range requirements of each atomic observation task unit. The resource allocation results of all weakly conflicting mission clusters are summarized, and a resource allocation record containing the atomic observation mission identifier, target satellite identifier, and mission start and end time points is generated for each atomic observation mission unit. All resource allocation records are sorted and combined according to the atomic observation mission identifier to generate a complete resource allocation and scheduling scheme.
6. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 5, characterized in that, The node clustering module of the optimization allocation model inputs the task resource conflict hypergraph structure into the module, and iteratively clusters the hypergraph nodes according to the conflict weight parameters of the hyperedges. This maximizes the sum of the conflict weight parameters of the hyperedges within the same task cluster and minimizes the sum of the conflict weight parameters of the hyperedges between different task clusters, generating a clustering result containing multiple weakly conflicting task clusters, including: Initialize each hypergraph node as an independent task cluster, calculate the sum of the initial inter-cluster conflict weight parameters among all current task clusters, and the sum of the initial inter-cluster conflict weight parameters is equal to the sum of the conflict weight parameters of all hyperedges connecting different task clusters; Calculate the internal conflict weight parameter gain value of the new task cluster formed after merging any two adjacent task clusters. The internal conflict weight parameter gain value is equal to the sum of the conflict weight parameters of all hyperedges located inside the two task clusters before the merger minus the sum of the conflict weight parameters of all hyperedges inside the new task cluster after the merger, thus obtaining the gain value matrix. Select the largest internal conflict weight parameter gain value from the gain value matrix, and determine whether the largest internal conflict weight parameter gain value is greater than the preset merging benefit threshold. If it is greater, merge the two adjacent task clusters corresponding to the largest internal conflict weight parameter gain value to generate an updated task cluster partitioning state. After each merge operation, the sum of inter-cluster conflict weight parameters between all task clusters and the gain value matrix of adjacent task clusters are recalculated. The iterative operation of selecting the maximum gain value and merging is repeated until the gain value of all adjacent task clusters is not greater than the merge benefit threshold, and the iterative clustering process is stopped. Each task cluster obtained at the time of stopping iteration is taken as a weakly conflicting task cluster, and a unique target cluster identifier is assigned to each weakly conflicting task cluster. All hypergraph node identifiers and their corresponding atomic observation task identifiers contained under each target cluster identifier are recorded, and a clustering partitioning result containing the correspondence between target cluster identifiers and atomic observation task identifiers is generated.
7. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 5, characterized in that, The process involves inputting the candidate satellite resource pool of the weakly conflicting mission cluster into the resource allocation module of the optimization allocation model. Based on the mission execution time window requirements and mission attitude adjustment range requirements of each atomic observation mission unit, as well as the resource availability time window and current operating mode parameters of each candidate on-orbit satellite resource unit, a mission resource allocation optimization problem is constructed within the weakly conflicting mission cluster. This includes: Extract the observable start time and observable end time from the task execution time window requirements of each atomic observation task unit within the weak conflict task cluster, and construct a list of optional time intervals for each atomic observation task unit; Extract the available start time and available end time of each candidate on-orbit satellite resource unit in the candidate satellite resource pool of the weak conflict mission cluster, and construct a list of available time intervals for each candidate on-orbit satellite resource unit. An allocation decision variable is constructed for each atomic observation mission unit and its corresponding candidate on-orbit satellite resource unit. The allocation decision variable is used to indicate whether the atomic observation mission unit is allocated to the candidate on-orbit satellite resource unit and the start and end times of the specific mission execution on the candidate on-orbit satellite resource unit. Based on the roll axis adjustment angle, pitch axis adjustment angle, and maximum angular velocity requirement in the attitude adjustment range requirements of each atomic observation mission unit, and the current roll axis angle, current pitch axis angle, maximum adjustable roll angular velocity, and maximum adjustable pitch angular velocity in the current working mode parameters of each candidate on-orbit satellite resource unit, calculate the attitude adjustment preparation time required to assign the atomic observation mission unit to the candidate on-orbit satellite resource unit. By combining the list of optional time intervals for each atomic observation task unit, the list of available time intervals for each candidate on-orbit satellite resource unit, each allocation decision variable, and the corresponding attitude adjustment preparation time, a task resource allocation optimization problem is constructed. The optimization objective is to minimize the total task completion time of all atomic observation task units within the weakly conflicting task cluster. The constraints are: each atomic observation task unit must be allocated to a candidate on-orbit satellite resource unit; the start and end times of the atomic observation task units allocated to each candidate on-orbit satellite resource unit do not overlap; the start and end times of the task execution of each atomic observation task unit are within the available time interval of its corresponding candidate on-orbit satellite resource unit; and the time continuity is still satisfied after considering the attitude adjustment preparation time.
8. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 5, characterized in that, The task resource allocation optimization problem is solved based on a constraint satisfaction algorithm. A unique target on-orbit satellite resource unit is allocated to each atomic observation task unit within the weakly conflicting task cluster, and the specific start and end times of the task execution on the corresponding target on-orbit satellite resource unit are determined. This ensures that the start and end times of the task execution of all atomic observation task units within the weakly conflicting task cluster are within the available resource time window of their target on-orbit satellite resource units and do not overlap, while simultaneously satisfying the task attitude adjustment range requirements of each atomic observation task unit, including: A backtracking search algorithm is used to traverse the possible value space of all allocation decision variables in the task resource allocation optimization problem. During the traversal, a candidate on-orbit satellite resource unit is selected for each atomic observation task unit as a temporary target on-orbit satellite resource unit, and the start and end time points of the temporary task execution on the temporary target on-orbit satellite resource unit are initially determined. After each assignment, the constraint propagation algorithm is called to check whether the current partial assignment satisfies all the constraints in the task resource allocation optimization problem. The constraints include that the start and end times of the temporary task execution of the atomic observation task units allocated on each candidate on-orbit satellite resource unit do not overlap and that the start and end times of the temporary task execution of each allocated atomic observation task unit are within the available time interval of the candidate on-orbit satellite resource unit. If the current partial assignment violates any constraints, the backtracking mechanism is triggered to revoke the most recent assignment that caused the conflict and attempt to select another candidate on-orbit satellite resource unit as a temporary target on-orbit satellite resource unit to redetermine the start and end times of the temporary mission execution. Repeat the assignment operation, constraint propagation check operation, and backtracking operation until a complete feasible solution is obtained by finding temporary target on-orbit satellite resource units and temporary mission execution start and end times that satisfy all constraints for all atomic observation task units within the weak conflict task cluster; Record the total task completion time corresponding to the currently found feasible solution and continue to search for other feasible solutions with smaller total task completion times. Finally, select the feasible solution with the smallest total task completion time as the optimal resource allocation result for this weakly conflicting task cluster. The temporary target on-orbit satellite resource unit allocated to each atomic observation task unit in the optimal resource allocation result is determined as the target on-orbit satellite resource unit, and the corresponding start and end time points of the temporary task execution are determined as the start and end time points of the specific task execution.
9. The mission planning and dynamic resource scheduling method for agile satellite constellations according to claim 1, characterized in that, After generating the resource allocation and scheduling scheme, the method further includes: The resource allocation and scheduling scheme is input into a pre-built task execution simulator. The task execution simulator simulates the process of each target on-orbit satellite resource unit executing the corresponding atomic observation task unit within its resource availability time window, based on the target satellite identifier and task execution start and end time points of each atomic observation task unit in the resource allocation and scheduling scheme. The simulator generates the simulation execution result of each atomic observation task unit, which includes a task execution success identifier or a task execution failure identifier and a failure reason code. The atomic observation task units corresponding to all task execution failure identifiers in the simulation execution results are counted. The atomic observation task identifiers and corresponding failure reason codes of these atomic observation task units are extracted to generate a list of tasks to be adjusted. Each task unit in the list of tasks to be adjusted contains an atomic observation task identifier and a failure reason code. For each task unit to be adjusted in the task list, a corresponding task adjustment strategy is matched from the preset adjustment strategy library according to its failure reason code. The adjustment strategy library contains a variety of preset adjustment strategies for different failure reason codes. The various adjustment strategies include adjusting the start and end time points of task execution, changing the target on-orbit satellite resource unit, or re-decomposing the atomic observation task unit. According to the matched task adjustment strategy, the atomic observation task unit corresponding to the task unit to be adjusted and its related resource allocation record are adjusted to generate the adjusted atomic observation task unit and the corresponding adjusted resource allocation record. The adjusted atomic observation task units are merged with the unadjusted atomic observation task units and their resource allocation records in the resource allocation and scheduling scheme to generate an updated resource allocation and scheduling scheme.
10. A mission planning and dynamic resource scheduling system for agile satellite constellations, characterized in that, include: processor; A machine-readable storage medium for storing machine-executable instructions of the processor; The processor is configured to execute the mission planning and dynamic resource scheduling method for agile satellite constellations as described in any one of claims 1 to 9 by executing the machine-executable instructions.