A satellite scheduling optimization system and method

Through the scheduling optimization module of the multi-level satellite coordinated scheduling system, the problem of inefficient coordinated scheduling between satellites and ground stations in the existing technology is solved, and rapid response and efficient scheduling optimization are achieved. Changes in the number of satellite or ground stations.

CN112817734BActive Publication Date: 2024-12-27SPACETY CO LTD (CHANGSHA) +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110226992.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-11-07
Publication Date
2024-12-27
Estimated Expiration
2038-11-07

AI Technical Summary

Technical Problem

The existing satellite scheduling system cannot quickly update the schedule when handling the conflict between a large number of remote sensing satellites and multiple ground stations at the same time, resulting in low scheduling efficiency and inability to respond quickly to temporary observation tasks. The conflict judgment process is long and difficult to obtain the most. Optimize the schedule.

Method used

Using a multi-level satellite collaborative scheduling system, the control command set is generated through the scheduling optimization module, the conflict utility penalty is calculated, and the utility value is optimized and adjusted to ensure that the schedule remains constant when the number of satellites or ground stations changes, and the optimization and adjustment time does not follow the quantity Increase, use sparse associations to quickly evaluate control command changes.

Benefits of technology

It realizes rapid evaluation and optimization of the impact of changes in control commands without considering other control commands, keeping the schedule constant state, and optimizing adjustment time does not increase with the number of satellites or ground stations, ensuring that the marginal utility is a single-valued function, and avoiding recalculation. The impact of the entire scheduling system improves scheduling efficiency and responsiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112817734B_ABST
    Figure CN112817734B_ABST
Patent Text Reader

Abstract

The present invention discloses an optimization system and method for satellite scheduling. The optimization system at least comprises a scheduling optimization module, which is configured as follows: generating a first control command set based on the action task of the satellite and / or the action task of the ground station; calculating the utility penalty corresponding to the control command state when a constraint is violated due to a change in the control command state; correcting the utility value of the control command selected based on the utility function calculation according to the utility penalty, and completing the optimization adjustment of the schedule in accordance with the modification of the first control command state when the change in the first control command increases its utility value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention is a divisional application of application number 201811321908.7, application date November 7, 2018, application type is invention, and application name is A multi-level satellite collaborative scheduling method and system. Technical Field

[0002] The present invention belongs to the field of satellite control technology, and in particular relates to a multi-level satellite collaborative scheduling method and system. Background Art

[0003] Different types of satellites can perform tasks such as communication or observation in a separate or collaborative manner. For example, an earth observation satellite can image certain areas of the earth within a specific time through the sensors it carries. The use of a single satellite working independently cannot effectively image the entire earth in a short time. Or when a temporary observation task of a certain area needs to be performed, based on the orbit, altitude and field of view of the satellite, it is often impossible to respond quickly to the execution of the observation task. In order to reduce the time required for imaging the entire earth or to be able to respond quickly to the execution of temporary observation tasks, a large number of remote sensing satellites can be launched into space, each of which images a part of the earth. By integrating the imaging data of each remote sensing satellite, the imaging data of the entire earth can be obtained. A large number of remote sensing satellites need to communicate with remote sensing satellites within their communication jurisdiction through multiple ground stations set up at different locations on the earth. When a large number of remote sensing satellites and multiple ground stations exist at the same time, based on the existence of multiple conflicts between them, the coordinated scheduling of satellites and ground stations is extremely difficult. The existing scheduling system cannot quickly update the schedule, and the scheduling cannot be completed quickly.

[0004] The patent document with publication number CN102354288A discloses a task scheduling method with imaging quality priority. The visible time window in which the task meets the imaging quality requirements is calculated based on satellite orbit data, attitude maneuverability, ground target position information and imaging quality requirements, and all tasks are sorted according to the start time of the visible time window. Then the best observation time point of the task is calculated, and the task is scheduled accordingly. During scheduling, it is first determined whether the current task conflicts with the last scheduled task. If there is a conflict, the current task does not need to be forward-looking and cannot be scheduled. If there is no conflict, the forward-looking task group of the current task is obtained, and it is determined whether the current task conflicts with the tasks in the forward-looking task group. If there is a conflict, the current task is selected according to the rules. If there is no conflict, the current task can be scheduled. For the current task that can be scheduled, the attitude maneuvering action and observation action of the satellite are written into the satellite action sequence. Finally, the satellite action sequence is output as the task scheduling result. The task conflict judgment execution process in this scheduling method is long, and the optimal scheduling table cannot be quickly obtained. Summary of the invention

[0005] The term "module" as used herein describes any piece of hardware, software, or a combination of hardware and software that is capable of performing the functionality associated with the "module."

[0006] In view of the shortcomings of the prior art, the present invention provides a multi-level satellite collaborative scheduling system, which at least includes a scheduling optimization module for optimizing and adjusting the schedule between the satellite and the ground station. The scheduling optimization module is configured to optimize and adjust the schedule in the following manner: generate a first control command set based on the action task of the satellite and / or the action task of the ground station, and generate a conflict set associated with it based at least on the state of the first control command. Select a first control command that needs to change the state based on the first control command set and determine the utility penalty based on at least the conflict associated with the first control command when executing the state change of the first control command. Calculate the first utility value and the second utility value of the first control command before and after the state change respectively, and complete the correction of the second utility value based on the utility penalty to obtain a third utility value, wherein, when the third utility value is greater than the first utility value, the schedule is optimized and adjusted in a manner of accepting the state change of the first control command. Whenever one of the control commands changes, the scheduling optimization module re-evaluates the utility value of the relevant control command so that the problem is limited to the satellites, ground stations and associated control commands affected by the control command change, and the impact of the change in the control command state can be quickly re-evaluated without considering the remaining control commands. Then the sparse association between various control commands, satellites and ground stations is effectively utilized. When optimizing and adjusting, the schedule can remain relatively constant regardless of how the number of satellites or ground stations changes. That is, when optimizing and adjusting to obtain the best schedule, the time required will not scale proportionally with the number of satellites or ground stations. The scheduling optimization module can ensure that the marginal utility remains a single-valued function. The marginal utility of a control command is that when the state of the control command changes from 0 to 1, only the utility function changes while all other control commands remain unchanged. In addition, the use of utility penalties can make it unnecessary for the scheduling optimization module to recalculate the entire schedule to determine the impact of the change. For example, if a satellite changes, the scheduling optimization module evaluates the change relative to the satellite without considering any other satellites. This allows the time required for optimization and adjustment to be constant relative to the number of satellites in the system. That is, in order to evaluate the state change of the control command, the evaluation only requires a fixed calculation or time, regardless of whether the number of satellites in the system changes after optimizing the first control command.

[0007] According to a preferred embodiment, the state of the first control command includes at least an execution state and a skip state, wherein the optimization adjustment of the schedule also includes the steps of: determining the selection order of the first control command in a decreasing manner according to the number of conflicts in the conflict set, and selecting each first control command in the first control command set in turn based on the selection order and optimizing the schedule in a manner of changing the state of the first control command to eliminate the utility penalty. In the case where the states of all first control commands are changed, a second control command set is generated based on the first control command in the skip state, wherein, in the case where at least one of the first control commands is executed, a second control command associated with the conflict is selected based on the conflict associated with the first control command that has been executed to complete the re-optimization adjustment of the schedule.

[0008] According to a preferred embodiment, the utility penalty and the second utility value are corrected in a difference manner, wherein, when the number of first control commands associated with the specified conflict and in execution state is M, the utility penalty is defined as M-1, and when the utility penalty is less than or equal to 1, the utility penalty is in an elimination state. The first utility value and the second utility value can be obtained based on the utility function W=αA+βD+L+E.

[0009] According to a preferred embodiment, the re-optimization and adjustment of the schedule includes at least the following steps: based on at least one conflict associated with the first control command that has been executed, at least one second control command associated with the conflict is selected and its state is switched to the execution state. Based on the state change of the second control command, the utility value and penalty utility corresponding to the second control command are calculated, and when the increase in the utility value is greater than the increase in the penalty utility, or the decrease in the utility value is less than the decrease in the penalty utility, the schedule is re-optimized and adjusted in accordance with the state change of the second control command.

[0010] According to a preferred embodiment, the re-optimization and adjustment of the schedule also includes at least the following steps: obtaining the time sequence of satellite access to the ground station by determining the orbital information of the satellite based on the feedback information of the satellite and the ground station, and determining the ground station and satellite corresponding to the completion of the execution of the first control command based on the time sequence. Selecting the second control command associated with the ground station and satellite corresponding to the completion of the execution of the first control command to change its state.

[0011] According to a preferred embodiment, the schedule can be distributed to the ground station and the satellite via the scheduling execution module to complete the execution of the first control command and / or the second control command, and the action task includes at least the imaging task performed by the satellite on the earth and the task of the ground station establishing a communication connection with the satellite to receive imaging data collected by the satellite, wherein the execution of the first control command is completed when the imaging data is transmitted to the designated ground station.

[0012] According to a preferred embodiment, each first control command or each second control command can be associated with at least one conflict, each conflict can be associated with at least one first control command or at least one second control command, and the selection of the second control command includes at least the following steps: based on at least one conflict associated with the executed first control command, at least one second control command associated with the conflict is screened out. Based on the satellite and the ground station associated with the executed first control command, a single second control command associated with the satellite and the ground station is screened out again from the at least one screened out second control command.

[0013] According to a preferred embodiment, the selection of the first control command comprises at least the following steps: the first control command can determine an inherent priority based on the degree of duplication of the satellites and ground stations involved in its action tasks. When the number of conflicts associated with the first control command is the same, the selection order of the first control command is determined based on the inherent priority.

[0014] The present invention also provides a multi-level satellite collaborative scheduling method, which includes at least the following steps: generating a first control command set based on the action task of the satellite and / or the action task of the ground station, and generating a conflict set associated with the first control command based at least on the state of the first control command. Selecting a first control command that needs to change its state based on the first control command set and determining a utility penalty based at least on the conflict associated with the first control command when executing the state change of the first control command. Calculating the first utility value and the second utility value of the first control command before and after the state change respectively, and completing the correction of the second utility value based on the utility penalty to obtain a third utility value, wherein, when the third utility value is greater than the first utility value, the schedule is optimized and adjusted in a manner that accepts the state change of the first control command.

[0015] According to a preferred embodiment, the multi-level satellite collaborative scheduling method further includes the following steps: determining the selection order of the first control commands in a decreasing manner according to the number of conflicts in the conflict set, and selecting each first control command in the first control command set in turn based on the selection order and optimizing the schedule in a manner of changing the state of the first control command to eliminate the utility penalty. In the case where the states of all first control commands are changed, a second control command set is generated based on the first control command in the skipped state, wherein, in the case where at least one of the first control commands is executed, a second control command associated with the conflict is selected based on the conflict associated with the first control command that has been executed to complete the re-optimization adjustment of the schedule.

[0016] Beneficial technical effects of the present invention:

[0017] (1) Whenever one of the control commands changes, the scheduling optimization module re-evaluates the utility value of the relevant control command so that the problem is limited to the satellites, ground stations, and associated control commands affected by the control command change. The impact of the change in the control command status can be quickly re-evaluated without considering the remaining control commands. This effectively utilizes the sparse associations between various control commands, satellites, and ground stations.

[0018] (2) During optimization, the schedule remains relatively constant regardless of the number of satellites or ground stations. That is, the time required to optimize the schedule to obtain the best schedule does not scale in proportion to the number of satellites or ground stations. The scheduling optimization module ensures that the marginal utility remains a single-valued function. The marginal utility of a control command is when the state of the control command changes from 0 to 1, only the utility function changes while all other control commands remain unchanged.

[0019] (3) Using utility penalties allows the schedule optimization module to avoid having to recalculate the entire schedule to determine the impact of a change. For example, if one satellite changes, the schedule optimization module evaluates the change relative to that satellite without considering any other satellites. This allows the time required to optimize the adjustment to be constant relative to the number of satellites in the system. That is, to evaluate the state change of a control command, the evaluation only requires a fixed amount of computation or time, regardless of whether the number of satellites in the system changes after the first control command in the optimization section. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 is a flow chart of a preferred multi-level satellite system scheduling method of the present invention; and

[0021] Figure 2 It is a schematic diagram of the modular connection relationship of the preferred multi-level satellite collaborative scheduling system of the present invention.

[0022] Reference numerals list

[0023] 1: Scheduling optimization module 2: Scheduling execution module 3: Satellite status monitoring module

[0024] 4: Demand processing module 5: Satellite 6: Ground station

[0025] 7: Control command generation module 8: Constraint generation module DETAILED DESCRIPTION

[0026] The following is a detailed description with reference to the accompanying drawings.

[0027] Example 1

[0028] like Figure 2 As shown, the present invention provides a multi-level satellite collaborative scheduling system, which at least includes a scheduling optimization module 1, a scheduling execution module 2, a satellite status monitoring module 3 and a demand processing module 4. The scheduling optimization module 1 can analyze different variables used to schedule satellites to simulate the actual operating behavior of the satellite and optimize and adjust the schedule for scheduling satellites 5 and ground stations 6 according to the feedback data of the satellite. Scheduling satellites 5 and ground stations 6 through the optimized and adjusted schedule can obtain better satellite resource utilization efficiency. The scheduling optimization module can dynamically modify the schedule in response to new tasks, unexpected events or changes in satellite performance. The entire optimization and adjustment process can be carried out without human intervention. It can calculate the utilization change of a single satellite without considering the schedule corresponding to the unaffected satellite.

[0029] Preferably, the scheduling execution module can schedule the ground station and the satellite through the schedule to control the position of the satellite, so as to image the area within its imaging range through the satellite. The schedule includes the initial estimated state of the entire satellite coordination and scheduling system and the system scheduling target defined by the operator of the system. For example, the initial estimated state of the system may include the number of satellites, the imaging capacity of each satellite, the downlink capacity of each satellite, and the availability, specifications and performance of the ground station. The system scheduling target may include the time requirement for complete imaging of the object, the priority sorting of different designated areas according to the set standards, or the optimization of data to the next link, etc. The feedback information from the satellite and the ground station can be transmitted to the satellite coordination and scheduling system in real time so as to optimize and adjust the schedule according to the feedback information. The feedback information may include the actual imaging results of the satellite and the communication congestion of the ground station.

[0030] Preferably, the ground station 6 can be connected to the satellite status monitoring module 3 for communication to receive the satellite's operating status data transmitted by the ground station. The satellite's operating status data at least includes the distance data between the satellite and the ground station, and then the satellite status monitoring module can determine the satellite's position, the satellite's orbital information, and the communication time required for the ground station to establish communication with the satellite based on the satellite's operating status data. The ground station 6 can communicate with the satellite 5 to achieve mutual transmission of each other's data. For example, the ground station can transmit a schedule to the satellite to schedule the satellite in real time. The image data collected by the satellite can be fed back to the ground station, and when the imaging data is fed back to the designated ground station, the control command is determined to be executed.

[0031] Preferably, through the ranging data, the satellite status monitoring module can intuitively establish a satellite list, and the satellite list can contain satellite number information and orbit information of the satellite. The orbit of the satellite is often fixed so that the satellite list can reveal the state information of the satellite at a certain historical moment or a certain moment in the future. The state information may include the position and speed information of the satellite. Preferably, based on the limitations of the communication range of the ground station, the ground station can be distributed in different areas, such as different countries or different continents to ensure full coverage of the area for communication with the satellite. The ground station receives a scheduling command represented in the form of a schedule, for example, from the scheduling execution module 2. Based on the scheduling command, the ground station can control the satellite communicating with it to perform operations such as changing direction, changing orbit, changing imaging area, etc. Each ground station communicates with the satellite only when the satellite is within its communication range. When the satellite communicates with the ground station, the satellite can feed back the result of the corresponding task executed according to the previous scheduling command to the ground station, and at the same time, the ground station transmits its new scheduling command updated in real time to the satellite to update its scheduling command. For example, the previous scheduling command of the satellite only included completing the imaging of area B at time A. The scheduling command of the ground station added the completion of the imaging of area D at time C based on the needs of a third party. Through the communication between the ground station and the satellite, the satellite can obtain the newly added task command to complete the imaging of area D at time C.

[0032] Preferably, the demand processing module processes the input data received by it in a way of forming a heat map to intuitively display the processing results. The heat map can intuitively display the preference degree of customer demand, the attention degree of the region or the degree of task demand. The input data can enable the demand processing module to determine the key requirements of the object to be imaged, and the input data can be weather, sunlight calculation, existing imaging coverage level or other manual input that can affect the importance or priority of the imaging position. The scheduling optimization module can sort the priorities of the tasks in its schedule based on the heat map data processed by the demand processing module. Specifically, the demand processing module can receive data information for generating a heat map, such as weather data of atmospheric transparency corresponding to the imaging area, and the cloud coverage state of the imaging area can be analyzed through the weather data, and then the position where the satellite can be imaged can be adjusted accordingly. The demand processing module can also receive demand information data from a third party, such as a user-specified imaging area and imaging time, and then determine the key focus area that the user wants to image with a more frequent imaging frequency. The satellite status monitoring module 3 can at least transmit its satellite list to the demand processing module 4 respectively. The demand processing module 4 can perform heat map processing on the data information contained in the satellite list and the demand data it receives. The demand processing module can determine the position of the satellite and the area it can image based on the satellite list information, and then can determine the area that can be imaged at a higher imaging frequency or the satellite with better imaging coverage based on the satellite list. The heat map can show the key imaging area in the imaging object and the areas to which satellite resources should be dispatched to complete the key imaging of the key imaging area.

[0033] Preferably, the satellite 5 can perform at least a telemetry task or an imaging task based on the received schedule. For example, the satellite can use different models of cameras to image the earth. The satellite has a limited storage capacity, so that the task result data obtained after it performs the task can be temporarily stored. Before the storage capacity of the satellite is reached, the task result data is transmitted to the ground station through communication with the ground station. The scheduling optimization module also takes the limitation of the satellite's storage capacity as one of the important considerations when updating or adjusting the schedule.

[0034] Preferably, the satellite status monitoring module can also transmit the data information contained in the satellite list to the scheduling execution module. Based on the position, orbit and speed information of the satellite in the satellite list, the scheduling execution module can at least calculate the access time for communicating with the ground station, and feed the access time back to the scheduling optimization module to complete the update of the schedule. For example, in the process of the satellite orbiting the earth along its orbit, based on the limitations of the communication coverage of the ground station, the satellite communicates with the corresponding ground station only when it runs to the communication coverage of the ground station. During the entire operation process, it always maintains separate communication with a single ground station. The determination of the satellite's orbit makes the satellite orbit the earth with time periodicity, through which the exact time when the satellite reaches a certain area can be determined, and then the access time for it to communicate with the ground station set in the area can be determined.

[0035] For ease of understanding, the data interaction process of the multi-level satellite collaborative scheduling system is discussed in detail.

[0036] The scheduling command in the form of a schedule, for example, is sent to the ground station 6 through the scheduling execution module 2 to first complete the scheduling configuration of the ground station. The ground station can transmit the schedule to the satellite while communicating with the satellite so that the satellite can immediately respond to the schedule and immediately execute the relevant tasks. For example, it is to change the orbit or running direction to complete the imaging of a specific area, or to readjust the priority of the task to adjust the execution order of the task. The feedback information after the ground station executes the scheduling command can be directly transmitted to the scheduling execution module, and the feedback information after the satellite executes the scheduling command is forwarded to the scheduling execution module through the ground station. The feedback information is used to judge the execution of the scheduling command.

[0037] After the satellite responds to the scheduling command and performs the corresponding action, its orbit, direction or running speed may change. It is necessary to feed back the latest operating status of the satellite to the coordination and scheduling system so that the management personnel can understand the specific use status of the satellite. For example, the ranging data of the satellite can be transmitted to the satellite status monitoring module through the ground station to process and obtain the actual operating status of the satellite. For example, the orbit information of the satellite can be transmitted to the scheduling execution module and the demand processing module respectively, wherein the scheduling execution module determines the access time of the ground station visited by the satellite based on the orbit information of the satellite, and then can determine the sequence table and time sequence of the ground stations visited in sequence in the future time period through the access time. By comparing the access sequence tables of several ground stations, the use interference of the ground station can be clarified. When the access time is transmitted to the scheduling optimization module, it can facilitate the scheduling optimization module to complete the update of the scheduling control of the ground station. For example, satellite A will visit ground stations B, C and D in sequence in the next 24 hours, and satellite F will visit ground stations C, B and D in sequence in the next 24 hours. Then satellite A and satellite F will visit ground station D at the same time in the same time period. This access is restricted and cannot be executed. Therefore, it is necessary to optimize the scheduling of ground station D to avoid this restriction.

[0038] The demand processing module can receive the orbit information of several satellites at the same time. The demand processing module can intuitively display the imaging frequency of different areas of the earth in the form of a heat map based on the orbit information of several satellites. The orbit of each satellite will overlap in a certain area. For two or more satellites with the same orbit height, they will respectively run to their overlapping areas in a time difference manner and continuously image the area in a time difference manner. For two or more satellites with different orbit heights, they can image the area in the way of running to their overlapping areas at the same time. The more satellites whose orbits overlap in a certain area, the higher the imaging frequency of the area can be. The fewer satellites whose orbits overlap in a certain area, the lower the imaging frequency of the area. The heat map data obtained by processing the orbit information of several satellites by the demand processing module can be transmitted to the scheduling optimization module to realize the scheduling optimization of the satellite. For example, when the imaging frequency of a certain area is too high, the imaging frequency of the area can be reduced by adjusting the running direction of the satellite or changing its running speed through the scheduling optimization module to improve the utilization rate of limited satellite resources.

[0039] The demand processing module can also receive demand data information from a third party. For example, a third party needs to image area C between time period A and time period B. When the demand processing module receives demand data information from several third parties, it can intuitively display the key areas and key time periods that the third party wants to image through heat map processing. The optimization processing module can update the current scheduling command based on the demand data information of the third party and timely feedback it to the ground station through the scheduling execution module, thereby completing the update of the scheduling command of the ground station and the satellite.

[0040] Example 2

[0041] This embodiment is a further improvement on Embodiment 1, and the repeated contents will not be repeated here.

[0042] Preferably, the satellite collaborative scheduling system also includes a control command generation module 7. The control command generation module is configured to generate a first control command set according to the action tasks of the satellite and / or ground station, and the first control command set includes a list of action tasks of several satellites and / or ground stations. The control command can be displayed in a binary manner to indicate its state, for example, when its value is "1", it means "execute action task", and when its value is "0", it means "skip action task". The control command can be used to describe the problem to be solved and the user controls the execution of other tasks associated with the action task. For example, when the satellite performs an imaging task, the control command can instruct the satellite to perform a specific communication task with the ground station, and can instruct another satellite to image a specified area within a predetermined time period. The control command can be stored or displayed in a list, and the scheduling optimization module can generate new control commands based on changes in the satellite collaborative scheduling system. For example, when a new ground station or a new satellite is added, new imaging tasks and downlink communications are allowed to be executed.

[0043] Preferably, the first control command can include all possible action tasks that all components in the satellite collaborative scheduling system need to take. The first control commands usually conflict with each other and cannot be executed simultaneously. For example, a satellite cannot perform an imaging task while downlinking mission data, nor can it communicate with more than two ground stations at a time. For example, when executing two action tasks of a control command, there may not be enough time to change the satellite to the desired direction of movement or change the direction of the antenna of the ground station. Even if there is no conflict between the control commands, the action tasks contained in the control command may cause the satellite to appear in a non-ideal state, such as exhausting the battery power. The conflict in executing the control command may exist between the satellite and the ground station, or may exist between multiple satellites. Based on the above conflict, a conflict set associated with the first control command can be generated.

[0044] Preferably, Figure 2 As shown, the satellite collaborative scheduling system also includes a constraint generation module 8. The constraint generation module 8 can generate constraints based on the conflicts existing in the control commands to limit the execution of conflicting action tasks in the control commands. Based on a number of control commands generated by the control command generator within a period of time, a control command set can be obtained, and the control command set reveals the action task status of all components of the satellite collaborative scheduling system within a period of time. The control commands and constraints can be transmitted to the scheduling optimization module together to optimize the schedule. Specifically, the given schedule in the initial state often violates the constraints of the constraint generation module and cannot be implemented. The scheduling optimization module can process based on the input control commands and constraints to determine which control commands can be executed and which control commands cannot be executed, thereby realizing the optimization adjustment of the schedule.

[0045] Preferably, the scheduling optimization module is configured to optimize and adjust the schedule by changing the state of the control command. For example, based on the first control command set, the first control command whose state needs to be changed is selected, and the first control command is switched from "execution" to "skip". The scheduling optimization module configures a utility value for each control command as a basis for whether to accept the change when the control command state changes. For example, when the first control command is switched from "skip" to "execution", the second utility value after the first control command state changes is increased compared with the first utility value before its state changes, indicating that the change of the first control command state has achieved the effect of optimizing the schedule, and the change of the state can be accepted by the system. The utility value is a metric value of any given action task, such as a weighted value. The utility value can be calculated based on, for example, the collected imaging data, the storage control required by the satellite for storing the imaging data, and the imaging data downlink process. The utility value is used to judge the degree of influence of the change of the control command state on the optimization adjustment of the schedule. When the utility value increases based on the change of the control command state, it indicates that the change of the control command enables the schedule to be executed more effectively and complete the execution of the action task in a better state. For example, based on the existing schedule, due to the existence of constraints, the satellite cannot perform overall imaging of the specified area within the specified time period. The change in the state of the control command adjusts the execution of the action task contained therein. When the change in the state of the control command increases the utility value, it indicates that based on the adjusted schedule, the satellite can perform overall imaging of the specified area within the specified time period. Specifically, the utility value can be calculated by the following function: W = αA + βD + L + E, where α and β satisfy the functional relationship |α + β| = 1. W represents the utility value, and α and β are constants. A is the total amount of imaging data that needs to be collected by the satellite, and the unit can be megabytes. D is the storage capacity required for the imaging data that needs to be transmitted to the ground station via the satellite, and the unit can be megabytes. L is the product of the sum of the number of execution commands and the number of controlled communications when the schedule and telemetry data are exchanged and the constant, and the constant is less than 1. L can also be understood as a telemetry value. E is an additional count that does not consider the number of passes for downloading data.

[0046] Preferably, Figure 1 As shown, the scheduling optimization module is configured to optimize and adjust the schedule according to the following steps:

[0047] S1: Selecting a first control command whose state needs to be changed based on a control command set in a manner of changing the state of a single control command at a time.

[0048] A number of control commands for different components of the system, such as satellites and ground stations, can form a control command set in an integrated manner. The scheduling optimizer selects the control command to change the state from the control command set. The control command set can be a scheduling suggestion schedule for the entire system scheduling system within a certain time period.

[0049] Preferably, the scheduling optimization module generates additional identification information for each control command so that when the state of the control command is changed, the additional identification information is adjusted accordingly to intuitively reflect the state change of the control command. The scheduling optimization module generates an expected result as additional identification information for each state change of the control command. For example, when the control command of "establishing a downlink with a ground station" is switched from skipping to executing, it may cause the data capacity in the satellite and its battery charging state to decrease, causing the main downlink operation to violate the existing binding state, or interfere with other operations of the same satellite or nearby satellites.

[0050] Preferably, the scheduling optimization module can annotate different control commands in a manner of generating additional marks to achieve sorting of the control commands. For example, the control commands may involve satellites with different hardware configurations or different states, satellites in a debugging state, or satellites in a troubleshooting state that need priority access, and experimental or maintenance commands input by a third party that must be given priority. When a control command with the above-mentioned special needs requires that the change of its state takes precedence over finding the global optimum, the scheduling optimization module will process the control command in a manner that reflects the priority. Specifically, the scheduling optimization module can mark the corresponding control command as locked and unlocked based on the additional mark that establishes the priority. The scheduling optimization module selects an unlocked control command to change its state and complete its optimization. After the optimization is completed, the additional mark of the unlocked control command is switched to locked so that the scheduling optimization module can select another control command in an unlocked state according to a priority defined by a third party, for example.

[0051] S2: Determine whether the change of the control command state results in a violation of the constraint, wherein, if the change of the control command state results in a violation of the constraint, calculate the utility penalty corresponding thereto.

[0052] Preferably, each change in the state of a control command may conflict with other control commands, and corresponding constraints will be formed based on the existence of conflicts. For example, a satellite cannot perform an imaging task while downlinking mission data, nor can it communicate with more than two ground stations at a time. For example, when executing two action tasks of a control command, there may not be enough time to change the satellite to the required moving direction or change the direction of the antenna of the ground station. Even if there is no conflict between the control commands, the action tasks contained in the control command may cause the satellite to appear in an undesirable state such as exhausting the battery power. The conflict of executing the control command may exist between the satellite and the ground station, or between multiple satellites. The generation of constraints is completed by a constraint generation module. New constraints can be added or existing constraints can be eliminated based on the change in the state of the control command. Violation of constraints can be stored in a manner of forming a list with a data structure. Violation of constraints can contain information about conflicts. For example, a list of control commands affected by constraints or control commands that cannot be executed at the same time. When only one control command is allowed to be in the execution state, but there are actually two or more control commands required to be executed by a third party, a conflict will be generated to generate a violation of constraints.

[0053] Preferably, the utility penalty is used to judge the degree of influence of the violation of the constraint on the utility value. In the calculation process of the utility penalty, only the control commands affected by the violation of the constraint are considered so that the time required for evaluating the change of the control command state is shorter. For example, each violation of the constraint can include a list formed by multiple control commands affected by it. When the state of more than one control command is changed to execution at the same time to require them to be executed at the same time, the utility value generated by the operation will be weakened by the utility penalty. The calculation of the utility penalty can be based on the sparsity of the satellite collaborative scheduling system to make the evaluation time shorter and the optimization process of the schedule table reach the convergence state faster. Specifically, for example, the execution and cancellation of the action task of the satellite usually does not affect a large number of other satellites. The violation of the constraint is generated when, for example, the satellite is required to communicate with the ground station at the same time or the satellite is required to image the same designated area at the same time. The conflict caused by the violation of the constraint will not affect other satellites but only the satellite associated with it. When the scheduling optimization module optimizes the schedule according to the change of the state of the control command, it can avoid optimizing all control commands.

[0054] S3: Calculate the utility value of the selected control command based on the utility function and correct the utility value based on the utility penalty. When the change of the first control command increases its utility value, the schedule is optimized by accepting the modification of the state of the first control command. When the utility value decreases, the state modification of the current control command is not accepted. For example, the first utility value and the second utility value of the first control command before and after the state change are calculated respectively, and the second utility value is corrected based on the utility penalty to obtain a third utility value, wherein when the third utility value is greater than the first utility value, the schedule is optimized by accepting the state change of the first control command.

[0055] Preferably, each control command may generate several different conflicts with several other control commands, so that the execution of each control command will violate several different constraints. For example, taking the process of a satellite performing an imaging task of the earth and transmitting the imaging data obtained by it to a ground station as an example, each control command may include at least four elements: object, time, location, and event, and the object refers to the satellite and the ground station. The control command may be that the satellite performs an imaging task on area B during time period A and transmits the imaging data to ground station D at time C. Different types of conflicts will occur when control commands are executed simultaneously. For example, the imaging time of satellite a and satellite b for the same area conflicts, the communication time of satellite a and satellite b respectively conflicts with the same ground station, or the conflict caused by insufficient storage capacity of the same ground station. The control commands and the conflicts that may arise therefrom are stored in an interrelated manner. As shown in Table 1, control commands #1 to #4 are associated with conflict #a, control command #5 is associated with both conflict #a and conflict #b, and control command #6 and control command #7 are associated with conflict #b. Control commands #8 to #10 are associated with conflict #c. The number of control commands associated with the specified conflict and in the execution state is represented by M, and the utility penalty for the specified conflict is defined as zero when M<2. When M≥2, the utility penalty for the specified conflict is defined as M-1. If the utility penalty is less than or equal to 1, it indicates that the utility penalty is in the release state. The above definition of the utility penalty indicates that there can be at most one control command in the execution state based on the same conflict. When there are more than two control commands in the execution state, it will cause a violation of the constraint so that the control command cannot be executed. For example, as shown in Table 1, the state of the control command is represented in binary, the number "1" indicates that the control command is executed, and the number "0" indicates that the control command is skipped. There are four control commands associated with conflict #a in the execution state, which is greater than 2, so the utility penalty for conflict #a is 4-1=3. Control command #1, control command #3, control command #4 and control command #5 will violate the constraint based on conflict #a and cannot be executed at the same time. Preferably, the selection order of the first control command is determined in a decreasing manner according to the number of conflicts in the conflict set. For example, the conflict set may be composed of conflict #a, conflict #b and conflict #c in Table 1, wherein control command #5 is associated with conflict #a and conflict #b, and the remaining control commands are associated with a single conflict. Therefore, control command #5 may be the first control command selected. Preferably, when the number of conflicts associated with the first control commands is the same, the selection order of the first control commands is determined based on the inherent priority. For example, the inherent priority of the first control command may be determined based on the degree of repetition of the satellite 5 and the ground station 6 involved in the action task to be executed.When control command #1 includes satellite a and ground station b, the execution of other control commands may also require satellite a and ground station b. When satellite a and ground station b involve more control commands, the degree of duplication between satellite a and ground station b will be higher, indicating that the tasks involved by the satellite and ground station have a higher focus and have a higher inherent priority and should be executed first.

[0056] Table 1

[0057] Conflict#a Conflict#b Conflict#c Control Command #1 1 Control Command #2 0 Control Command #3 1 Control Command #4 1 Control Command #5 1 1 Control Command #6 0 Control Command #7 1 Control Command #8 1 Control Command #9 1 Control Command #10 1

[0058] Preferably, when the utility value of control command #5 is M calculated based on the utility function, the state of control command #5 is switched from "1" to "0" so that its utility value is reduced by 0.5. After the switch, the penalty utility of conflict #a is reduced from 3 to 2, the penalty utility of conflict #b is reduced from 1 to 0, and the penalty utility of conflict #c remains unchanged. The utility value is corrected by deducting the penalty utility from the utility value. The utility penalty and the utility value are corrected in a difference manner. Preferably, when the increase in the utility value is greater than the increase in the penalty utility, or the decrease in the utility value is less than the decrease in the penalty utility, the schedule is optimized and adjusted again in accordance with the state change of the second control command. For example, the total penalty utility reduction value is 2, that is, the total penalty utility value is -2, and the utility value is corrected by the penalty utility by 0.5-(-2)=1.5, indicating that the utility value has increased by 1.5 after correction. Then the system accepts the state change of control command #5. In case the utility value decreases, the state modification of the current control command is not accepted and it is restored to its initial state.

[0059] Preferably, when the utility value increases and the state modification of the current first control command is accepted, another first control command is selected for optimization again until all penalties are eliminated, and the optimization adjustment of the schedule is completed. Preferably, when the states of all first control commands are changed, a second control command set is generated based on the first control command in the skipped state, wherein, when at least one first control command is executed, based on the conflict associated with the executed first control command, a second control command associated with the conflict is selected to complete the re-optimization adjustment of the schedule. The judgment criteria for whether the state change of the second control command is accepted are the same as those for the first control command.

[0060] Preferably, the selection of the second control command can be based on at least one conflict associated with the first control command that has been executed, and at least one second control command associated with the conflict can be selected. For example, as described in Table 1, when control command #1 is executed, conflict #a is associated with control command #1, and control command #2 is associated with conflict #a and is in a skipped state. Therefore, control command #2 can be selected as the first second control command selected. In the case where there are multiple second control command states associated with conflict #a and are in a skipped state, based on the satellite and ground station associated with the first control command that has been executed, a single second control command associated with the satellite and the ground station is again selected from the at least one second control command that has been filtered out.

[0061] It should be noted that the above specific embodiments are exemplary, and those skilled in the art can come up with various solutions inspired by the disclosure of the present invention, and these solutions also belong to the disclosure scope of the present invention and fall within the protection scope of the present invention. Those skilled in the art should understand that the present invention description and its drawings are illustrative and do not constitute a limitation of the claims. The protection scope of the present invention is defined by the claims and their equivalents.

Claims

1. A satellite scheduling optimization system, characterized in that: At least includes a scheduling optimization module, and the scheduling optimization module is configured as follows: Generate a first control command set based on the motion mission of the satellite and / or the motion mission of the ground station; When the change of control command state causes violation of constraints, the corresponding utility penalty is calculated; The utility value of the control command selected based on the utility function calculation is modified according to the utility penalty, and when the change of the first control command increases its utility value, the modification of the state of the first control command is accepted to complete the optimization adjustment of the schedule; selecting a first control command requiring a change of state based on the first set of control commands and determining a utility penalty based on at least a conflict associated with the first control command if the change of state of the first control command is performed; The first utility value and the second utility value of the first control command before and after the state change are respectively calculated, and the second utility value is corrected based on the utility penalty to obtain a third utility value, wherein: In a case where the third utility value is greater than the first utility value, the schedule is optimized and adjusted in a manner of accepting the state change of the first control command.

2. The optimization system according to claim 1, characterized in that: The scheduling optimization module is configured as follows: generating a conflict set associated with the first control command based at least on the status thereof; The selection order of the first control commands is determined in a descending manner according to the number of conflicts in the conflict set, and each first control command in the first control command set is selected in turn based on the selection order, and the schedule is optimized and adjusted in a manner of changing the state of the first control command to eliminate the utility penalty.

3. The optimization system according to claim 1, characterized in that: The state of the first control command includes at least an execution state and a skip state, wherein: The scheduling optimization module is configured as follows: In the case where the states of all first control commands change, a second control command set is generated based on the first control commands in the skipped state, wherein: When at least one of the first control commands is executed, based on the conflict associated with the first control command that has been executed, a second control command associated with the conflict is selected to complete the re-optimization adjustment of the schedule; The judgment criteria for whether the state change of the second control command is accepted are the same as those for the first control command, and the selection of the second control command is based on at least one conflict associated with the executed first control command to filter out at least one second control command associated with the conflict.

4. The optimization system according to claim 3, characterized in that: The scheduling optimization module is configured as follows: Based on at least one conflict associated with the first control command that has been executed, selecting at least one second control command associated with the conflict and switching its state to an execution state; Based on the state change of the second control command, the corresponding utility value and penalty utility are calculated. When the increase in the utility value is greater than the increase in the penalty utility, or the decrease in the utility value is less than the decrease in the penalty utility, the schedule is re-optimized and adjusted in accordance with the state change of the second control command.

5. The optimization system according to claim 3, characterized in that: The scheduling optimization module is configured as follows: Based on feedback information from the satellite and the ground station, a time sequence of satellite access to the ground station is obtained by determining orbital information of the satellite, and based on the time sequence, the ground station and satellite corresponding to the completion of the execution of the first control command are determined; A second control command associated with the ground station and satellite corresponding to the completion of the execution of the first control command is selected to change the state thereof.

6. The optimization system according to claim 3, characterized in that: The scheduling optimization module is configured as follows: associating at least each first control command or each second control command with at least one conflict; associating each conflict with at least one first control command or at least one second control command; in: Based on at least one conflict associated with the first control command that has been executed, at least one second control command associated with the conflict is selected; A single second control command associated with the satellite and the ground station associated with the executed first control command is again selected from the at least one selected second control command.

7. The optimization system according to claim 1, characterized in that: The scheduling optimization module is configured to select the first control command in the following manner: The first control command can determine the inherent priority based on the duplication degree of the satellites and ground stations involved in its action tasks; When the numbers of conflicts associated with the first control commands are the same, the selection order of the first control commands is determined based on the inherent priorities.

8. The optimization system according to claim 1, characterized in that: The scheduling optimization module is configured to perform correction in a manner of difference between the utility penalty and the second utility value, wherein: When the number of first control commands associated with the specified conflict and in execution state is M, the utility penalty is defined as M-1, and when the utility penalty is less than or equal to 1, the utility penalty is in elimination state.

9. A satellite scheduling optimization method, characterized in that: The optimization method comprises: Generate a first control command set based on the motion mission of the satellite and / or the motion mission of the ground station; When the change of control command state causes violation of constraints, the corresponding utility penalty is calculated; The utility value of the control command selected based on the utility function calculation is modified according to the utility penalty, and when the change of the first control command increases its utility value, the modification of the state of the first control command is accepted to complete the optimization adjustment of the schedule; selecting a first control command requiring a change of state based on the first set of control commands and determining a utility penalty based on at least a conflict associated with the first control command if the change of state of the first control command is performed; The first utility value and the second utility value of the first control command before and after the state change are respectively calculated, and the second utility value is corrected based on the utility penalty to obtain a third utility value, wherein: In a case where the third utility value is greater than the first utility value, the schedule is optimized and adjusted in a manner of accepting the state change of the first control command.