A high-orbit satellite regional target observation planning method, system and device
Patent Information
- Application Number
- CN202310341891.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-03-31
AI Technical Summary
[0005]目前,高轨道卫星对区域目标进行观测时往往采用人工规划路径,很难快速、高效地规划出最优路径,而且针对观测目标的不同需求,致使高轨道卫星的观测效率及质量亟待提升
[0079]本发明提供的一种高轨道卫星区域目标观测规划方法、系统及装置,针对不同的观测需求,将待观测的区域目标按照面阵分割或线阵分割两种方式分别进行划分,并分别进行启发式任务调度,为高轨道卫星区域目标观测规划提供了有力保障,从而提高了观测效率及质量。
Smart Images

Figure CN116415785B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite observation technology, and in particular to a method, system and device for planning regional target observation of high-orbit satellites. Background Technology
[0002] Earth observation satellites (EOSs) are satellites capable of acquiring images of specific areas on the Earth's surface according to different observation needs. Due to their stable operation, wide observation coverage, and low cost per unit of coverage, EOSs have played an irreplaceable role in many fields such as environmental protection, disaster prevention and control, agricultural production, marine development, and weather forecasting.
[0003] Satellite observation targets can be divided into point targets and regional targets: point targets are targets that can be observed and covered by a single satellite sensor in one go; regional targets are targets that need to be divided and observed and covered by multiple satellites or by a single satellite multiple times.
[0004] High-orbit satellites, also known as geostationary orbit satellites, orbit at an altitude of approximately 36,000 km with an orbital period of about 24 hours. A single satellite can cover one-third of the Earth's surface. All targets within the field of view of a high-orbit satellite are visible for 24 hours, making them ideal for revisiting the same target and imaging large areas. Unlike low-orbit satellites, which use onboard cameras to scan a strip of light to cover the target as they pass, high-orbit satellites precisely control the attitude and deflection angle of their detectors to align with the target. Due to differences in latitude and longitude of the target, high-orbit satellites need to continuously adjust the attitude and deflection angle of their detectors to complete their mission.
[0005] Currently, when high-orbit satellites observe regional targets, they often rely on manual path planning, which makes it difficult to quickly and efficiently plan the optimal path. Furthermore, the varying needs of different observation targets necessitate improvements in the efficiency and quality of high-orbit satellite observations. Therefore, how to enable high-orbit satellites to conduct efficient observations of ground-based targets has become a major research challenge that urgently requires resolution within the industry. Summary of the Invention
[0006] The purpose of this invention is to provide a method, system, and apparatus for planning regional target observation using high-orbit satellites, so as to solve at least one of the aforementioned technical problems existing in the prior art.
[0007] In a first aspect, to solve the above-mentioned technical problems, the present invention provides a regional imaging method for high-orbit satellites, comprising the following steps:
[0008] Step 1: Obtain the feature vectors of the target area, construct the bounding rectangle, and determine the division boundary;
[0009] Step 2: Based on the observation requirements of the defined boundaries and regional targets, perform area array segmentation or linear array segmentation: area array segmentation yields area array grid vectors and matrix indices; linear array segmentation yields linear array bar vectors and bar list.
[0010] Step 3: Perform task scheduling for the area array segmentation or the line array segmentation, respectively.
[0011] Through the above steps, the regional targets can be segmented in a targeted manner according to the observation needs of different observation areas, and the optimal observation path can be quickly planned, thereby improving the observation efficiency and observation quality of high-orbit satellites.
[0012] In one feasible embodiment, the dividing boundary includes the coordinate vector of a rectangle enclosed by the maximum and minimum longitude, maximum and minimum latitude of the target vertex in the region.
[0013] In one feasible embodiment, the area grid vector or linear grid vector includes a center point coordinate vector and four vertex coordinate vectors, which can simplify the amount of data and improve the utilization of computer storage.
[0014] In one feasible embodiment, the matrix index uses a two-dimensional list to locate the grid, enabling fast location and retrieval.
[0015] In one feasible embodiment, the specific steps of area segmentation in step 2 include:
[0016] Step 2101: Based on the vertex information of the boundary division, sort the latitude and longitude of the region to obtain the latitude and longitude vector, which specifically includes: the maximum longitude of the region, the minimum longitude of the region, the maximum latitude of the region, and the minimum latitude of the region;
[0017] Step 2102: Calculate the latitude increment of the grid based on the satellite strip width for subsequent iterative calculations; the satellite strip width can be the minimum width of the satellite camera.
[0018] Step 2103: Initialize latitude values, longitude values, matrix index numbers, and other parameters;
[0019] Step 2104: Based on the satellite strip width, calculate the longitude increment at the current latitude. Based on the latitude increment and the longitude increment, calculate the number of grid rows and the number of grid columns to uniformly divide the regional target into several horizontal rectangles along the horizontal direction.
[0020] Step 2105: Initialize latitude serial number;
[0021] Step 2106: If the latitude index is less than or equal to the number of grid rows, proceed to step 2107; otherwise, end the program.
[0022] Step 2107: Determine whether the current latitude is less than or equal to the maximum latitude of the region: if yes, proceed to step 2108; otherwise, increment the latitude number by one unit, update the latitude value, and proceed to step 2106.
[0023] Step 2108: Calculate the initial longitude and initialize the longitude sequence number based on the longitude increment;
[0024] Step 2109: If the current longitude index is less than or equal to the number of grid columns, initialize the current matrix index and execute step 2110; otherwise, increment the latitude index by one unit, update the latitude value, and then execute step 2106.
[0025] Step 2110: Based on the judgment condition, determine whether the current longitude value is less than or equal to the maximum longitude of the area: if yes, proceed to step 2111; otherwise, update the longitude value, increment the longitude sequence number by one unit, and then proceed to step 2109.
[0026] Step 2111: Construct the center point of each grid and determine whether the center point is within the region: if it is, proceed to step 2112; otherwise, update the longitude value, increment the longitude index by one unit, and then proceed to step 2109.
[0027] Step 2112: Add the grid to the grid list, increment the current matrix index by one unit; update the longitude value, increment the longitude number by one unit, and then execute step 2109.
[0028] By using the above method, the regional target is divided into equal intervals and accurately marked by grids, which can reduce redundant calculations and reduce complexity. Each grid can serve as a single imaging task, which makes it convenient for users to provide the grid number of the key areas of interest in subsequent imaging based on the matrix index. On this basis, the satellite only needs to observe this grid, thereby improving the targeting of observations and increasing observation efficiency.
[0029] In one feasible implementation, the specific steps of linear array segmentation in step 2 include:
[0030] Step 221: Based on the vertex information of the boundary division, sort the longitude of the region to obtain the longitude vector, which specifically includes: the maximum longitude and the minimum longitude of the region;
[0031] Step 222: Calculate the longitude increment of the grid based on the satellite strip width for subsequent iterative calculations; the satellite strip width can be the minimum width of the satellite camera.
[0032] Step 223: Calculate the number of grid columns based on the region's maximum longitude, minimum longitude, and longitude increment;
[0033] Step 224: Initialize longitude values and column index numbers, etc.
[0034] Step 225: Determine whether the column index number is less than or equal to the number of columns: if yes, proceed to step 226; otherwise, end the program.
[0035] Step 226: Based on the maximum and minimum longitude of the grid, determine the maximum and minimum latitude of the region boundary within the grid, and use them as the maximum and minimum latitude of the grid to determine the range of the grid.
[0036] Step 227: Add the bars to the bar list, update the longitude value based on the longitude increment, increment the longitude number by one unit, and then execute step 225.
[0037] Using the above method, the regional target can be divided into several equidistant observation grids, which facilitates efficient subsequent satellite observation of each grid, thereby ensuring complete coverage of the regional target.
[0038] In one feasible embodiment, the longitude increment in step 227 further includes an offset coefficient, which is used to create overlap between the bars to ensure comprehensive coverage observation of regional targets.
[0039] In one feasible embodiment, the method for determining the array task scheduling result in step 3 specifically includes:
[0040] Step 311: Send the matrix index related to the regional target to the user and receive the required sequence number from the user.
[0041] Step 312: Based on the required sequence number and the area grid vector, calculate the Euclidean distance between all the required observation grids of the regional target and the previous planned task, select the required observation grid with the shortest Euclidean distance as the task to be observed and insert it into the task planning list, and perform constraint checks through the constraint planning model.
[0042] Step 313: Calculate the Euclidean distance between the remaining observation grids and the previous observation grid in sequence, select the observation grid with the shortest Euclidean distance as the observation task and insert it into the task planning list, and perform constraint checks through the constraint planning model until there are no observation grids in the target area.
[0043] Step 314: Output a task planning list, which includes a task scheduling sequence and time.
[0044] In one feasible embodiment, the method for determining the linear array task scheduling result in step 3 specifically includes:
[0045] Step 321: Based on the linear array grid vector, grid list and observation information, calculate the time consumed for different observation sequences, whereby the time consumed includes task observation time and task switching time.
[0046] Step 322: Select the observation order with the shortest time consumption and insert it into the task planning list.
[0047] Step 323: Output the task planning list, which includes the task scheduling sequence and time.
[0048] Using the above method, a list of task plans with the shortest execution time for linear array segmentation can be quickly determined.
[0049] In one feasible embodiment, the observation sequence in step 321 includes top-left entry, bottom-left entry, top-right entry, and bottom-right entry:
[0050] The term "entering from the top left" refers to starting from the top of the first grid on the left side of the target area, observing from top to bottom, then moving to the bottom of the next grid on the right, and observing from bottom to top, and so on to complete all observations.
[0051] The term "entering from the lower left" refers to starting from the bottom of the first grid on the left side of the target area, observing from bottom to top, then moving to the top of the next grid on the right and observing from top to bottom, and so on to complete all observations.
[0052] The term "entering from the upper right" refers to starting from the upper part of the tail grid at the right end of the target area, observing from top to bottom, then moving to the lower part of the next grid to the left and observing from bottom to top, and so on to complete all observations.
[0053] The term "entering from the lower right" refers to starting from the bottom of the tail grid at the right end of the target area, observing from bottom to top, then moving to the upper part of the next grid to the left and observing from top to bottom, and so on to complete all observations.
[0054] In one feasible embodiment, the method for determining the linear array task scheduling result in step 3 can also be achieved by calculating the shortest Euclidean distance between the linear array grid vector and the previously planned task. The idea is similar to that for determining the area array task scheduling result, and will not be repeated here.
[0055] In one feasible embodiment, the constrained programming model includes an objective function, observation window constraints, observation time constraints, task switching time constraints, predecessor task constraints, successor task constraints, one-time constraints, and decision variables:
[0056] The objective function is to find the maximum value of all task completion priority levels;
[0057] The observation window constraint means that the satellite's observation period must be within the observation time window required by the user.
[0058] The observation time constraint refers to the equation relationship between the start, end, and duration of the task observation;
[0059] The task switching time constraint refers to the requirement that the switching time between connected tasks meets the constraint conditions.
[0060] The preceding task constraint means that each task has at most one preceding task.
[0061] The immediate successor task constraint means that each task has at most one immediate successor task.
[0062] The one-time constraint means that each task can only be completed once, and each task is neither its predecessor nor its successor.
[0063] The decision variable is a 0-1 decision variable, indicating whether a certain task in each solution of the scheduling sequence has a predecessor task.
[0064] The above model allows for quick constraint checks on tasks, eliminating those that do not meet the constraints.
[0065] Secondly, based on the same inventive concept, this application also provides a high-orbit satellite regional target observation and planning system, including a data receiving module, a data processing module, and a result generation module:
[0066] The data receiving module is used to acquire the feature vectors, observation requirements, and observation information of targets in each region. The observation requirements include: whether there are key observation points within the regional targets, target positioning accuracy, task solution time, payload working swath width, number of tasks to be planned, task priority level, user request time window, etc. The observation information includes satellite parameters such as satellite strip swath width, task switching time, and task observation time window.
[0067] The data processing module includes a boundary division unit, a task classification unit, an area array segmentation unit, a linear array segmentation unit, a constraint programming model unit, an interaction unit, an area array task scheduling unit, and a linear array task scheduling unit.
[0068] The boundary unit is defined by constructing an circumscribed rectangle based on the feature vector of the target area.
[0069] The task classification unit makes a judgment based on the observation requirements: sending regional targets with observation priorities to the area array segmentation unit and sending regional targets without observation priorities to the line array segmentation unit;
[0070] The area segmentation unit, based on the division boundary, divides the regional target into several grids at equal intervals through incremental calculation, thereby obtaining the area grid vector and matrix index;
[0071] The linear array segmentation unit, based on the division boundary, divides the regional target into several grids at equal intervals through incremental calculation, thereby obtaining the linear array grid vector and grid list;
[0072] The constrained programming model unit is used to store the constrained programming model and update the model parameters based on observation requirements and observation information;
[0073] The interaction unit is used to interact with the user.
[0074] The array task scheduling unit sends the matrix index to the interaction unit to obtain the observation sequence number fed back by the user. Based on the observation sequence number and the array grid vector, the unit selects the observation tasks to be inserted into the task planning list by solving the minimum Euclidean distance between the observation grid and the previous planned task, and calls the constraint planning model to perform constraint checks on the tasks.
[0075] The linear array task scheduling unit calculates the time or Euclidean distance for different observation sequences based on the linear array grid vector, grid list and observation information, and selects the observation sequence with the shortest time or Euclidean distance to insert into the task planning list.
[0076] The result generation module is used to publish the task planning list to the public.
[0077] Thirdly, based on the same inventive concept, this application also provides a high-orbit satellite regional target observation planning device, including a processor, a memory, and a bus. The memory stores instructions and data that can be read by the processor; the processor is used to call the instructions and data in the memory to execute the high-orbit satellite regional target observation planning method as described above; the bus connects the various functional components to transmit information.
[0078] By adopting the above technical solution, the present invention has the following beneficial effects:
[0079] This invention provides a method, system, and apparatus for planning regional target observations of high-orbit satellites. To meet different observation needs, the regional targets to be observed are divided into two types: area array segmentation and line array segmentation. Heuristic task scheduling is then performed for each type, providing strong support for the planning of regional target observations of high-orbit satellites and thus improving observation efficiency and quality. Attached Figure Description
[0080] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0081] Figure 1 A flowchart of a high-orbit satellite regional target observation planning method is provided for embodiments of the present invention;
[0082] Figure 2 A flowchart of area array segmentation provided in an embodiment of the present invention;
[0083] Figure 3 This is a schematic diagram of area array segmentation provided in an embodiment of the present invention;
[0084] Figure 4 Example diagram of area array segmentation results provided in an embodiment of the present invention;
[0085] Figure 5 A flowchart of linear array segmentation provided in an embodiment of the present invention;
[0086] Figure 6 This is a schematic diagram of linear array segmentation provided in an embodiment of the present invention;
[0087] Figure 7 Example diagram of linear array segmentation results provided in an embodiment of the present invention;
[0088] Figure 8 This is a flowchart of the array task scheduling process provided in an embodiment of the present invention;
[0089] Figure 9 This is a flowchart of linear array task scheduling provided in an embodiment of the present invention;
[0090] Figure 10 This is a schematic diagram of the observation sequence provided in an embodiment of the present invention;
[0091] Figure 11 A diagram of a high-orbit satellite regional target observation planning system is provided for embodiments of the present invention. Detailed Implementation
[0092] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0093] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0094] To clearly illustrate the embodiments of the present invention, the main inventive concepts are now described.
[0095] Since the instruments carried by high-orbit satellites cannot cover the entire area at once, the target area needs to be divided before observation begins. Depending on the observation requirements, there are two types of area division: area division and line division. Area division divides the area into approximately square grids, while line division divides the area into rectangular strips.
[0096] In addition, a single high-orbit satellite will carry multiple payloads, each with different operating modes. These different payloads and operating modes will correspond to different imaging swaths.
[0097] Therefore, the following two principles are mainly involved in the division of regional objectives:
[0098] Mesh granularity principle: When dividing the region, three observation requirements need to be considered: target positioning accuracy, task solution time, and payload working swath. Higher positioning accuracy requires a smaller mesh granularity, but this increases the solution time. Conversely, increasing the mesh granularity can reduce the task solution time, but it reduces positioning accuracy, and a single observation strip will not be able to cover a complete grid at once.
[0099] Grid orientation principle: The grid division needs to follow the working mode of the satellite's own payload to facilitate the satellite's imaging work.
[0100] Based on the above principles, we adopt a region partitioning method based on minimum width. During the decomposition process, the region is divided at equal intervals along the latitude and longitude directions to ensure that the width of each grid is consistent, thus facilitating grid maintenance and subsequent task planning. The main steps of grid partitioning are divided into three parts: region boundary determination, region grid partitioning based on minimum width, and fast grid index construction.
[0101] The region boundary determination is achieved by acquiring the region's feature vectors and constructing the circumscribed rectangle of the region's targets, thus defining the boundary for network partitioning. The region boundary is a four-dimensional coordinate vector composed of the maximum and minimum latitude and longitude values among the user-given vertices of the region's targets, thereby obtaining the coordinates of the circumscribed rectangle ABCD. If the region's targets cross a 180° meridian, a 360° compensation operation can be applied to negative longitudes to obtain positive longitudes.
[0102] The minimum swath-based region grid segmentation refers to using a region grid based on the minimum swath width to achieve equidistant segmentation of the region. This reduces redundant calculations and computational complexity, and also facilitates subsequent task planning. Each resulting grid can serve as a single imaging task. Both segmentation methods employ a two-layer loop to determine the latitude and longitude of the grid cells.
[0103] The rapid grid index is constructed to enable quick retrieval of grids corresponding to the target when determining key observation areas and observation order. Therefore, a grid information vector and a grid index matrix are introduced to store and index grid information. The grid information vector includes the coordinates of the grid's center point and four vertices. Introducing this vector improves computer storage utilization. Since area division is achieved by circumscribing rectangles around polygonal areas, many grids obtained from the division are not within the target area; therefore, only grids within the target area are considered. The grid index matrix is a two-dimensional matrix. A two-dimensional list is constructed to enable rapid location of key observation areas and rapid retrieval of corresponding grids. If the index value is -1, it indicates that the grid is not within the target area.
[0104] Finally, based on different regional division methods, different task scheduling schemes are adopted to obtain the planning results with the shortest task distance or the least task consumption time.
[0105] The present invention will be further explained below with reference to specific embodiments.
[0106] It should also be noted that the specific embodiments or implementation methods described below are a series of optimized settings listed by the present invention to further explain the specific content of the invention, and these settings can be combined or used in conjunction with each other.
[0107] Example 1:
[0108] like Figure 1 As shown in the figure, the high-orbit satellite regional target observation planning method provided by the present invention mainly includes the following steps:
[0109] Step 1: Obtain the feature vectors of the target area, construct the bounding rectangle, and determine the division boundary;
[0110] Step 2: Based on the observation requirements of the defined boundaries and regional targets, perform area array segmentation or linear array segmentation: area array segmentation yields area array grid vectors and matrix indices; linear array segmentation yields linear array bar vectors and bar list.
[0111] Step 3: Perform task scheduling for the area array segmentation or the line array segmentation, respectively.
[0112] Through the above steps, the regional targets can be segmented in a targeted manner according to the observation needs of different observation areas, and the optimal observation path can be quickly planned, thereby improving the observation efficiency and observation quality of high-orbit satellites.
[0113] Furthermore, the boundary definition includes the coordinate vector of the rectangle enclosed by the maximum and minimum longitude, maximum and minimum latitude of the regional target vertex. If the regional target crosses the 180° meridian, then negative longitudes are added by 360° to convert them into positive longitudes.
[0114] Furthermore, the area grid vector or linear grid vector includes the center point coordinate vector and the four vertex coordinate vectors, which simplifies the data volume and improves computer storage utilization. Since the region division is achieved by circumscribing rectangles around the polygonal region, many of the resulting grids are not within the region itself; therefore, only the grids within the region are considered.
[0115] Furthermore, the matrix index uses a two-dimensional list to locate the grid, enabling fast location and retrieval.
[0116] Furthermore, such as Figure 2 As shown, the specific steps of area segmentation in step 2 include:
[0117] Step 2101: Based on the vertex information of the boundary division, sort the latitude and longitude of the region to obtain the latitude and longitude vector V. feature Specifically, this includes: the region's maximum longitude (lon) max Minimum longitude of the region min Maximum latitude of the region (lat) max and the minimum latitude of the region lat min The specific formula can be:
[0118] V feature =(lat max lat min lon max lon min )
[0119] Step 2102: Based on the satellite strip width, calculate the latitude increment ΔLat of the grid for subsequent iterative calculations. The specific formula can be:
[0120]
[0121] Where, r e Indicates the Earth's equatorial radius;
[0122] Step 2103: Initialize latitude value Lat, longitude value Lon, and matrix index number k: Lat = 0, Lon = 0, k = 0
[0123] Furthermore, if the condition lat is met max ×lat min >0
[0124] Then Lat = min(abs(lat) max ), abs(lat min ))
[0125] Step 2104: Based on the satellite strip width, calculate the longitude increment ΔLon at the current latitude; based on the latitude increment ΔLat and the longitude increment ΔLon, calculate the number of grid rows N. row and the number of grid columns N col This is used to uniformly divide a target area into several horizontal rectangles along the horizontal direction. The specific formula is as follows:
[0126]
[0127]
[0128]
[0129] Step 2105: Initialize the latitude index i, i.e., i = 0;
[0130] Step 2106: If the latitude index is less than or equal to the number of grid rows, i.e., i ≤ N row If the condition is met, proceed to step 2107; otherwise, the region segmentation is complete, and the program ends.
[0131] Step 2107: Determine whether the current latitude is less than or equal to the maximum latitude of the region, i.e. If yes, proceed to step 2108; otherwise, increment the latitude index i by one unit, i.e., i = i + 1, and update the latitude value incrementally according to the formula Lat = Lat + ΔLat, and proceed to step 2106.
[0132] Step 2108: Based on the longitude increment ΔLon, using the formula:
[0133]
[0134] Calculate the initial longitude and initialize the longitude index j by setting j = 0;
[0135] Step 2109: If the current longitude index j is less than or equal to the number of grid columns N col That is, j≤N col If the current matrix index I(i,j) is initialized, I(i,j) = -1, and step 2110 is executed; otherwise, the latitude index i is incremented by one unit, i.e. i = i + 1, and the latitude value is updated by incremental calculation according to the formula Lat = Lat + ΔLat, and then step 2106 is executed.
[0136] Step 2110: Based on the judgment conditions Determine whether the current longitude value Lon is less than or equal to the maximum longitude lon of the region. max If yes, proceed to step 2111; otherwise, update the longitude value Lon according to the formula Lon=Lon+ΔLon, and increment the longitude index j by one unit, i.e. j=j+1, and then proceed to step 2109.
[0137] Step 2111: Assign the latitude value of the first grid center point P to Lat, and the longitude value of P to Lon, i.e., P = (Lat, Lon). Determine whether the center point is within the region: if yes, proceed to step 2112; otherwise, update the longitude value Lon according to the formula Lon = Lon + ΔLon, and increment the longitude index j by one unit, i.e., j = j + 1, and then proceed to step 2109.
[0138] Step 2112: Add the grid to the grid list, increment the current matrix index k by one unit, i.e., k = k + 1; update the longitude value Lon according to the formula Lon = Lon + ΔLon, increment the longitude index j by one unit, i.e., j = j + 1, and then execute step 2109.
[0139] Through the methods described above, such as Figure 3 As shown, dividing and precisely marking regional targets using a grid reduces redundant calculations and lowers complexity. Each grid can serve as a single imaging task, allowing users to subsequently provide grid numbers for key areas of interest based on a matrix index. Based on this, the satellite only needs to observe this grid, thereby improving the targeting and efficiency of observations. Specific effects are shown in the figure. Figure 4 As shown.
[0140] Furthermore, such as Figure 5 As shown, the specific steps of linear array segmentation in step 2 include:
[0141] Step 221: Based on the vertex information of the boundary division, sort the longitudes of the region to obtain the longitude vector V. feature Specifically, this includes the region's maximum longitude. max and the minimum longitude of the regionmin :
[0142] V feature =(lom) max lon min );
[0143] Step 222: Based on the satellite strip width and the Earth's equatorial radius r e Calculate the longitude increment ΔLon of the grid for subsequent iterative calculations. The specific formula is as follows:
[0144]
[0145] Step 223: Based on the maximum longitude of the region (lon) max Minimum longitude of the region min And the longitude increment ΔLon, calculate the number of grid columns N. col The specific formula can be:
[0146] N col =[(lon max -lon min ) / ΔLon]
[0147] Step 224: Based on the longitude increment ΔLon and the minimum longitude of the region lon min To initialize the longitude value Lon, the specific formula is as follows:
[0148]
[0149] And initialize the column index number i, setting i = 0;
[0150] Step 225: Determine whether the column index number i is less than or equal to the number of columns N. col That is, i≤N col If yes, proceed to step 226; otherwise, the process ends after the segmentation is complete.
[0151] Step 226: Obtain the longitudes of the left and right vertices of the i-th grid by using the maximum and minimum longitudes of the i-th grid.
[0152] Based on the longitudes of the left and right vertices of the grid and their longitude increments ΔLon, the latitude of the top left vertex of the grid is determined through incremental calculation. Latitude of the lower left vertex Latitude of the top right vertex and the latitude of the lower right vertex
[0153] Determine whether vertex k of the region boundary is within the grid, and obtain the latitude of the region boundary vertex within the grid.
[0154] By comparing, the maximum latitude of the region boundary within the grid is obtained as the maximum latitude of that grid.
[0155] By comparing, the minimum latitude of the region boundary within the grid is obtained as the minimum latitude of that grid.
[0156] The specific formula can be:
[0157]
[0158]
[0159] in, This indicates whether the boundary vertex of the k-th region is within the i-th cell; if so, it is 1, otherwise it is 0; M represents a maximum value.
[0160] Step 227: Add the bars to the bar list, and update the longitude value Lon based on the longitude increment ΔLon. The specific formula can be:
[0161] Lon=Lon+K×ΔLon
[0162] Here, K represents the bias coefficient, used to create a quantitative overlap between the grid lines to ensure that the target area is observed completely, even if it results in a slight loss of observation efficiency. Specifically, when K is 0.9, there will be a 10% overlap between the two grid lines. Of course, other bias coefficients can be selected according to actual needs.
[0163] Then increment the longitude number I by one unit, i.e., I = I + 1, and then execute step 225.
[0164] Through the methods described above, such as Figure 6 As shown, the regional target can be divided into several equidistant observation grids, facilitating efficient subsequent satellite observations of each grid, thereby ensuring complete coverage of the regional target. The specific effect is as follows: Figure 7 As shown.
[0165] Furthermore, such as Figure 8 As shown, the method for determining the array task scheduling result in step 3 specifically includes:
[0166] Step 311: Send the matrix index related to the regional target to the user and receive the required sequence number from the user.
[0167] Step 312: Based on the required sequence number and the area grid vector, calculate the Euclidean distance between all the required observation grids of the regional target and the previous planned task, select the required observation grid with the shortest Euclidean distance as the task to be observed and insert it into the task planning list, and perform constraint checks through the constraint planning model.
[0168] Step 313: Calculate the Euclidean distance between the remaining observation grids and the previous observation grid in sequence, select the observation grid with the shortest Euclidean distance as the observation task and insert it into the task planning list, and perform constraint checks through the constraint planning model until there are no observation grids in the target area.
[0169] Step 314: Output a task planning list, which includes a task scheduling sequence and time.
[0170] Furthermore, such as Figure 9 As shown, the method for determining the linear array task scheduling result in step 3 specifically includes:
[0171] Step 321: Based on the linear array grid vector, grid list and observation information, calculate the time consumed for different observation sequences, whereby the time consumed includes task observation time and task switching time.
[0172] Step 322: Select the observation order with the shortest time consumption and insert it into the task planning list.
[0173] Step 323: Output the task planning list, which includes the task scheduling sequence and time.
[0174] Using the above method, a list of task plans with the shortest execution time for linear array segmentation can be quickly determined.
[0175] Furthermore, such as Figure 10 As shown, the observation sequence in step 321 includes entering from the top left, entering from the bottom left, entering from the top right, and entering from the bottom right:
[0176] like Figure 10 As shown in (a), the left-top entry means starting from the top of the first grid at the left end of the target area, observing from top to bottom, then moving to the right to the bottom of the next grid, observing from bottom to top, and so on to complete all observations;
[0177] like Figure 10 As shown in (b), "entering from the lower left" means starting from the lower part of the first grid on the left side of the target area, observing from bottom to top, then moving to the upper part of the next grid on the right, observing from top to bottom, and so on to complete all observations.
[0178] like Figure 10 As shown in (c), "entering from the upper right" means starting from the upper part of the tail grid at the right end of the target area, observing from top to bottom, then moving to the lower part of the next grid to the left, observing from bottom to top, and so on to complete all observations.
[0179] like Figure 10As shown in (d), "entering from the lower right" means starting from the bottom of the tail grid at the right end of the target area, observing from bottom to top, then moving to the top of the next grid to the left, and observing from top to bottom, and so on to complete all observations.
[0180] Furthermore, the method for determining the linear array task scheduling result in step 3 can also be achieved by calculating the shortest Euclidean distance between the linear array grid vector and the previously planned task. The idea is similar to that of determining the area array task scheduling result, and will not be repeated here.
[0181] Furthermore, the constrained programming model includes an objective function, observation window constraints, observation time constraints, task switching time constraints, predecessor task constraints, successor task constraints, one-time constraints, and decision variables:
[0182] The objective function is to find the maximum value of all task completion optimization levels, and the specific formula can be:
[0183]
[0184] Where M represents the number of tasks to be planned; i, j represent task numbers, and i, j = 0, 1, 2, ..., M, where task number 0 represents a virtual task; r i Let r0 represent the priority of task i, and r0 = 0; x ij Let x represent a 0-1 decision variable. ij =1 indicates that in each solution of the scheduling sequence, task i is the immediate predecessor of task j;
[0185] The observation window constraint refers to the requirement that the satellite's observation period must fall within the observation time window specified by the user. The specific formula can be:
[0186]
[0187] Among them, wb i Indicates the start time of the observation window requested by the user; i Indicates the end time of the observation window requested by the user; ob i Indicates the start time of the satellite observation time window; oe i Indicates the end time of the satellite observation time window;
[0188] The observation time constraint refers to the equation relating the start, end, and duration of the task observation, and the specific formula can be:
[0189]
[0190] Among them, tb i Represents task t iThe start time of the observation time window, tb0 = 0 indicates the initial state of the satellite; te i Represents task t i The end time of the observation time window, te0 = 0 indicates the initial state of the satellite;
[0191] The task switching time constraint refers to the requirement that the switching time between connected tasks meets the constraint conditions. The specific formula can be:
[0192]
[0193] Where, tran ij This represents the switching time between task i and task j. In the high-orbit satellite scheduling problem, this value is constant.
[0194] The preceding task constraint means that each task has at most one preceding task, and the specific formula can be:
[0195]
[0196] The immediate successor task constraint means that each task has at most one immediate successor task, and the specific formula can be:
[0197]
[0198] The one-time constraint means that each task can only be completed once, and each task is neither its predecessor nor its successor. The specific formula can be:
[0199]
[0200] The decision variable is a 0-1 decision variable, taking values of 0 or 1, indicating whether a certain task in each solution of the scheduling sequence has a predecessor task. The specific formula can be:
[0201]
[0202] The above model allows for quick constraint checks on tasks, eliminating those that do not meet the constraints.
[0203] Example 2:
[0204] like Figure 11 As shown, this application also provides a high-orbit satellite regional target observation and planning system, including a data receiving module, a data processing module, and a result generation module:
[0205] The data receiving module is used to acquire the feature vectors, observation requirements, and observation information of targets in each region. The observation requirements include: whether there are key observation points within the regional targets, target positioning accuracy, task solution time, payload working swath width, number of tasks to be planned, task priority level, user request time window, etc. The observation information includes satellite parameters such as satellite strip swath width, task switching time, and task observation time window.
[0206] The data processing module includes a boundary division unit, a task classification unit, an area array segmentation unit, a linear array segmentation unit, a constraint programming model unit, an interaction unit, an area array task scheduling unit, and a linear array task scheduling unit.
[0207] The boundary unit is defined by constructing an circumscribed rectangle based on the feature vector of the target area.
[0208] The task classification unit makes a judgment based on the observation requirements: sending regional targets with observation priorities to the area array segmentation unit and sending regional targets without observation priorities to the line array segmentation unit;
[0209] The area segmentation unit, based on the division boundary, divides the regional target into several grids at equal intervals through incremental calculation, thereby obtaining the area grid vector and matrix index;
[0210] The linear array segmentation unit, based on the division boundary, divides the regional target into several grids at equal intervals through incremental calculation, thereby obtaining the linear array grid vector and grid list;
[0211] The constrained programming model unit is used to store the constrained programming model and update the model parameters based on observation requirements and observation information;
[0212] The interaction unit is used to interact with the user.
[0213] The array task scheduling unit sends the matrix index to the interaction unit to obtain the observation sequence number fed back by the user. Based on the observation sequence number and the array grid vector, the unit selects the observation tasks to be inserted into the task planning list by solving the minimum Euclidean distance between the observation grid and the previous planned task, and calls the constraint planning model to perform constraint checks on the tasks.
[0214] The linear array task scheduling unit calculates the time or Euclidean distance for different observation sequences based on the linear array grid vector, grid list and observation information, and selects the observation sequence with the shortest time or Euclidean distance to insert into the task planning list.
[0215] The result generation module is used to publish the task planning list to the public.
[0216] Example 3:
[0217] This embodiment provides a high-orbit satellite regional target observation planning device, including a processor, a memory, and a bus. The memory stores instructions and data that can be read by the processor. The processor is used to call the instructions and data in the memory to execute the high-orbit satellite regional target observation planning method described above. The bus connects the various functional components to transmit information.
[0218] In another implementation, this solution can be implemented using a device, which may include corresponding modules that perform one or more steps in the various embodiments described above. A module may be one or more hardware modules specifically configured to perform the corresponding step, or implemented by a processor configured to perform the corresponding step, or stored in a computer-readable medium for implementation by a processor, or implemented through some combination thereof.
[0219] The processor executes the various methods and processes described above. For example, the method implementations in this scheme can be implemented as software programs tangibly contained in a machine-readable medium, such as memory. In some implementations, part or all of the software program can be loaded and / or installed via memory and / or a communication interface. When the software program is loaded into memory and executed by the processor, one or more steps of the methods described above can be performed. Alternatively, in other implementations, the processor can be configured to execute one of the methods described above by any other suitable means (e.g., by means of firmware).
[0220] This device can be implemented using a bus architecture. A bus architecture can include any number of interconnect buses and bridges, depending on the specific application of the hardware and overall design constraints. The bus connects various circuits, including one or more processors, memory, and / or hardware modules. The bus can also connect various other circuits such as peripherals, voltage regulators, power management circuitry, external antennas, etc.
[0221] Buses can be Industry Standard Architecture (ISA) buses, Peripheral Component Interconnect (PCI) buses, or Extended Industry Standard Component (EISA) buses, etc. Buses can be divided into address buses, data buses, control buses, etc.
[0222] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for planning regional target observation using high-orbit satellites, characterized in that, include: Step 1: Obtain the feature vectors of the target area, construct the bounding rectangle, and determine the division boundary; Step 2: Based on the defined boundaries and the observation requirements of the regional targets, perform area array segmentation or linear array segmentation: Area array segmentation is based on the defined boundaries, and the regional targets are divided into several grids at equal intervals through incremental calculation to obtain area array grid vectors and matrix indices; Linear array segmentation is based on the defined boundaries, and the regional targets are divided into several strips at equal intervals through incremental calculation to obtain linear array strip vectors and strip list. Step 3: Perform task scheduling for the area array segmentation or the linear array segmentation, respectively; The specific method for scheduling array tasks in step 3 includes: Step 311: Send the matrix index related to the regional target to the user and receive the required sequence number from the user. Step 312: Based on the required sequence number and the area grid vector, calculate the Euclidean distance between all the required observation grids of the regional target and the previous planned task, select the required observation grid with the shortest Euclidean distance as the task to be observed and insert it into the task planning list, and perform constraint checks through the constraint planning model. Step 313: Calculate the Euclidean distance between the remaining observation grids and the previous observation grid in sequence, select the observation grid with the shortest Euclidean distance as the observation task and insert it into the task planning list, and perform constraint checks through the constraint planning model until there are no observation grids in the target area. Step 314: Output the task planning list; The specific method for linear array task scheduling in step 3 includes: Step 321: Based on the linear array grid vector, grid list and observation information, calculate the time consumed for different observation sequences, whereby the time consumed includes task observation time and task switching time. Step 322: Select the observation order with the shortest consumption time and insert it into the task planning list; Step 323: Output the task planning list.
2. The method according to claim 1, characterized in that, The boundary definition includes the coordinate vector of the rectangle enclosed by the maximum and minimum longitude, maximum and minimum latitude of the target vertex in the region.
3. The method according to claim 1, characterized in that, The area array grid vector or linear array bar vector includes the center point coordinate vector and the four vertex coordinate vectors.
4. The method according to claim 1, characterized in that, The area segmentation step in step 2 includes: Step 2101: Based on the vertex information of the boundary division, sort the latitude and longitude of the region to obtain the latitude and longitude vector, specifically including the maximum longitude, minimum longitude, maximum latitude and minimum latitude of the region; Step 2102: Calculate the latitudinal increment of the grid based on the satellite strip width; Step 2103: Initialize latitude values, longitude values, and matrix index numbers; Step 2104: Based on the satellite strip width, calculate the longitude increment at the current latitude, and based on the latitude increment and the longitude increment, calculate the number of grid rows and the number of grid columns; Step 2105: Initialize latitude serial number; Step 2106: If the latitude index is less than or equal to the number of grid rows, proceed to step 2107; otherwise, end the program. Step 2107: Determine whether the current latitude is less than or equal to the maximum latitude of the region: if yes, proceed to step 2108; otherwise, increment the latitude number by one unit, update the latitude value, and proceed to step 2106. Step 2108: Calculate the initial longitude and initialize the longitude sequence number based on the longitude increment; Step 2109: If the current longitude index is less than or equal to the number of grid columns, initialize the current matrix index and execute step 2110; otherwise, increment the latitude index by one unit, update the latitude value, and then execute step 2106. Step 2110: Based on the judgment condition, determine whether the current longitude value is less than or equal to the maximum longitude of the area: if yes, proceed to step 2111; otherwise, update the longitude value, increment the longitude sequence number by one unit, and then proceed to step 2109. Step 2111: Construct the center point of each grid and determine whether the center point is within the region: if it is, proceed to step 2112; otherwise, update the longitude value, increment the longitude index by one unit, and then proceed to step 2109. Step 2112: Add the grid to the grid list, increment the current matrix index by one unit; and update the longitude value by incrementing the longitude number by one unit, then execute step 2109.
5. The method according to claim 1, characterized in that, The linear array segmentation steps in step 2 include: Step 221: Based on the vertex information of the boundary division, sort the longitude of the region to obtain the longitude vector, which specifically includes the maximum longitude and minimum longitude of the region; Step 222: Calculate the longitude increment of the grid based on the satellite strip width; Step 223: Calculate the number of grid columns based on the region's maximum longitude, minimum longitude, and longitude increment; Step 224: Initialize longitude values and column index numbers; Step 225: Determine whether the column index number is less than or equal to the number of columns: if yes, proceed to step 226; otherwise, end the program. Step 226: Based on the maximum and minimum longitude of the grid, determine the maximum and minimum latitude of the region boundary within the grid, and use them as the maximum and minimum latitude of the grid, respectively; Step 227: Add the bars to the bar list, update the longitude value based on the longitude increment, increment the longitude number by one unit, and then execute step 225.
6. The method according to claim 5, characterized in that, The longitude increment in step 227 also includes an offset coefficient, which is used to cause overlap between the bars.
7. A high-orbit satellite regional target observation and planning system, characterized in that, It includes a data receiving module, a data processing module, and a result generation module: The data receiving module is used to acquire the feature vectors, observation requirements and observation information of targets in each region; The data processing module includes a boundary division unit, a task classification unit, an area array segmentation unit, a linear array segmentation unit, a constraint programming model unit, an interaction unit, an area array task scheduling unit, and a linear array task scheduling unit. The boundary unit is defined by constructing an circumscribed rectangle based on the feature vector of the target area. The task classification unit makes a judgment based on the observation requirements: sending regional targets with observation priorities to the area array segmentation unit and sending regional targets without observation priorities to the line array segmentation unit; The area segmentation unit, based on the division boundary, divides the regional target into several grids at equal intervals through incremental calculation, thereby obtaining the area grid vector and matrix index; The linear array segmentation unit, based on the division boundary, divides the regional target into several grids at equal intervals through incremental calculation, thereby obtaining the linear array grid vector and grid list; The constrained programming model unit is used to store the constrained programming model and update the model parameters based on observation requirements and observation information; The interaction unit is used to interact with the user. The array task scheduling unit sends the matrix index to the interaction unit to obtain the observation sequence number fed back by the user. Based on the observation sequence number and the array grid vector, the unit selects the observation tasks to be inserted into the task planning list by solving the minimum Euclidean distance between the observation grid and the previous planned task, and calls the constraint planning model to perform constraint checks on the tasks. The linear array task scheduling unit calculates the time or Euclidean distance for different observation sequences based on the linear array grid vector, grid list and observation information, and selects the observation sequence with the shortest time or Euclidean distance to insert into the task planning list. The result generation module is used to publish the task planning list to the public.
8. A high-orbit satellite regional target observation and planning device, characterized in that, It includes a processor, a memory, and a bus, wherein the memory stores instructions and data that can be read by the processor; The processor is used to call instructions and data in the memory to execute the high-orbit satellite regional target observation planning method as described in any one of claims 1 to 6; the bus connects the functional components to transmit information.
Citation Information
Patent Citations
Satellite dynamic strip region resolution method described by static mesh
CN106767730A
Discrete interest point gridding earth observation planning method and device
CN115828983A