This application claims the benefit of priority from Chinese Patent Application No. 201910957601.4, filed on Oct. 10, 2019. The content of the aforementioned applications, including any intervening amendments thereto, is incorporated herein by reference in its entirety.
The present invention belongs to the field of regional target mission planning for earth observation satellites, and particularly relates to a partition satellite mission planning method for earliest completion of regional target coverage.
Earth observation satellites (EOS) or imaging satellites (abbreviated as satellites hereinafter) have a main function of observing land, oceans and atmosphere through satellite borne sensors (such as visible light cameras and multi-spectral cameras). Observation requirements are proposed by users from various fields and departments and collected by a ground control center of the satellites. The control center comprehensively formulates an imaging coverage plan of each satellite according to the observation requirements in combination with the application conditions of satellite resources, and generates measurement and control instructions to be transmitted to the satellites via a ground measurement and control station. The satellites make corresponding actions after receiving the instructions to image a specified region. The image data is temporarily saved in a satellite borne hard drive. When the satellites can communicate with the ground station, the image data is transmitted to the ground station. In this process, the link that the ground control center formulates the satellite imaging plan is called satellite mission planning, which is one of key links in the entire satellite application management process.
In the traditional satellite application modes, the satellites formulate the plans separately and perform the imaging missions separately. No collaborative observation is carried out among different satellites. As the number of satellites increases, it is possible to use multiple satellites to collaboratively perform the imaging observation for earth. The collaborative regional imaging of multiple satellites is actually needed.
The satellite can only photograph a strip region of limited length and width at one pass. If the to-be-observed region is large, it is difficult for the satellite to completely observe the entire region at one pass. If the user urgently needs the image data of the region, multiple satellites can be used to perform the collaborative imaging at multiple passes. Since tracks of sub-satellite points of each satellite are not necessarily parallel, the imaging strips may be overlapped. If the satellites are not properly arranged, a large number of strips may be overlapped, causing repeated observation of some regions, while some regions are not observed, which is not conducive to the rational utilization of resources. In order to better use the existing satellite coverage resources, a rational plan should be formulated to solve the above contradiction. It is a typical optimization problem of operations research, which needs to be urgently solved. When the to-be-observed region with this problem is large, a conventional regional target planning method may consume a great amount of calculation resources due to the large scale and high complexity of the problem. This is unfavorable for the application of the method in actual engineering environments.
In order to solve the defects in the prior art, the present invention provides a partition satellite mission planning method for earliest completion of regional target coverage so as to obtain a satisfactory solution capable of completing the complete coverage of regional targets as early as possible with sufficient observation resources through suitable calculation resources, and to achieve balance between the consumption of calculation resources and the optimality of solutions, so that the satellite resources can be fully used to conduct quick and effective coverage search for important regional targets in a real environment.
To solve the technical problems, the present invention adopts the following technical solutions:
Compared with the prior art, the present invention has the following beneficial effects:
1. According to a “divide-and-rule” concept, the present invention proposes a solving strategy based on partition, that is, a large to-be-observed region is divided into a plurality of small subregions; coverage resources are allocated to each subregion; each subregion is solved separately; and the solutions of all subregions are combined to form overall coverage solution, thereby reducing the problem scale and alleviating the optimization difficulty. Different allocation solutions of coverage resources may lead to different overall coverage solutions, so that a simulated annealing method is proposed to search an optimal resource allocation solution.
2. A grid discretization method is used to process the to-be-observed subregions, and the original problem is converted to a problem of covering each grid, so that the coupling with the calculation geometry can be reduced. At the same time, based on grids, a longest basic coverage mode set of each observation opportunity is built as an optional coverage mode set, and decision variables are changed from values in a continuous space to values in a discrete space, thereby reducing the calculation amount.
3. The present invention utilizes a two-phase heuristic algorithm to find a desirable coverage solution for each discretized subregion. At a first phase, a dynamic greed rule is used to find a desirable feasible coverage solution capable of being quickly obtained under the current environment. At a second phase, after a coverage opportunity with maximum end time in the selected coverage opportunities is removed on the basis of the existing solutions, the coverage solution is re-planned to improve the quality of the solutions. The two-phase heuristic algorithm is a polynomial time algorithm. When the total number of the coverage modes is in a rational range, the algorithm is high in solving speed, easy to implement, high in interpretability, stable and reliable, so that in the simulated annealing process of the method, a desirable coverage solution can be rapidly and effectively found to increase the search speed for a solution space of allocation solutions.
As shown in
As shown in
The so-called coverage mode c is a rectangular strip photographed by the satellites and determined by a certain roll angle and on/off time selected by one coverage opportunity.
A coordinate system o-xy is established by adopting any vertex of the to-be-observed rectangular region R as an origin o and two sides adjacent to the origin as axis x and axis y. The coordinates of four vertexes of the to-be-observed rectangular region R are marked as left upper corner vertex LU(R), left lower corner vertex LD(R), right upper corner vertex RU(R) and right lower corner vertex RD(R) respectively. The partition satellite mission planning method includes the following steps:
Step 1: a to-be-observed rectangular region R is partitioned.
Step 1.1: length Lp and width Wp of each subregion are set.
Step 1.2: the length LR and width WR of the to-be-observed rectangular region R are calculated according to the coordinates of four vertexes of the to-be-observed rectangular region R.
Step 1.3: Lp is divided by LR to obtain length section number DL and remainder RL of the subregion. If the remainder
is assigned to DL. Wp is divided by WR to obtain width section number DW and remainder RW of the subregion, and if the remainder
is assigned to DW.
Step 1.4: LR is divided by DL to obtain length Lf of the final subregion, and WR is divided by DW to obtain width Wf of the final subregion.
Step 1.5: according to the length Lf and width Wf of the final subregion, the to-be-observed rectangular region R is equally partitioned, thereby obtaining the coordinates of four vertexes of each subregion.
Step 1.5.1: let i=1, the left upper corner coordinate LU(R) of the to-be-observed rectangular region R is used as the left upper corner coordinate LU(ni) of the ith subregion ni.
Step 1.5.2: the abscissa value of the left upper corner coordinate LU(ni) of the ith subregion ni is added with Lf to obtain the right upper corner coordinate RU(ni) thereof. The ordinate value of the left upper corner coordinate LU(ni) is added with Wf to obtain the left lower corner coordinate LD(ni) thereof. The ordinate value of the right upper corner coordinate RU(ni) is added with f to obtain the right lower coordinate RD(ni).
Step 1.5.3: if the right lower corner coordinate RD(ni) of the ith subregion ni is equal to the right lower corner coordinate RD(R) of the to-be-observed rectangular region R, step 1.5.6 is carried out; otherwise, step 1.5.4 is carried out.
Step 1.5.4: if the abscissa value of the right upper corner coordinate RU(ni) of the ith subregion ni is equal to the abscissa value of the right upper corner coordinate RU(R) of the to-be-observed rectangular region R, LD(n(i−D
Step 1.5.5: after i+1 is assigned to i, step 1.5.2 is carried out to construct the coordinates of four vertexes of a next subregion.
Step 1.5.6: the partitioning is ended, and the coordinates of four vertexes of each subregion are outputted.
Step 1.6: a set N of the subregions is obtained, and the total number of the subregions is |N|=DL×DW.
Step 2: observation resources are allocated to different regions, and a certain subset of coverage opportunities and corresponding coverage modes are selected to minimize the completion time of a formed coverage solution. That is, different coverage opportunities are responsible for covering different subregions, while different allocation solutions may finally lead to different coverage solutions which correspond to different completion time. Therefore, a simulated annealing method is used to search an optimum allocation solution here.
Step 2.1: the coverage opportunities are randomly allocated to each subregion to form an initial current allocation solution Y={ys|∀s∈S} wherein the value of ys represents the subregion where the coverage opportunity s is allocated.
Step 2.2: the coverage opportunity set S*(Y) selected under the current allocation solution Y, a desirable coverage mode set C*(Y) and corresponding completion time F(Y) are calculated.
Step 2.2.1: different subregions and the set of coverage opportunities allocated to different subregions are used as inputs to construct grids, and a two-phase heuristic algorithm is used to calculate the coverage opportunity set selected for different subregions as well as the desirable coverage solution and corresponding completion time.
Step 2.2.1.1: the ith subregion is divided into a plurality of consistent square grids to obtain a grid set Ji, wherein a side length of each grid should be minimized. The existing grids are ensured to be completely covered by the coverage modes.
If the to-be-observed region was not partitioned into subregions, the whole large region may form a large number of grids A large number of coverage modes may be generated based on these grids, which consumes vast calculation resources. Some large-scale calculation examples cannot even obtain a solution within a rational time, so that embodiments of the present invention are proposed on the basis of solving strategies based on the partition.
Step 2.2.1.2: according to the divided grid set Ji, a set of longest basic coverage modes is generated for each coverage opportunity in set Si allocated to the ith subregion ni, and jointly form a main set Ci of the optional coverage modes.
As shown in
{circle around (1)} Both grids are completely covered by the coverage mode, that is, the four vertexes are within the area covered by the coverage mode;
{circle around (2)} one grid has a vertex located on a left border of the coverage mode and is named left grid, and the other grid has a vertex located on an upper border of the coverage mode and is named upper grid. The left grid and the upper grid can be the same.
Each coverage opportunity can select infinitely many on/off time and roll angles, so each coverage opportunity may actually correspond to an infinite number of coverage modes. However, all coverage modes cannot be enumerated. Therefore, the solving method of the problem is difficult to design on the basis of the universal set of all coverage modes. The longest basic coverage mode is a special coverage mode and can substitute a majority of non-longest basic coverage modes and is limited in quantity. A majority of non-longest basic coverage modes may be slightly adjusted to be the corresponding longest basic coverage modes without reducing the number of completely covered grids.
Step 2.2.1.2.1: if Si=Ø, step 2.2.1.2.4 is carried out; otherwise, step 2.2.1.2.2 is carried out.
Step 2.2.1.2.2: one of coverage opportunities s∈Si is selected, and according to the type of the coverage opportunity s, methods in step 2.2.1.2.2.1 to step 2.2.1.2.2.10 are used to construct a longest basic coverage mode set Cs based on the grid set Ji for the coverage opportunity s.
Step 2.2.1.2.2.1: the type of the coverage opportunity s is judged according to the sub-satellite point track os of the coverage opportunity s, and the types include a right lower corner oblique type and a left lower corner oblique type.
Step 2.2.1.2.2.2: let set Cs=Ø.
Step 2.2.1.2.2.3: subsets Js are selected from the grid set Ji, and each grid in the subsets Js may be used as the left grid of a longest basic coverage mode of the coverage opportunity s.
Step 2.2.1.2.2.3.1: let Js=Ø.
Step 2.2.1.2.2.3.2: the set Ji is traversed, and the camera roll angle
of the coverage opportunity s is calculated when each grid u is used as the left grid of the coverage mode. If the coverage opportunity is the right lower corner oblique type, as shown in
Step 2.2.1.2.2.4: if Js=Ø, step 2.2.1.2.2.10 is carried out; otherwise, after one grid p in Js is selected, step 2.2.1.2.2.5 is carried out.
Step 2.2.1.2.2.5: according to the grid p, the grid subset Jsp is selected from the grid set Ji, and when p is used as the left grid, each grid in Jsp may be used as the upper grid to form a longest basic coverage mode of the coverage opportunity s together with p.
Step 2.2.1.2.2.5.1: let Jsp=Ø.
Step 2.2.1.2.2.5.2: a strip width ηs(p) of the coverage mode when the grid p is used as the left grid is calculated by using the formula (1):
As shown in
and the camera roll angle
In
In
The width of the strip is length of AD at this moment.
so it can obtain: BD=hs·tan ∠DOB, and it can further obtain:
Step 2.2.1.2.2.5.3: the set Ji is traversed. Whether one grid t satisfies the following four conditions is checked. If all conditions are satisfied, the grid t is added into Jsp; otherwise, the next grid is checked.
If the coverage opportunity is the right lower corner oblique type, the four conditions are:
{circle around (1)} as shown in
{circle around (2)} as shown in
{circle around (3)} as shown in
{circle around (4)} as shown in
If the coverage opportunity is the left lower corner oblique type, the four conditions are:
{circle around (1)} The straight line Lp∥os is made through the left upper corner vertex of the grid p, the straight line Lt′∥os is made through the right upper corner vertex of t, and the distance between the straight lines Lp and Lt′ cannot exceed the width ηs(p) of the strip.
{circle around (2)} The straight lines Lp′⊥os and Lt⊥os are made respectively through the right upper corner vertexes of the grids p and t, and Lt is above Lp′.
{circle around (3)} The straight line
{circle around (4)} The straight line
Apparently, the grid p also satisfies the four conditions.
Step 2.2.1.2.2.6: if Jsp=Ø, step 2.2.1.2.2.9 is carried out; otherwise, after one grid q in Jsp is selected, step 2.2.1.2.2.7 is carried out.
Step 2.2.1.2.2.7: based on the grids P and q, the longest basic coverage cs(p,q) belonging to the coverage opportunity s is constructed.
Step 2.2.1.2.2.7.1: if the coverage opportunity is the right lower corner oblique type, the straight line Lp∥os is made through the left lower corner vertex LD(p) of the grid p, and the straight line Lq⊥os is made through the left upper corner vertex LU(q) of the grid q. If the coverage opportunity is the left lower corner oblique type, the straight line Lp∥os is made through the left upper corner vertex LU(p) of the grid p, and the straight line Lq ⊥os is made through the right upper corner vertex RU(q) of the grid q.
Step 2.2.1.2.2.7.2: the strip width ηs(p) of the coverage mode when the grid p is used as the left grid is calculated.
Step 2.2.1.2.2.7.3: the straight line
{circle around (1)}
{circle around (2)} (the distance between
{circle around (3)}
Step 2.2.1.2.2.7.4: the straight line
{circle around (1)} Lq∥Lq;
{circle around (2)} (the distance between
{circle around (3)}
Step 2.2.1.2.2.7.5: four straight lines of Lp,
Step 2.2.1.2.2.8: cs (p,q) is added into Cs, the grid q is removed from Jsp, and then step 2.2.1.2.2.6 is carried out.
Step 2.2.1.2.2.9: the grid p is removed from Js, and then step 2.2.1.2.2.4 is carried out.
Step 2.2.1.2.2.10: the coverage mode set Cs is outputted.
Step 2.2.1.2.3: the coverage mode opportunity s is removed from Si, and then step 2.2.1.2.1 is carried out.
Step 2.2.1.2.4: let, the coverage mode set Ci is outputted.
Step 2.2.1.3: by utilizing the grid set Ji separated from ith subregion ni as well as the coverage opportunity set Si={s|ys=ni, s∈S} allocated to ith subregion ni and optional coverage mode set Ci as inputs, the coverage opportunity subset Si* selected by the ith subregion ni is determined by the two-phase heuristic algorithm, and the coverage mode of each coverage opportunity is selected, so that the desirable coverage mode set Ci* is obtained, and the completion time Fi thereof can be obtained at the same time.
Step 2.2.1.3.1: by utilizing the grid set Ji, the coverage opportunity set Si and the corresponding coverage mode set Ci as inputs, the selected coverage opportunity subsets Si*, the selected coverage mode sets Ci* and the number Ai of corresponding coverable grids can be calculated with the heuristic algorithm.
Step 2.2.1.3.1.1: all coverage opportunities in Si are sorted in a non-descending order according to the end time to obtain
Step 2.2.1.3.1.2: the state of all grids in Ji is set as “uncovered”, let g=0, and Ci*=Ø.
Step 2.2.1.3.1.3: g+1 is assigned to g, the coverage opportunity sg is extracted from {right arrow over (Si)}, and the optional coverage mode set Cs
Step 2.2.1.3.1.4: the coverage mode
covering the most valid grids is selected from Cs
Step 2.2.1.3.1.5: the number of all grids with the state of “covered” in Ji is calculated and marked as Ai.
Step 2.2.1.3.1.6: if Ai=|Ji| or g=|{right arrow over (Si)}|, step 2.2.1.3.1.7 is carried out; otherwise, step 2.2.1.3.1.3 is carried out.
Step 2.2.1.3.1.7: the coverage opportunity subset Si*={s1, s2, . . . , sg} as well as the coverage mode set Ci* thereof and the number Ai of covered grids are outputted.
Step 2.2.1.3.2: if Ai<|Ji|, step 2.2.1.3.4 is carried out; otherwise, step 2.2.1.3.3 is carried out.
On the premise of sufficient coverage opportunities, the coverage opportunities that are randomly allocated to each subregion generally can completely cover the subregion, that is, Ai=|Ji|. If some subregions cannot be completely covered, they may be improved in neighbor allocation solutions constructed by an insert operator and an exchange operator at the simulated annealing phase.
Step 2.2.1.3.3: Si* and Ci* are optimized by using a promotion algorithm.
Step 2.2.1.3.3.1: one coverage opportunity
with maximum end time in Si* is removed from Si* to obtain the coverage opportunity set
Step 2.2.1.3.3.2: by utilizing the grid set Ji, the coverage opportunity set
Step 2.2.1.3.3.2.1: the state of all grids in Ji is set as “uncovered”, and
Step 2.2.1.3.3.2.2: let
Step 2.2.1.3.3.2.3: if
Step 2.2.1.3.3.2.4: the
Step 2.2.1.3.3.2.5: if
Step 2.2.1.3.3.2.6: the coverage mode
with most valid grids in Ci is selected and used as the coverage mode selected by the corresponding coverage opportunity
Step 2.2.1.3.3.2.7: the coverage mode set C
Step 2.2.1.3.3.2.8: the coverage mode set
Step 2.2.1.3.3.3: if
Step 2.2.1.3.4: the selected coverage opportunity set Si* and the coverage mode set Ci* are outputted. The maximum value of the end time of the coverage opportunity in Si* is used as the completion time Fi.
The first phase of the two-phase heuristic algorithm in step 2.2.1.3 utilizes the rule based on dynamic greed. The coverage mode covering most valid grids is selected at each time. Once the coverage opportunity selects one coverage mode, the coverage opportunity may exit the subsequent selection activities. Once the grid is covered in the previous selection, the grid exits the subsequent selection activities. The method is simple, fast and effective and very suitable for rapidly obtaining the desirable feasible coverage solution under the current environment. At the second phase, on the basis of the solution obtained at the first phase, after the selected coverage opportunity with maximum end time is deleted, the complete coverage solution is re-planned to search a better solution space of the solution.
Step 2.2.2: the coverage opportunity sets {Si*|i=1, 2, . . . , |N|} selected by all subregions are combined to obtain an overall selected coverage opportunity set S*. The coverage solutions {Ci*|i=1, 2, . . . , |N|} of all subregions are combined to obtain an overall coverage solution C* of the to-be-observed rectangular region R. The maximum value of the completion time {Fi|i=1, 2, . . . , |N|} corresponding to the coverage solutions of all subregions is used as the overall completion time F of the to-be-observed rectangular region R.
The solution space of the allocation solution is searched below by utilizing the simulated annealing method to obtain a better allocation solution, so that the completion time corresponding to the formed coverage solution is minimized, which specifically includes step 2.3-step 2.9:
Step 2.3: maximum iteration times
Step 2.4: if k>
Step 2.5: the insert operator and the exchange operator are used to construct a plurality of neighbor allocation solutions of the current allocation solution Y.
Step 2.5.1: the number of the to-be-constructed neighbor allocation solutions is set as
Step 2.5.2: the insert operator is used to construct the neighbor allocation solution.
Step 2.5.2.1: an idle coverage opportunity ŝ is found from the unselected coverage opportunity set S′(Y)={S/S*(Y)} under the current allocation solution Y. The end time β(ŝ) of the idle coverage opportunity ŝ is smaller than the overall completion time F(Y) but greater than the completion time Fy
Step 2.5.2.2: m+1 is assigned to m, and the idle coverage opportunity ŝ in the current allocation solutions Y is randomly allocated to one subregion, and the end time β(ŝ) of the idle coverage opportunity ŝ is smaller than the completion time of the allocated subregion, thereby forming a neighbor allocation solution
Step 2.5.2.3: the idle coverage opportunity ŝ is removed from the coverage opportunity set S′(Y), and then step 2.5.2.1 is carried out.
Step 2.5.2.4: all neighbor allocation solutions obtained by utilizing the insert operator are outputted.
Step 2.5.3: the exchange operator is used to construct the neighbor allocation solution.
Step 2.5.3.1: if m≥
Step 2.5.3.2: m+1 is assigned to m. Two subregions ni and nj are randomly selected from the subregion set N. One coverage opportunity si is randomly selected from the coverage opportunity set {s|ys=ni} allocated to the subregion ni. One coverage opportunity sj is randomly selected from the coverage opportunity set {s|ys=nj} allocated to the subregion nj. si and sj are exchanged in the current allocation solution Y, that is, nj is assigned to ys
Step 2.5.3.3: all neighbor allocation solutions obtained by using the exchange operator are outputted.
Step 2.6: the coverage opportunity set selected under each neighbor allocation solution, desirable coverage mode set and corresponding completion time are calculated separately, and the neighbor allocation solution with minimum completion time is selected as the optimal neighbor allocation solution
Step 2.7: The completion time of the optimal neighbor allocation solution
Step 2.7.1: an inferior solution accept rate
at kth iteration is calculated.
Step 2.7.2: a random number rk of 0-1 is generated at kth times. If rk≤pk, the optimal neighbor allocation solution
Step 2.8: k+1 is assigned to k, and the annealing temperature Tk=Tk-1×λ is updated. λ is a cooling coefficient and is a fixed value less than 1 and greater than 0, and then step 2.4 is carried out.
The annealing temperature represents randomness for searching the solution space. If the requirement for the final solution quality is high, λ may be set to be large, and the iteration times may be increased. If the rapid convergence is required, λ is set to be small.
Step 2.9: the current allocation solution Y as well as the overall selected coverage opportunity set S*(Y) under the allocation solution, better coverage modes C*(Y) of each coverage opportunity and corresponding completion time F(Y) are outputted.
Number | Date | Country | Kind |
---|---|---|---|
201910957601.4 | Oct 2019 | CN | national |
Number | Name | Date | Kind |
---|---|---|---|
10474976 | Clancy | Nov 2019 | B2 |
20120188372 | Ozkul | Jul 2012 | A1 |
20150363641 | Navulur | Dec 2015 | A1 |
20180172823 | Tyc | Jun 2018 | A1 |
20180310124 | Regan | Oct 2018 | A1 |
20200302644 | Sameer | Sep 2020 | A1 |
20210200984 | Miyashita | Jul 2021 | A1 |
Number | Date | Country |
---|---|---|
106681807 | May 2017 | CN |
110210700 | Sep 2019 | CN |
Number | Date | Country | |
---|---|---|---|
20210107688 A1 | Apr 2021 | US |