METHOD AND SYSTEM FOR SELECTING AND DEPLOYING UAVS
20250252374 · 2025-08-07
Inventors
Cpc classification
G08G5/27
PHYSICS
B64U2101/21
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A method and a system for selecting and deploying one of unmanned aerial vehicles (UAVs) and microservices or Functions-as-a-Service (FaaS) comprise selecting a preliminary number of UAVs, microservices or FaaS for deployment by defining possible outcomes for criteria having predefined constraints and associated priority weights, computing a penalty factor score (SPF) based on whether or not each possible outcome violates the constraints, computing a compactness factor score (SCF) based on how close or far the possible outcomes are from an average score of all values falling under a same type of criteria, ranking the possible outcomes using SPF and SCF, and selecting the preliminary number based on the ranking. Positions of the preliminary number of UAVs within the area of interest are determined to maximize coverage and minimize overlap. A placement of the preliminary number of microservices or FaaS is determined to minimized a targeted deployment cost.
Claims
1. A method for selecting and deploying one of a set of unmanned aerial vehicles (UAVs) over a geographical area of interest and a set of microservices or Functions-as-a-Service (FaaS) over a distributed communication environment, the method comprising: selecting a preliminary number of UAVs, microservices or FaaS for deployment by: defining possible outcomes for a plurality of criteria having predefined constraints and associated priority weights; computing a penalty factor score (SPF) based on whether or not each one of the possible outcomes violates the predefined constraints; computing a compactness factor score (SCF) based on how close or far the possible outcomes are from an average score of all values falling under a same type of criteria; determining a ranking of the possible outcomes using SPF and SCF; and selecting the preliminary number of UAVs, microservices or FaaS based on the ranking; and one of: determining positions of the preliminary number of UAVs within the area of interest to maximize coverage of the area of interest and minimize overlap between the preliminary number of UAVs, and determining orientations of the preliminary number of UAVs within the area of interest for the positions as determined; and determining a placement of the preliminary number of microservices or FaaS over the distributed communication environment to minimize a targeted deployment cost.
2. The method of claim 1, further comprising reassessing the preliminary number of UAVs for deployment as a function of the positions and orientations as determined or reassessing the preliminary number of microservices or FaaS for deployment as a function of the placement as determined.
3. The method of claim 1, further comprising synchronizing a rotation of the UAVs based on the positions and orientations of the preliminary number of UAVs.
4. The method of claim 1, wherein selecting the preliminary number of UAVs, microservices or FaaS further comprises computing a distance factor score (SDF) by measuring a distance between the possible outcomes for the plurality of criteria and the corresponding constraints for the criteria; and wherein ranking the possible outcomes comprises ranking using SPF, SCF and SDF.
5. The method of claim 1, wherein the geographical area of interest is modeled as one of circular, rectangular, triangular, and square shaped areas.
6. The method of claim 1, wherein the geographical area of interest is divided into sub-areas.
7. The method claim 1, wherein the predefined constraints are defined using linguistic quantifiers and logic operators.
8. The method of claim 7, wherein textual terms are converted into the linguistic quantifiers using machine learning.
9. The method of claim 1, wherein a parameter is used to differentiate between beneficial criteria and cost criteria, where the parameter is 1 for the beneficial criteria and 0 for the cost criteria, and wherein the possible outcomes that violate the predefined constraints are retained for the ranking.
10. The method of claim 1, further comprising deploying the UAVs with the positions and orientations as determined or deploying the microservices or FaaS with the placement as determined.
11. A system for selecting and deploying one of a set of unmanned aerial vehicles (UAVs) over a geographical area of interest and a set of microservices or Functions-as-a-Service (FaaS) over a distributed communication environment, the system comprising: a processor; and a non-transitory computer readable medium having stored thereon program instructions executable by the processor for: selecting a preliminary number of UAVs, microservices or FaaS for deployment by: defining possible outcomes for a plurality of criteria having predefined constraints and associated priority weights; computing a penalty factor score (SPF) based on whether or not each one of the possible outcomes violates the predefined constraints; computing a compactness factor score (SCF) based on how close or far the possible outcomes are from an average score of all values falling under a same type of criteria; determining a ranking of the possible outcomes using SPF and SCF; and selecting the preliminary number of UAVs, microservices or FaaS based on the ranking; and one of: determining positions of the preliminary number of UAVs within the area of interest to maximize coverage of the area of interest and minimize overlap between the preliminary number of UAVs, and determining orientations of the preliminary number of UAVs within the area of interest for the positions as determined; and determining a placement of the preliminary number of microservices or FaaS over the distributed communication environment to minimize a targeted deployment cost.
12. The system of claim 11, wherein the program instructions are further executable for reassessing the preliminary number of UAVs for deployment as a function of the positions and orientations as determined or reassessing the preliminary number of microservices or FaaS for deployment as a function of the placement as determined.
13. The system of claim 11, wherein the program instructions are further executable for synchronizing a rotation of the UAVs based on the positions and orientations of the preliminary number of UAVs.
14. The system of claim 11, wherein selecting the preliminary number of UAVs, microservices or FaaS further comprises computing a distance factor score (SDF) by measuring a distance between the possible outcomes for the plurality of criteria and the corresponding constraints for the criteria; and wherein ranking the possible outcomes comprises ranking using SPF, SCF and SDF.
15. The system of claim 11, wherein the geographical area of interest is modeled as one of circular, rectangular, triangular, and square shaped areas.
16. The system of claim 11, wherein the geographical area of interest is divided into sub-areas.
17. The system of claim 11, wherein the predefined constraints are defined using linguistic quantifiers and logic operators.
18. The system of claim 17, wherein textual terms are converted into the linguistic quantifiers using machine learning.
19. The system of claim 11, wherein a parameter is used to differentiate between beneficial criteria and cost criteria, where the parameter is 1 for the beneficial criteria and 0 for the cost criteria, and wherein the possible outcomes that violate the predefined constraints are retained for the ranking.
20. The system of claim 11, wherein the program instructions are further executable for deploying the UAVs with the positions and orientations as determined or deploying the microservices or FaaS wih the placement as determined.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Further features and advantages of the present method and system will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072] It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
DETAILED DESCRIPTION
[0073] In one embodiment, the present disclosure is directed to methods and systems for selecting a suitable set of UAVs equipped with IoT devices or proper surveillance systems, and to deploy them across a given geographical area of interest for a specific coverage task. This may be done, for example, for wildlife monitoring or forestry data collection. Presented in
[0074] According to one embodiment, the systems 102a or 102b are customizable and can be used in a variety of applications; in fact, the systems 102a and 102b are application-agnostic. For instance, the forestry data collection system 102b can be re-customized to function as a radio network. In this case, the UAVs 106 are configured as mobile base stations and an air-to-ground transmission model is applied. For this purpose, application specific criteria are considered during the UAVs selection process. For instance, the operational altitude of UAVs and various communication issues (such as RSS index, SINR, PLOS/NLOS, attenuation, interference, radiation patterns) are inherently taken into consideration to adequately determine the position of each UAV 106.
[0075] According to one embodiment, the coverage provided by the UAVs 106 is modeled using a multiple circles packing/placement technique in order to obtain a desired level of coverage. The geographical area or area of interest 104 may be of various geometric shapes. For instance, as presented in
[0076] According to one embodiment as presented in
[0077] The area of interest 104 can also have any other type of regular or irregular shape. Moreover, the area of interest 104 can be divided into sub-areas 105 having any type of shapes or combination of different shapes, be it regular or irregular shapes.
[0078] According to one embodiment, as presented in
Determining Preliminary Number of UAVs
[0079] According to one embodiment, as presented in
[0080] According to one embodiment as further presented in
[0081] According to one embodiment, the decision matrix is generated 302 according to a group of quantitative UAV specific requirements and also according to area of interest specific requirements such as the borders of an area of interest 104 and the borders of each sub-area 105.
[0082] It shall be recognized that the UAV specific requirements can for instance be indicative of a set of different types of UAVs each having their own built-in specifications such as size, weight and power (SWAP), flying speed, battery independence, etc. The decision matrix can also be represented by possible outcomes (Ai) that are associated to a group of requirements x.sub.i.sup.c.sup.
[0083] According to one embodiment, a Coverage level criterion is referred to as C1 in the matrix 700. An efficient deployment scheme is applied for a group of UAVs based on a circle packing theory and an exact extra gap areas approach. The coverage level in this case is equivalent to the density of packing at least two (2) non-overlapping circlesthe circles being indicative of coverage zones respectively associated to each UAVwithin an area of interest 104. For instance, table 800 of
[0084] According to one embodiment, since it is not desirable to leave certain areas non-covered or barely covered while covering other areas for a longer period of time and it is not always possible to have sufficient UAVs to cover a large area for a prolonged period of time, the area of interest 104 is divided into sub-areas 105 each having either a circle, square of triangular shape. To ensure that each sub-area 105 is covered for an adequate amount of time, the UAVs are grouped in swarms to sweep each sub-area 105 in a consistent manner. For simplicity, as presented in
[0085] Endurance is referred to as C2 in the matrix 700. In order to prolong the coverage period-since UAVs cannot keep flying or hovering for a long period of time due to their limited energy supply-UAVs need to be maneuvered in an energy efficient manner.
[0086] Transmission range is referred to as C3 in the matrix 700. The UAVs must maintain an adequate connection with other UAVs of the swarm at all times for an accurate performance. Accordingly, the distance that allows UAVs to communicate with each other is indicative of the transmission range. According to one embodiment, the distance between each neighboring UAV must be within twice the coverage radius of the UAV. Notice that the method assumes that all UAVs are adapted to provide a same coverage radius.
[0087] UAV price is referred to as C4 in the matrix 700. Financial aspects may also be considered since increasing the number of UAVs may lead to more expenditures.
[0088] Spatial resolution is referred to as C5 in the matrix 700 (see
[0089] A skilled person will recognize that the number of criteria or the criteria types may differ depending on the application and the type of UAV and an unlimited number of criteria can be defined in the decision matrix 700.
[0090] According to one embodiment, the candidate options are evaluated 304 according to a Satisficing Additive-weights and Goal Attributed ranking method (SAGA) as presented in algorithm 900 of
[0091] According to one embodiment, the candidate options are evaluated according to the evaluation method 304 presented in
[0092] As detailed by the algorithm 900 and evaluation method 304, respectively presented in
[0093] As further presented in the algorithm 900 and the method 304, a parameter is used to evaluate the possible outcomes and is indicative of a respect of criteria, which are beneficial, or non-beneficial 314. For instance, for each instance of the mn possible outcomes of a group of criteria, there is associated either a beneficial value (=1) or non-beneficial value (=0). In addition, a penalty factor is determined according to a criteria priority weight or the n1 array of importance weights, depending on the level of importance of each criterion. The algorithm 900 applies the penalty factor 316 to each mn possible outcome's criteria in accordance with the n1 importance weight array. For instance, the penalty factor (PF) can be applied in such a way that when a possible outcome's criteria meet a given condition, such as the condition indicated in line 8 of the algorithm 900, the assessment outcome is influenced by the associated importance or priority weight. It shall be recognized that the sum of the weights is indicative of the amount of violated criteria. For instance, the penalty factor is indicative of the number of violated criteria. If a certain possible outcome's criterion satisfies the requirements, it will be given a score equal to its priority weight, otherwise it will be given a score of zero. If the sum of the criteria scores equals one (1), then it shall be understood that the possible outcome has satisfied all the requirements and that there are no violated criteria.
[0094] Moreover, according to one embodiment, the algorithm 900 applies a compactness factor CF 318 to each mn possible outcome. The compactness factor CF is adapted to measure the quality of dispersion by calculating the average Manhattan distance between each possible outcome's constraint and the barycenter of all values under the same type of criteria. The attributes of each element in the compactness factor are then normalized and converted for consistency to a non-dimensional structure CF.sub.norm as shown in line 18 of algorithm 900 by using the min/max values recorded for all similar elements.
[0095] Afterwards, the horizontal concatenation horzcat of the two sums S.sub.PF and S.sub.CF are computed as per line 20 of algorithm 900 and is a reference or a base for ranking the possible outcomes 320. And since the scores of the SPF range in [1,0], two subsets are extracted from horzcat and the two subsets correspond to either SPF=0 or SPF<0, such as indicated by attributes P and N respectively.
[0096] Both subsets of possible outcomes P and N are then sorted in the descending order as follows: [0097] P is indicative of whether or not there exists feasible possible outcomes having fulfilled all the constraints. Therefore, P (i.e., where SPF=0) are sorted according to their SCF scores. Higher values of SCF scores imply that the possible outcome is situated in the sparse region, and it has better chances to be ranked first. [0098] N is indicative of a violation of at least one constraint and corresponds to either a non-feasible or a marginally-feasible possible outcome. The possible outcomes in N are compared with the corresponding SPF scores instead. In the case of equal SPF scores, the possible outcomes in N will be located in the indifference space where they cannot be differentiated, the SCF scores are then used to discern them
[0099] Once done, the sorted P.sub.sort and N.sub.sort are vertically concatenated to be in the same size as horzcat and to get the indices where each member in vertcat is mapped with itself in horzcat. These indices represent in fact the ranking of possible outcomes 320 in the decision matrix.
[0100] The SAGA method 304 takes into consideration all possible outcomes regardless of whether all the criteria values for a possible outcome fall within an acceptable range or not, the method of determining a preliminary number of UAVs to deploy 204 considers all possible outcomes in order to retain or reject such a possible outcome if a satisfactory performance is good enough even if it is not optimal.
[0101] In some embodiments, the SAGA method 304 determines the ranking accuracy of each mn possible outcome 322 by applying corresponding importance weights that are expressed as penalty factors (PF).
[0102] In some embodiments, the improved-SAGA method 902, as illustrated in
[0107] An example is illustrated below. A decision matrix of ten possible outcomes for five criteria is shown in Table 1:
TABLE-US-00001 TABLE 1 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION 60.96 18 3560.20 2007 0.21667 19.11 31 996.80 13548 0.1750 79.31 31 2345.00 6800 0.4117 23.90 21 4100.60 1598 0.2453 33.51 30 1319.50 21588 0.2009 58.91 31 1750.00 13548 0.3073 19.42 36 1049.30 14289 0.07381 38.84 30 1049.30 39578 0.1598 38.21 36 996.80 31176 0.0701 67.38 36 2899.40 6495 0.2039
[0108] An example of priority weights is shown in Table 2:
TABLE-US-00002 TABLE 2 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION 0.2 0.2 0.2 0.2 0.2
[0109] Two examples of user constraints and their connectors (row 2: logical operators; row 3: linkers) are shown in Tables 3 and 4, respectively, where { } denotes an empty set:
TABLE-US-00003 TABLE 3 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION 60 30 3000 7000 0.2 {} {} {} {} {}
TABLE-US-00004 TABLE 4 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION 60 30 2000, 3000 7000 High , {} {} {&} {} {}
[0110] The user can subjectively state his or her preferences, which are fed to the method as constraints, as a single numerical value, a word-based term, and/or an interval of values (numerical or textual). In some embodiments, linguistic quantifiers such as extremely high, very high, high, moderately high, moderate, moderately low, low, very low and extremely low may be used instead of logic operators. In some embodiments, an artificially intelligent module based on machine learning (ML) and data mining may be used to convert other textual terms (e.g., fast, cheap, small, etc.) as one of the built-in linguistic quantifiers in the method. For instance, the method will convert the term cheap to low.
[0111] In some embodiments, the method 902 further uses a distance factor (DF) in addition to the penalty factor (PF) and the compactness factor (CF). An example algorithm 330 for the DF is illustrated in
[0112] The DF factor for an element in the decision matrix is obtained by measuring the distance between such an element and the user-imposed constraints, whereas the CF factor is obtained by measuring how close or far that element is from the average score of all the values falling under the same type of criteria in the decision matrix. Indeed, the CF score is computed as follows:
[0113] where A.sub.i,j.sup.norm represents the j.sup.th value of the i.sup.th possible outcome in the normalized decision matrix, .sub.j.sup.norm is the average value of all elements in the j.sup.th column, and j is a particular coefficient. In some embodiments, the user can only assign a single-valued constraints array and each element in the decision matrix is evaluated based on two connecting rules: whether being or to the imposed constraint. Therefore, .sub.j can have two values:1 for the criteria that are to be maximized (i.e., ) or 1 for the criteria to be minimized (i.e., ). In other embodiments, the user is flexibly able to assign single and many-valued constraints and each one of them has a connecting logical operator, which can be: , >, =, <, . The parameter .sub.j is obtained as follows:
[0114] The computed CF.sub.temp, which is equal in size with the decision matrix (i.e., mn) is then normalized. The final CF scores are obtained by adding together all the column elements for each row in the normalized CF.sup.norm and then multiplying by 1 in order to get an m1 array:
[0115] Using the data from the example of Tables 1, 2, and 4, normalized possible outcomes and normalized constraints are shown in Tables 5 and 6, respectively.
TABLE-US-00005 TABLE 5 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION 4 4 4 4 2 4 3 4 2 3 4 3 3 4 4 3 4 4 4 3 4 0 4 3 2 3 3 3 2 4 4 4 4 2 4 3 0 4 4 3 3 4 4 4 4 4 4 4 4 2
TABLE-US-00006 TABLE 6 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION {3} {0} {1 4} {4} {2}
[0116] The DF scores for each normalized possible outcome are shown in Table 7.
TABLE-US-00007 TABLE 7 DF Scores 10 26 10 10 27 14 28 28 33 14
[0117] Referring to line 4 of the algorithm 330, the D values for the first possible outcome are: [{1} {16} {25, 0} {0} {0}]. The third column has two values since the corresponding column in the constraints array also has two values. Referring to line 6, the temporary D values for the first possible outcome are: [{1} {4} {5} {0} {0}]. Therefore, the final DF score for the first outcome is 10.
[0118] The CF scores are shown in Table 8.
TABLE-US-00008 TABLE 8 CF Scores 2.8571 3.0487 3.0084 2.1905 1.8535 3.1000 3.6321 0.9487 1.6321 1.8738
[0119] The matrix needed for the CF computation is given as per Table 9.
TABLE-US-00009 TABLE 9 COVERAGE ENDUR- TRANSMISSION IMAGE LEVEL ANCE RANGE COST RESOLUTION 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[0120] The first, second and fifth column have the value 1 because the logical operators of the corresponding constraints is . The fourth column has the value 1 because the logical operator of the corresponding constraint is . Although the third column has two logical operators which correspond relatively to 1 and 1, the maximum is taken.
[0121] The average scores of the normalized decision matrix are: [0 1.3 0.8 1.1 0.5]. The temporary CF values for the first possible outcomes are: [4 5.3 4.8 2.9 2.5]. The normalized CF values for the first possible outcomes are: [1 1 0 0.5238 0.3333]. Therefore, the final CF Score for the first possible outcome is 2.8571.
[0122] As described hereinabove, the method for selecting and deploying a set of UAVs over a graphical area of interest comprises selecting a preliminary number of UAVs for deployment by defining possible outcomes for a plurality of criteria having predefined constraints and associated priority weights, computing a PF score (SPF) based on whether or not each of the possible outcomes violate the predefined constraints, computing a CF score (SCF) based on how close or far the possible outcomes are from an average score of all values falling under a same type of criteria, ranking the possible outcomes using SPF and SCF, and selecting the preliminary number of UAVs based on the ranking. In some embodiments, a distance factor score (SDF) is also computed, by measuring a distance between the possible outcomes for the plurality of criteria and the corresponding constraints for the criteria and used in the ranking.
Establishing a Positioning of Preliminary UAVs
[0123] Following the determination of a preliminary number of UAVs to deploy, as further presented in
[0124] According to one embodiment, the UAV coverage zone radius is defined by a set of predetermined parameters such as UAV location, UAV altitude, UAV camera field of view or UAV antenna transmission power and beam width or a combination thereof. Notice that varying UAV altitude can impact the coverage zone radius in addition to causing physical UAV collisions and creating Doppler shifts in the communication channels. Moreover, increasing the altitude to provide a wider coverage level can increase the loss of signal (LoS) probability, decrease imaging resolution, and increase path-loss attenuation. In order to limit such trade-offs and challenges, in accordance with one embodiment, it is assumed that the UAVs are required to operate at a same altitude and are considered as stationary Low Altitude Platforms (LAPs). For instance, the altitude of the UAVs may be less than 3000 meters. As presented in
[0125] According to one embodiment, the operational upper limit altitude for each case presented in the table 800 of
[0126] Where l is the radius or side length of the area of interest 104, n is the number of UAVs and is the camera's HFOV (Horizontal field of view). Consequently, the UAV coverage radius is calculated by:
[0127] Accordingly, the coverage problem is modeled as a multiple circles placement problem. The multiple circles are respectively associated to the coverage zone of each UAV, and the placement problem is formulated as follows:
[0128] Where n is the total number of UAVs, ovlp(ui, uj) is the overlapping between the coverage zones of two UAVs separated by a distance dij. The ovlp(ui, uj) is calculated as shown below:
[0129] Where represents the partial overlapping value between two UAV coverage zones and is measured as indicated below:
[0130] ovlp(ui,AoI) is the overlapping 1022 between the coverage zone of a UAV and zone outside the perimeter of the area of interest, as depicted in
[0131] Where dui-AoI is the distance between the UAV's coverage zone center and the center of the circular area of interest 104, as shown in
[0132] Where is the altitude measured at the midpoint of the outer arc's base. Equation (8) is meant for a square shaped area of interest 104 while equation (9) is formulated for a triangular shaped area of interest. In both equations, d.sub.j.sup. comprises all nearest perpendicular distances from a UAV to one of the areas-of-interest's edges. The condition in (9) about the UAV being inside or outside the area of interest is raised since the triangular areas of interest three vertices are presumed to be inscribed inside a rectangle for algorithmic purposes.
[0133] According to one embodiment as further presented in
[0134] Then, as further presented by the method 206 of
[0135] As presented in
[0136] The fitness terms F1 and F2 are indicative of an overlapping condition. In fact, the less each UAV's coverage radius overlaps another UAV's coverage zone or with outside the borders of the area of interest, the better its coverage zone and the better the solution.
[0137] Then, as further presented by the method of selecting candidate UAV positions 406 of
[0138] The GS operator allows to enhance the distribution of non-dominated solutions and to maintain the diversity of the population (of candidate solutions) by giving high priorities to those satisfying a predetermined condition. The equation describing the GS is presented in the following equation (11):
[0139] A selection likelihood for the i.sup.th individual is increased if at least one of its fitness (F1 or F2) values belongs to a goal vector [0,0], which is indicative of zero overlapping, a score is assigned to such i.sup.th individual. Otherwise, the selection will depend on the distance between the j.sup.th individual fitness (F1 and F2) values and the barycentre of all j.sup.th objectives. In fact, the selection likelihood is provided according to either the i.sup.th individual fitness (F1 or F2) values or according to j.sup.th individual fitness (F1 and F2) values.
[0140] Moreover, the selection likelihood can also be determined according to a weighted sum (WS) operator, as follows:
[0141] Where w.sub.j is a weight associated to each fitness term (F1 and F2) and is indicative of an importance factor of each fitness function. According to one embodiment, the sum of the weight associated to each fitness term (F1 and F2) is equal to one (1). In the present case, the fitness terms (F1 and F2) are equally important, therefore the w.sub.1 of F1 is equal to the w.sub.2 of F2 and w.sub.1=w.sub.2=0.5 and consequently w.sub.1+w.sub.2=1.
[0142] In some cases, the fitness terms are conflicting, for instance if fitness term F1 is associated to reducing overlapping between UAV coverage zones and fitness term F2 is associated to reducing overlapping outside the area of interest, a conflict might arise. In fact, reducing overlapping between UAV coverage zones can result in increasing overlapping outside the area of interest and vice versa. There may exist many Pareto optimal equally good solutions and therefore the weighted sum provides an additional method to select a fittest non-dominated solution, that is the solution having a lower WS score. According to one embodiment, the WS operator is used at various selection steps, such as: selecting some individuals for elitism, deciding the winner during the tournament selection and archiving the fittest solution in each generation.
[0143] According to one embodiment, the selection likelihood is either determined 412 according to the GS operator or according to the WS operator or both. It shall be recognized however that any other type of suitable selection operator or combination thereof can be used to determine the selection likelihood of each UAV candidate position.
[0144] Then according to one embodiment, as further presented in the method of selecting UAV candidate positions 406 of
[0145] Then, as further presented in the method 406 of
[0146] According to one embodiment, as presented in
[0147] According to one embodiment, in order to improve the diversity of next candidate positions also identified as chromosomes, the candidate positions are selected only once in order to allow other suitable candidate positions to be selected. That is, two candidate positions are mated or crossed-over only once in order to improve the diversity of candidate positions by producing two candidate position offsprings. For instance, real-coded genetic operators (AMXO Crossover) are defined as follows:
[0148] Where x.sub.i and y.sub.i are the i.sup.th parent and offspring respectively and .sub.iU(0,1) are generations-independent uniform random numbers.
[0149] A strength-decreasing Gaussian mutation (SDG) provides possible alterations with a constant probability p.sub.m which is a mutation rate on some random genes of some candidate positions (after combining the crossover offspring with the surviving ones that have not been chosen as parents). The candidate position that undergoes a mutation is given by:
[0150] where N(0, ) is the normal distribution with zero mean and a standard deviation that should be related to the bounds LB/UB.
[0151] The mutation strength gets close to zero as the number of generations increases in order to search the space normally in the initial generations and to refine and explore the space locally in the later generations.
[0152] Moreover, some fittest solutions are copied directly without changes to the next generation; hence, the best-performing solutions ever obtained will not be lost. At first, a number N1 of candidate positions are selected according to their GS ranking (lower values are preferred). An additional number N2 of candidate positions are selected according to their WS scores, if they have not yet been chosen. N1 and N2 are copies, so the original ones still exist to undergo genetic operations.
[0153] The best solutions found in each generation i.e., the non-dominated solution having the minimal GS ranking, are respectively archived. Once the maximum number of generations is reached or a solution that perfectly attains the goal vector is attained, the method 206 returns the fittest archived solution and the preliminary positioning of UAVs is thereby established 408.
Determining UAVs' Cameras/Antennas Orientations
[0154] Once the positioning of the preliminary UAVs is established 206 according to an acceptable coverage level threshold, there still are some non-covered areas, as it is not always possible to uniformly and totally cover a given area of interest while respecting the same conditions or criteria such as limiting overlapping conditions, as shown by coverage grid-map 1102 associated to area of interest 104 of
[0155] According to one embodiment as presented in
[0156] As further presented in
[0157] According to one embodiment as presented in
[0158] According to one embodiment as presented in
[0159] As further presented in
[0160] According to one embodiment, the orientation parameters are determined in a parallel manner for all UAVs and their associated sections (1106a, 1106b, 1106c, 1106d) are considered as sub-problems of a scaled down version from the main problem.
[0161] According to one embodiment, for each UAV, orientation parameters associated to each section are calculated 618 according to uncovered grid points that are within the UAV range. For instance, the uncovered grid points that are within the UAV range of one of the sections (1106a, 1106b, 1106c, 1106d) are determined according to the resulting tilt angles , coverage radii R and slant ranges S and are identified as extended-coverage grid points. The slant ranges S are calculated according to the UAVs altitude and the distances d between the UAV and its corresponding section (1106a, 1106b, 1106c, 1106d) grid points as presented in
[0162] The retained or identified extended-coverage grid points for each section are indicative of another coverage region defined by the associated radius R and tilt angle . The method 608 further verifies 620 if there are other section grid points that are within the UAV range and that do not overlap with another covered region as defined by a retained radii R and tilt angle that is associated to an extended-coverage grid point of another section or UAV. If such section grid points remain, then they will be retained together with the section grid points of extended-coverage grid points. Otherwise, the only grid points that will be considered in the next iterations are the grid points of the extended-coverage grid points.
[0163] In fact, for each section there is produced a sub-solution of retained section grid points, the coverage radii, elevation angles, the corresponding UAVS ID and the section information such as retained in collection array 1202 of
[0164] According to one embodiment, the overlapping between the coverage zones provided by the retained radii R and section grid points are calculated according to previously described equations (5) and (6) where the section grid points are taken as centers. The method produces a collection 1202 of sub-solution grid points with only the section grid points of the extended-coverage that do not overlap. The collection 1202 includes associated UAV identifier, section identifier, grid point coordinates, coverage radii R, slant ranges S and tilt angles ; otherwise, the sub-map grid point with largest coverage radius is the single sub-solution. Once all the sub-solutions are identified, they will be combined together as one collection matrix and then sorted in the ascending order according to UAVs ID.
[0165] Presented in
[0166] According to the method of determining a confirmed group of UAV orientation parameters 1300, as presented in
[0167] Here, by taking each possibility in combn rows as an index, the corresponding grid coordinates (Xc,Yc) and Rc extracted from the collection of sub-solutions are used to update the grid coverage array by replacing the 1 (indicative of an uncovered grid point) elements with 0 (indicative of a covered grid point) whenever any grid point in the whole grid map has a distance from points centered at (Xc, Yc) which is shorter than Rc, as depicted by UAV position over section 1104c of
[0168] In fact, further presented by sections 1104d and 1104a another coverage level is determined by calculating the sum of 1 elements in the grid coverage array as stated in line 12 of the method 1300 in
[0169] The combination having a lowest non-coverage () score is identified as the optimal or confirmed solution 1302, as depicted in
[0170] Returning to
[0171] Presented in
[0172] Presented in
[0173] The UAV deployment planning module 1502 is adapted to establish the deployment plan in accordance with a group of UAVs determined by a preliminary UAV selection module 1510, with geographical UAV positions provided by a UAV position determination module 1512 and with UAV orientation parameters provided by a UAV orientation parameter calculation module 1514. In some embodiments, a UAV rotation synchronizer is also present, as will be described in more detail below.
[0174] The preliminary UAV selection module 1510 is adapted to provide a preliminary number of UAVs to deploy based on the group of received criteria. According to one embodiment, the preliminary UAV selection module is adapted to perform the method of determining a preliminary number of UAVs to deploy 204, as concurrently presented in
[0175] The UAV position determination module 1512 is adapted to determine a geographical position of each UAV according to the preliminary number of UAVs determined by the selection module 1510 and according to an upper limit altitude criterion. According to one embodiment, the UAV position determination module 1512 is adapted to perform the method of establishing a position of each UAV 206, as concurrently presented in
[0176] The UAV orientation parameter calculation module 1514 is adapted to calculate orientation parameters for each UAV according to the position of each UAV established by the UAV position determination module 1512 and according to the selected region of interest. According to one embodiment, the UAV orientation parameter calculation module 1514 is adapted to perform the method of determining orientation parameters for each UAV 208, as concurrently presented in
[0177] In some embodiments, upon obtaining the final orientation of the UAVs 106, it may be desirable to synchronize the rotation of the UAVs 106. Rotation may be used to leverage the determined positions and orientations of the UAVs 106. Synchronizing the rotation(s) may allow better coverage of the area of interest 104, reduce interference between UAVs 106, and/or reduce power consumption of the UAVs 106. The system 1500 may be provided with a UAV rotation synchronizer 1516 to perform one or more synchronization algorithms.
[0178]
[0179] Each possibility in the Cartesian product rows is taken as an index and the corresponding parameters (X, Y, R, ID, D), symbolized by .sub., are extracted and used to evaluate all potential combinations. The Cartesian product is a functionality used to enumerate the ordered pairs obtained by combining all the elements in a binomially indexed array R.sub.tenp, as shown in line 11 of the synchronization algorithm 1600. The number of binomial indices described by n.sub.U items taken q at a time may be given by:
[0180] where 2qn.sub.U reflects the number of UAVs that should be rotated in each appointed combination.
[0181] Once all the combinations are identified, they may be accordingly and discretely evaluated via two objective functions .sub.1 and .sub.2 (equations 19a and 22). Function .sub.1 may be used to compute the ratio of overlapping between the areas covered by the UAVs designed to be rotated (.sub.ID) and those that are excluded from being rotated (.sub.ID), and thus keeping their idle state and initial orientation. The ratio .sub.1 may be determined in relation to the total area S:
[0182] In this example, Obj_Fun1 is the overlap between the coverage zones of two UAVs, each enclosing a radius r and separated by a Euclidean distance d.
[0183] The function .sub.2 may be used to compute the total ratio of non-coverage level by adding up the elements of {tilde over (T)} and then dividing by their complete number. {tilde over (T)} is given in equation 21 and is an updated version of T (equation 20), an m.sup.2 sized vector filled with ones to express the magnitude of non-covered Grids inscribed in the m-by-m full Grid map, which are either farther than the coverage radii of .sub.ID UAVs or the horizontal field-of-view range of .sub.ID UAVs.
[0184] The fitness values may be allocated in an array named FIT and appended with the conforming UAV IDs and directions in order to be able to distinguish between each combination.
[0185] Referring back to the synchronization algorithm 1600, and depending on how many UAVs are to be rotated, all combinations that fulfill the prior requirement, i.e., referring to a same number of UAVs, may be joined together in one matrix M. A matrix {acute over (M)} may be built from the Pareto non-dominated rows of M. This Pareto dominance may be computed with respect to the remaining .sub.1 and .sub.2 values of M, since with every iteration the previously chosen non-dominated rows will be recursively removed from the original matrix M, and another two-column matrix {circumflex over (M)} is generated in the process. Matrix {circumflex over (M)} is similar to matrix as it contains UAV IDs and respective directions. To ensure that each UAV ID included in {circumflex over (M)} is allowed to rotate in a single direction only once, in some embodiments, a counter is constantly updated and that option is removed from the temporary copy of assigned for the current main loop.
[0186] A preliminary solution matrix S.sub.init may be created to include the non-dominated options of {tilde over (M)} discovered thus far. Both M and {tilde over (M)} may be emptied at the end in order to re-launch the process by increasing the number of rotating UAVs. A temporary solution matrix S.sub.temp including all solutions that satisfy the condition raised in line 53 of the synchronization algorithm 1600 is used to make a final decision, i.e., the solutions that are deemed to be useful are those whose .sub.2 scores are not worse than the average of all .sub.2 values. S.sub.temp solutions do not belong to a unique class dependently on the number of rotating UAVs. These solutions are eventually teamed up together and those holding .sub.2 scores inferior or equal to the average of all .sub.2 values are accepted as ultimate solutions and enclosed in a terminating matrix S.sub.final. The ultimate solutions may be sorted in ascending order of their .sub.2 scores, placing on top the solution leading to the greater coverage level, and so forth.
[0187] With reference to
[0188] The present method 202 and system 1500 are adapted to use a simple and single population multi-objective genetic algorithm capable of optimizing two fitness terms while achieving a better performance. In addition, it is possible to apply a brute force algorithm, since only a reduced number of UAVs is needed to get a total coverage of an area. Moreover, the present method 202 and system 1500 are adapted to take into consideration any number of deployment criteria and are applicable to a variety of fields, while maintaining deployment accuracy irrespective of the number of criteria.
[0189] In addition, issues of on-demand coverage from ground terminals are met without the necessity to consider external factors (e.g., mobility of targets, density, distribution, etc.), since the targets are continuously covered with respect to a group of predetermined QoS requirements as deployment criteria. The present method 202 and system 1500 provide optimal hover coordinates of UAVs after efficiently setting a limit on their altitude in order to maximize the coverage lifetime and performance (i.e., better coverage with less energy consumption since the UAVs are less likely to leave their hover locations according to the novel hybrid heuristic).
[0190] Referring now to
[0191]
[0192] According to one embodiment, as presented in
[0193] Referring to
[0194] The evaluating candidate options according to a penalty factor and compactness factor at 3004 may be performed for microservices or FaaS in a manner similar to that described herein above with reference to
[0195] The embodiments described in this document provide non-limiting examples of possible implementations of the present technology. Upon review of the present disclosure, a person of ordinary skill in the art will recognize that changes may be made to the embodiments described herein without departing from the scope of the present technology.