Multi-unmanned aerial vehicle task allocation method of Voronoi graph internal rotation separation algorithm

Through the combination of the Voronoi graph internal rotation separation algorithm and the shortest range model, the difficulties in task allocation and route planning of multiple drones in dynamic environments are solved, the efficiency and safety of drone mission allocation are achieved, and the rapid response capability of emergency monitoring is improved.

CN119849846APending Publication Date: 2025-04-18SHANDONG UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411962540.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In a dynamic environment, there are difficulties in the assignment and route planning of multiple drones in critical events, which affects the success or failure of rescue monitoring tasks, and the routes of multiple drones affect each other, affecting the safety of rescue.

Method used

The Voronoi graph internal rotation separation algorithm is used to combine the economic and rational principles of task allocation to build an initial task initialization model, establish a task separation model of the task point Voronoi graph algorithm, and dynamically and orderly combination of task points through the internal rotation separation algorithm, and finally use the shortest range model to calculate the optimal track point set of fused allocation task points.

Benefits of technology

It realizes the safety and efficiency of the drone route while extremely fast allocation of flight missions, improves the efficiency of the rapid allocation of multiple drones and multi-tasks and the safety of the drone, and can complete emergency monitoring tasks quickly and efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FDA0005217541860000021
    Figure FDA0005217541860000021
Patent Text Reader

Abstract

The invention relates to a multi-unmanned aerial vehicle task allocation method based on a Voronoi graph internal rotation separation algorithm, and the method comprises the steps: constructing an initial task initialization model, building a task separation model of a task point Voronoi graph algorithm, carrying out the dynamic ordered combination of task points of the internal rotation separation algorithm, calculating an optimal track point set of fusion allocation task points through employing a shortest voyage model, and carrying out the task allocation of the Vronoi graph algorithm. And completing optimization of the optimal three-dimensional unmanned aerial vehicle flight route. According to the method, flight mission allocation problems such as flight route economy, flight mission allocation rationality and flight safety are considered. Example results show that safe and fair multi-unmanned aerial vehicle task allocation can be guaranteed under the multi-unmanned aerial vehicle and multi-task conditions by using a graphic template matching algorithm, and the method can provide an effective cooperation mode for civil unmanned aerial vehicles and improve the task execution efficiency and economic benefits at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of unmanned aerial vehicle task allocation, and relates to designing an optimal allocation scheme using constraints such as economic performance and rationality of task allocation, and is specifically a multi-unmanned aerial vehicle task allocation method based on a Voronoi diagram inward rotation separation algorithm. Background Art

[0002] So far, the research on multi-task extremely fast allocation of built-in route planning for emergency monitoring of multiple UAVs in dynamic environments is still a difficult problem for rescue at home and abroad, and there is no mature method for building a task separation model that integrates route design. In view of the urgency and rationality of dynamic task allocation and route design during emergency rescue, which limits the success or failure of rescue monitoring tasks, and the spatial relationship of the routes of multiple UAVs that affect each other will greatly affect the safety of rescue, how to embed safe flight routes into extremely fast allocation of flight tasks to improve the success rate of rescue still needs in-depth research and exploration. The solution to this problem has extremely important practical significance for broadening the application of civil UAVs in military and military rapid response capabilities. Summary of the invention

[0003] (1) Construct the initialization model p of the initial task, which is mathematically described as follows:

[0004] px=random(′Paisson′,xmn:xmx,xmn,xmx) (1)

[0005] py=random('Poisson',ymn:ymx,ymn,ymx) (2)

[0006] pz=random(′Poisson′, zmn: hmx, zm, zmx) (3)

[0007] p=[px;py;pz] (4)

[0008] In formulas (1) to (4), xmn, xmx, ":", Poisson, random, and px represent the minimum and maximum values ​​of the horizontal coordinates of the planned airspace, the operator for generating a one-dimensional array, the option of generating random numbers using Poisson distribution, the function for generating 0-1 random numbers, and the one-dimensional array of the horizontal coordinates of the random task points; ymn, ymx, and py represent the minimum and maximum values ​​of the vertical coordinates of the planned airspace and the one-dimensional array of the vertical coordinates of the random task points; zmn, zmx, and pz represent the minimum and maximum values ​​of the elevation of the planned airspace and the one-dimensional array of the elevation coordinates of the random task points; "[]" and p represent the Matlab software matrix representation symbol and the three-dimensional coordinate matrix of the task points;

[0009] (2) Establishing the task separation model of the task point Voronoi diagram algorithm:

[0010] First, we use formulas (5) to (6) to obtain the task separation model of the task point Voronoi diagram algorithm:

[0011] [u, c] = voronoin(p′) (5)

[0012] v=[vx;vy] (6)

[0013] In formulas (5) to (6), “′”, voronoin, c, and v are the matrix transposition symbol of Matlab software, the point set drawing Voronoi diagram function in two-dimensional space, and the generated separation multi-deformation point number set and the coordinate set corresponding to the point number; vx and vy are the horizontal and vertical coordinate sets corresponding to the calculated point number;

[0014] Secondly, the internal task point index of the separated multi-deformation area machine is obtained using formulas (7) to (8):

[0015] tes_area(i)=polyarea(vx(i),vy(i)) (7)

[0016] [in, on] = inpolygon (px, py, [vx (end); vx], [vy (end); vy]) (8)

[0017] In formulas (7) to (8), vx(i), vy(i), polyarea, and tes_area(i) are the horizontal and vertical coordinate sets of the ith separated polygon area, the function for calculating the separated polygon area, and the area value obtained by calculation; “;”, end, inpolygon, in, and on are the row segmentation symbol in the matrix of Matlab software, the last element of the array, the function for screening the internal and boundary points of the polygon, and the index of the internal points and boundary points obtained;

[0018] Finally, the complex set of separated multi-deformation plane coordinates after preliminary segmentation is obtained using formulas (9) to (11):

[0019] pin=p(1,in)+1j*p(2,in) (9)

[0020] p(:,in)=[] (10)

[0021] pou=p(1,:)+1j*p(2,:) (11)

[0022] In formulas (9) to (11), pin, j, "[]", and p(:, in) are respectively the plane coordinate complex number set of the internal separation multi-deformation, the complex number representation symbol, the empty data set in Matlab software for deleting data and all task points located inside the separation multi-deformation; pou, p(1,:), and p(2,:) are respectively the plane coordinate complex number set of the external separation multi-deformation, all elements in the first row of the task points represent the horizontal coordinate set of the task points, and all elements in the second row of the task points represent the vertical coordinate set of the task points;

[0023] (3) Dynamic and ordered combination of task points for implementing the internal rotation separation algorithm:

[0024] First, use formulas (12) to (13) to obtain the complex values ​​of the center point of the separation multi-deformation plane coordinates pinct and pouct:

[0025] pinct=mean(cell2mat(pin)) (12)

[0026] pouct=mean(pou) (13)

[0027] In formulas (12) to (13), cell2mat, mean, pinct, and pouct are functions for converting cell values ​​into matrices, calculating the average value, and calculating the complex values ​​of the internal and external separated multi-deformation center points, respectively;

[0028] Secondly, formulas (14) to (17) are used to obtain the complex difference from the separated multi-deformation to the center point and its corresponding argument:

[0029] pinctc=cell2mat(pin)-pinct (14)

[0030] pouctc=pou-pouct (15)

[0031] pinctca=angle(pinctc) (16)

[0032] pouctca=angle(pouctc) (17)

[0033] In formulas (14) to (17), pinctc and pouctc are the complex differences between the internal and external separation polymorphs and the center point, respectively; angle, pinctca, and pouctca are the functions for calculating the complex amplitude and the amplitudes of the internal and external separation polymorphs to the center point obtained by calculation;

[0034] Formulas (18) to (21) are used again to obtain the amplitude set of the sorted separation polygons to the center point and the secondary task point separation result:

[0035] [vin, vinx]=sort(pinctca) (18)

[0036] [vou,voux]=sort(pouctca) (19)

[0037] [vinf, vinfr, vinfl] = find (vin>0) (20)

[0038] [vouf,voufr,voufl]=find(vou>0) (21)

[0039] In formulas (18) to (21), sort, vin, and vinx are sorting functions and the sorted internal separated polymorphic complex number sequences and the corresponding index sets in the original set; vin and vinx are the sorted external separated polymorphic complex number sequences and the corresponding index sets in the original set; find, vinf, vinfcr, and vinfl are functions for searching for satisfying conditions and the internal separated polymorphic complex number sets and the corresponding row and column index sets in the original set; vouf, voufcr, and voufl are the external separated polymorphic complex number sets with amplitude values ​​greater than zero and the corresponding row and column index sets in the original set;

[0040] Finally, formulas (22) to (31) are used to obtain the complex set of polymorphic plane coordinates after the secondary separation of internal and external separated polymorphic:

[0041] vinsx1=vinx(vinfr) (22)

[0042] pinf1=pin(vinsx1) (23)

[0043] vix2=setdiff(1:length(pin),vinfr) (24)

[0044] vinsx2=vinx(vix2) (25)

[0045] pinf2=pin(vinsx2) (26)

[0046] vousx1=voux(voufr) (27)

[0047] pouf1=pou(vousx1) (28)

[0048] vox2=setdiff(1:length(pou),voufr) (29)

[0049] vousx2=voux(vox2) (30)

[0050] pouf2=pou(vousx2) (31)

[0051] In formulas (22) to (26), vinsx1 and pinf1 are respectively the set of task point index values ​​in the internal separation polymorph with an amplitude angle greater than zero and the corresponding set of task point plane coordinate complex numbers; length, setdiff and vix2 are respectively the function of calculating the longest dimension of an array, the function of calculating the set XOR value and the set of task point index values ​​in the internal separation polymorph with an amplitude angle less than or equal to zero; vinsx2 and pinf2 are respectively the set of task point index values ​​in the partial separation polymorph with an amplitude angle less than or equal to zero and the corresponding set of task point plane coordinate complex numbers; in formulas (27) to (31), vousx1 and pouf1 are respectively the set of task point index values ​​in the external separation polymorph with an amplitude angle greater than zero and the corresponding set of task point plane coordinate complex numbers; vinsx2, pinf2 and vix2 are respectively the set of task point index values ​​in the external separation polymorph with an amplitude angle less than or equal to zero and the corresponding set of task point plane coordinate complex numbers and the set of task point index values ​​in the external separation polymorph with an amplitude angle less than or equal to zero;

[0052] (4) Use the shortest flight model to calculate the optimal set of track points for fusion allocation of task points:

[0053] First, use formulas (32) to (39) to obtain the four types of route center plane coordinate sets xf and yf containing the mission points of each route to be selected:

[0054] xf(1)=[p0(1) real(cell2mat(pinf1)) p1(1)] (32)

[0055] yf(1)=[p0(2) imag(cell2mat(pinf1)) p1(2)] (33)

[0056] xf(2)=[p0(1) fliplr(real(cell2mat(pinf1))) p1(1)] (34)

[0057] yf(2)=[p0(2) fliplr(imag(cell2mat(pinf1))) p1(2)] (35)

[0058] xf(3)=[p1(1) real(cell2mat(pinf1)) p0(1)] (36)

[0059] yf(3)=[p1(2) imag(cell2mat(pinf1)) p0(2)] (37)

[0060] xf(4)=[p0(1) fliplr(real(cell2mat(pinf1))) p1(1)] (38)

[0061] yf(4)=[p0(2) fliplr(imag(cell2mat(pinf1))) p1(2)] (39)

[0062] In formulas (32) to (39), xf(1), yf(1), xf(2), yf(2), xf(3), yf(3), xf(4), yf(4) are the plane coordinate sets of the 1st, 2nd, 3rd, and 4th routes respectively; p0(1), p0(2), p1(1), and p1(2) are the plane coordinates corresponding to the starting and ending points of the calculation task respectively; real, imag, and fliplr are the functions for calculating the real and imaginary parts of complex numbers and the function for inverting the array left and right respectively;

[0063] Secondly, formula (40) is used to obtain the plane coordinate set xc, yc and the distance mc of each route with the shortest distance:

[0064] [xc, yc, mc] = mdst (xf, yf) (40)

[0065] In formula (40), mdst, xc, yc, and mc are the function for selecting the shortest route and the calculated route plane coordinate set and flight distance set respectively;

[0066] (5) The optimal three-dimensional UAV flight route optimization is completed. This method realizes the dynamic optimization of flight mission allocation and provides an effective method to improve the efficiency of UAV mission completion.

[0067] Compared with the prior art, the present invention has the following advantages:

[0068] a. Achieve flight mission allocation planning that meets the requirements of extremely fast built-in multi-UAV route planning. The Voronoi diagram internal rotation separation algorithm is combined with the principle of allocation rationality, taking into account the most economical requirements of the UAV range, providing an effective method to improve the efficiency of the rapid allocation of multiple UAVs and multiple tasks and the safety of UAVs.

[0069] b. Integration of multi-UAV monitoring routes by integrating separated mission points into flight routes. The economy of flight design is achieved by combining the two-layer mission allocation method and the multiple combination method of mission points and flight start and end points, realizing the characteristics of extremely fast multi-task, multi-UAV collaborative emergency monitoring combination implementation. The allocation of tasks and route model optimization combination planning in critical environments plays an important role in completing emergency monitoring tasks quickly and efficiently. DETAILED DESCRIPTION

[0070] The technical solution of the present invention is further described below in conjunction with an embodiment. In the embodiment, there are 4 drones flying, the lower left corner coordinates of the planned airspace are [0km, 0km, 0m], and the upper right corner coordinates are [20km, 20km, 60m]. At (16km, 9km), (2km, 6km), (4km, 6km), (9km, 11km), (10km, 18km), (11km, 19km), (13km, 20km), (5km, 14km), (6km, 14km), (14km, 2km), (6km, 5km), (14km, 17km), There are 20 mission points in total at (1km, 1km, 30m), (20km, 20km, 30m), (19km, 1km, 1km, 10km, 9km, 10km, 16km, 7km, 16km, and 10km, 1km. The performance parameters of the drone are as follows: maximum flight time 35 hours, minimum cruising speed 300 km / h, range greater than 3000 km; the coordinates of the starting point and the target point are (1km, 1km, 30m), (20km, 20km, 30m) respectively.

[0071] (1) Construct the initialization model p of the initial task, which is mathematically described as follows:

[0072] px=random(′Poisson′,1:20,1,20) (1)

[0073] py=random('Poisson',1:20,1,20) (2)

[0074] pz=random(′Poisson′,1:20,1,20) (3)

[0075] p=[px;py;pz] (4)

[0076] In formulas (1) to (4), xmn, xmx, ":", Poisson, random, and px represent the minimum and maximum values ​​of the horizontal coordinates of the planned airspace, the operator for generating a one-dimensional array, the option of generating random numbers using Poisson distribution, the function for generating 0-1 random numbers, and the one-dimensional array of the horizontal coordinates of the random task points; ymn, ymx, and py represent the minimum and maximum values ​​of the vertical coordinates of the planned airspace and the one-dimensional array of the vertical coordinates of the random task points; zmn, zmx, and pz represent the minimum and maximum values ​​of the elevation of the planned airspace and the one-dimensional array of the elevation coordinates of the random task points; "[]" and p represent the Matlab software matrix representation symbol and the three-dimensional coordinate matrix of the task points;

[0077] (2) Establishing the task separation model of the task point Voronoi diagram algorithm:

[0078] First, we use formulas (5) to (6) to obtain the task separation model of the task point Voronoi diagram algorithm:

[0079] [v, c] = voronoin(p′) (5)

[0080] v=[vx;vy] (6)

[0081] In formulas (5) to (6), “′”, voronoin, c, and v are the matrix transposition symbol of Matlab software, the point set drawing Voronoi diagram function in two-dimensional space, and the generated separation multi-deformation point number set and the coordinate set corresponding to the point number; vx and vy are the horizontal and vertical coordinate sets corresponding to the calculated point number;

[0082] Secondly, the internal task point index of the separated multi-deformation area machine is obtained using formulas (7) to (8):

[0083] tes_area(i)=polyarea(vx(i),vy(i)) (7)

[0084] [in, on] = inpolygon (px, py, [vx (end); vx], [vy (end); vy]) (8)

[0085] In formulas (7) to (8), vx(i), vy(i), polyarea, and tes_area(i) are the horizontal and vertical coordinate sets of the ith separated polygon area, the function for calculating the separated polygon area, and the area value obtained by calculation; “;”, end, inpolygon, in, and on are the row segmentation symbol in the matrix of Matlab software, the last element of the array, the function for screening the internal and boundary points of the polygon, and the index of the internal points and boundary points obtained;

[0086] Finally, the complex set of separated multi-deformation plane coordinates after preliminary segmentation is obtained using formulas (9) to (11):

[0087] pin=p(1,in)+1j*p(2,in) (9)

[0088] p(:,in)=[] (10)

[0089] pou=p(1,:)+1j*p(2,:) (11)

[0090] In formulas (9) to (11), pin, j, "[]", and p(:, in) are respectively the plane coordinate complex number set of the internal separation multi-deformation, the complex number representation symbol, the empty data set in Matlab software for deleting data and all task points located inside the separation multi-deformation; pou, p(1,:), and p(2,:) are respectively the plane coordinate complex number set of the external separation multi-deformation, all elements in the first row of the task points represent the horizontal coordinate set of the task points, and all elements in the second row of the task points represent the vertical coordinate set of the task points;

[0091] (3) Dynamic and ordered combination of task points for implementing the internal rotation separation algorithm:

[0092] First, use formulas (12) to (13) to obtain the complex values ​​of the center point of the separation multi-deformation plane coordinates pinct and pouct:

[0093] pinct=mean(cell2mat(pin)) (12)

[0094] pouct=mean(pou) (13)

[0095] In formulas (12) to (13), cell2mat, mean, pinct, and pouct are functions for converting cell values ​​into matrices, calculating the average value, and calculating the complex values ​​of the internal and external separated multi-deformation center points, respectively;

[0096] Secondly, formulas (14) to (17) are used to obtain the complex difference from the separated multi-deformation to the center point and its corresponding argument:

[0097] pinctc=cell2mat(pin)-pinct (14)

[0098] pouctc=pou-pouct (15)

[0099] pinctca=angle(pinctc) (16)

[0100] pouctca=angle(pouctc) (17)

[0101] In formulas (14) to (17), pinctc and pouctc are the complex differences between the internal and external separation polymorphs and the center point, respectively; angle, pinctca, and pouctca are the functions for calculating the complex amplitude and the amplitudes of the internal and external separation polymorphs to the center point obtained by calculation;

[0102] Formulas (18) to (21) are used again to obtain the amplitude set of the sorted separation polygons to the center point and the secondary task point separation result:

[0103] [vin, vinx]=sort(pinctca) (18)

[0104] [vou,voux]=sort(pouctca) (19)

[0105] [vinf, vinfr, vinfl] = find (vin>0) (20)

[0106] [vouf,voufr,voufl]=find(vou>0) (21)

[0107] In formulas (18) to (21), sort, vin, and vinx are sorting functions and the sorted internal separated polymorphic complex number sequences and the corresponding index sets in the original set; vin and vinx are the sorted external separated polymorphic complex number sequences and the corresponding index sets in the original set; find, vinf, vinfcr, and vinfl are functions for searching for satisfying conditions and the internal separated polymorphic complex number sets and the corresponding row and column index sets in the original set; vouf, voufcr, and voufl are the external separated polymorphic complex number sets with amplitude values ​​greater than zero and the corresponding row and column index sets in the original set;

[0108] Finally, formulas (22) to (31) are used to obtain the complex set of polymorphic plane coordinates after the secondary separation of internal and external separated polymorphic:

[0109] vinsx1=vinx(vinfr) (22)

[0110] pinf1=pin(vinsx1) (23)

[0111] vix2=setdiff(1:length(pin),vinfr) (24)

[0112] vinsx2=vinx(vix2) (25)

[0113] pinf2=pin(vinsx2) (26)

[0114] vousx1=voux(voufr) (27)

[0115] pouf1=pou(vousx1) (28)

[0116] vox2=setdiff(1:length(pou),voufr) (29)

[0117] vousx2=voux(vox2) (30)

[0118] pouf2=pou(vousx2) (31)

[0119] In formulas (22) to (26), vinsx1 and pinf1 are respectively the set of task point index values ​​in the internal separation polymorph with an amplitude angle greater than zero and the corresponding set of task point plane coordinate complex numbers; length, setdiff and vix2 are respectively the function of calculating the longest dimension of an array, the function of calculating the set XOR value and the set of task point index values ​​in the internal separation polymorph with an amplitude angle less than or equal to zero; vinsx2 and pinf2 are respectively the set of task point index values ​​in the partial separation polymorph with an amplitude angle less than or equal to zero and the corresponding set of task point plane coordinate complex numbers; in formulas (27) to (31), vousx1 and pouf1 are respectively the set of task point index values ​​in the external separation polymorph with an amplitude angle greater than zero and the corresponding set of task point plane coordinate complex numbers; vinsx2, pinf2 and vix2 are respectively the set of task point index values ​​in the external separation polymorph with an amplitude angle less than or equal to zero and the corresponding set of task point plane coordinate complex numbers and the set of task point index values ​​in the external separation polymorph with an amplitude angle less than or equal to zero;

[0120] (4) Use the shortest flight model to calculate the optimal set of track points for fusion allocation of task points:

[0121] First, use formulas (32) to (39) to obtain the four types of route center plane coordinate sets xf and yf containing the mission points of each route to be selected:

[0122] xf(1)=[0 real(cell2mat(pinf1)) 20] (32)

[0123] yf(1)=[0 imag(cell2mat(pinf1)) 20] (33)

[0124] xf(2)=[0 fliplr(real(cell2mat(pinf1))) 20] (34)

[0125] yf(2)=[0 fliplr(imag(cell2mat(pinf1)))20] (35)

[0126] xf(3)=[20 real(cell2mat(pinf1))0] (36)

[0127] yf(3)=[20 imag(cell2mat(pinf1)) 0] (37)

[0128] f(4)=[0 fliplr(real(cell2mat(pinf1))) 20] (38)

[0129] yf(4)=[o fliplr(imag(cell2mat(pinf1))) 20] (39)

[0130] In formulas (32) to (39), xf(1), yf(1), xf(2), yf(2), xf(3), yf(3), xf(4), yf(4) are the plane coordinate sets of the 1st, 2nd, 3rd, and 4th routes respectively; p0(1), p0(2), p1(1), and p1(2) are the plane coordinates corresponding to the starting and ending points of the calculation task respectively; real, imag, and fliplr are the functions for calculating the real and imaginary parts of complex numbers and the function for inverting the array left and right respectively;

[0131] Secondly, formula (40) is used to obtain the plane coordinate set xc, yc and the distance mc of each route with the shortest distance:

[0132] [xc, yc, mc] = mdst (xf, yf) (40)

[0133] In formula (40), mdst, xc, yc, and mc are the function for selecting the shortest route and the calculated route plane coordinate set and flight distance set respectively;

[0134] (5) Complete the optimal three-dimensional UAV flight route optimization.

[0135] The experimental results are as follows: the maximum range of the assigned drone is 104.5 kilometers, the planning time is 0.04 seconds, the difference in the number of tasks assigned to the four drones is 25%, and the range difference is only 25.65%, which can realize fast parallel emergency task monitoring. The method adopts the Voronoi diagram inward rotation separation algorithm to quickly obtain the drone task allocation plan, and can also plan the flight route with the shortest total distance, which can realize the rapid and efficient completion of drone collaborative flight missions, and provide technical support for emergency response.

Claims

1. A multi-UAV task allocation method based on Voronoi diagram internal rotation separation algorithm, Its features are implemented in the following steps: (1) Construct the initialization model p of the initial task, which is mathematically described as follows: px=random(′Poisson′,xmn:xmx,xmn,xmx) (1) py=random(′Poisson′,ymn:ymx,ymn,ymx) (2) pz=random(′Poisson′, zmn: hmx, zmn, zmx) (3) p=[px;py;pz] (4) In formulas (1) to (4), xmn, xmx, ":", Poisson, random, and px represent the minimum and maximum values ​​of the horizontal coordinates of the planned airspace, the operator for generating a one-dimensional array, the option of generating random numbers using Poisson distribution, the function for generating 0-1 random numbers, and the one-dimensional array of the horizontal coordinates of the random task points; ymn, ymx, and py represent the minimum and maximum values ​​of the vertical coordinates of the planned airspace and the one-dimensional array of the vertical coordinates of the random task points; zmn, zmx, and pz represent the minimum and maximum values ​​of the elevation of the planned airspace and the one-dimensional array of the elevation coordinates of the random task points; "[]" and p represent the Matlab software matrix representation symbol and the three-dimensional coordinate matrix of the task points; (2) Establishing the task separation model of the task point Voronoi diagram algorithm: First, we use formulas (5) to (6) to obtain the task separation model of the task point Voronoi diagram algorithm: [v, c] = voronoin(p′) (5) v=[vx;vy] (6) In formulas (5) to (6), "′", voronoin, c, and v are the matrix transposition symbol of Matlab software, the point set drawing Voronoi diagram function in two-dimensional space, and the generated separation multi-deformation point number set and the coordinate set corresponding to the point number; vx and vy are the horizontal and vertical coordinate sets corresponding to the calculated point number respectively; Secondly, the internal task point index of the separated multi-deformation area machine is obtained using formulas (7) to (8): tes_area(i)=polyarea(vx(i),vy(i)) (7) [in, on] = inpolygon (px, py, [vx (end); vx], [vy (end); vy]) (8) In formulas (7) to (8), vx(i), vy(i), polyarea, and tes_area(i) are the horizontal and vertical coordinate sets of the ith separated polygon area, the function for calculating the separated polygon area, and the area value obtained by calculation; ";", end, inpolygon, in, and on are the row segmentation symbol in the matrix of Matlab software, the last element of the array, the function for screening the internal and boundary points of the polygon, and the index of the internal points and boundary points obtained; Finally, the complex set of separated multi-deformation plane coordinates after preliminary segmentation is obtained using formulas (9) to (11): pin=p(1,in)+1j*p(2,in) (9) pou=p(1,:)+1j*p(2,:) (11) In formulas (9) to (11), pin, j, "[]", and p(:, in) are respectively the plane coordinate complex number set of the internal separation polygon, the complex number representation symbol, and the empty data set in Matlab software for deleting data and all task points located inside the separation polygon; pou, p(1,:), and p(2,:) are respectively the plane coordinate complex number set of the external separation polygon, all elements in the first row of the task points represent the horizontal coordinate set of the task points, and all elements in the second row of the task points represent the vertical coordinate set of the task points; (3) Dynamic and ordered combination of task points for implementing the internal rotation separation algorithm: First, use formulas (12) to (13) to obtain the complex values ​​of the center point of the separation multi-deformation plane coordinates pinct and pouct: pinct=mean(cell2mat(pin)) (12) pouct=mean(pou) (13) In formulas (12) to (13), cell2mat, mean, pinct, and pouct are functions for converting cell values ​​into matrices, calculating the average value, and calculating the complex values ​​of the internal and external separated multi-deformation center points, respectively; Secondly, formulas (14) to (17) are used to obtain the complex difference from the separated multi-deformation to the center point and its corresponding argument: pinctc=cell2mat(pin)-pinct (14) pouctc=pou-pouct (15) pinctca=angle(pinctc) (16) pouctca=angle(pouctc) (17) In formulas (14) to (17), pinctc and pouctc are the complex differences between the internal and external separation polymorphs and the center point, respectively; angle, pinctca, and pouctca are the functions for calculating the complex amplitude and the amplitudes of the internal and external separation polymorphs to the center point obtained by calculation; Formulas (18) to (21) are used again to obtain the amplitude set of the sorted separation polygons to the center point and the secondary task point separation result: [vin, vinx]=sort(pinctaa) (18) [vou,voux]=sort(pouctca) (19) [vinf, vinfr, vinfl]=find(vin>0) (20) [vouf,voufr,voufl]=find(vou>0) (21) In formulas (18) to (21), sort, vin, and vinx are sorting functions and the sorted internal separated polymorphic complex number sequences and the corresponding index sets in the original set; vin and vinx are the sorted external separated polymorphic complex number sequences and the corresponding index sets in the original set; find, vinf, vinfcr, and vinfl are functions for searching for satisfying conditions and the internal separated polymorphic complex number sets and the corresponding row and column index sets in the original set; vouf, voufcr, and voufl are the external separated polymorphic complex number sets with amplitude values ​​greater than zero and the corresponding row and column index sets in the original set; Finally, formulas (22) to (31) are used to obtain the complex set of polymorphic plane coordinates after the secondary separation of internal and external separated polymorphic: vinsx1=vinx(vinfr) (22) pinf1=pin(vinsx1) (23) vix2=setdiff(1:length(pin),vinfr) (24) vinsx2=vinx(vix2) (25) pinf2=pin(vinsx2) (26) vousx1=vou(voufr) (27) pouf1=pou(vousx1) (28) vox2=setdiff(1:length(pou),voufr) (29) vousx2=voux(vox2) (30) pouf2=pou(vousx2) (31) In formulas (22) to (26), vinsx1 and pinf1 are respectively the set of task point index values ​​in the internal separation polymorph with an amplitude angle greater than zero and the corresponding set of task point plane coordinate complex numbers; length, setdiff and vix2 are respectively the function of calculating the longest dimension of an array, the function of calculating the set XOR value and the set of task point index values ​​in the internal separation polymorph with an amplitude angle less than or equal to zero; vinsx2 and pinf2 are respectively the set of task point index values ​​in the partial separation polymorph with an amplitude angle less than or equal to zero and the corresponding set of task point plane coordinate complex numbers; in formulas (27) to (31), vousx1 and pouf1 are respectively the set of task point index values ​​in the external separation polymorph with an amplitude angle greater than zero and the corresponding set of task point plane coordinate complex numbers; vinsx2, pinf2 and vix2 are respectively the set of task point index values ​​in the external separation polymorph with an amplitude angle less than or equal to zero and the corresponding set of task point plane coordinate complex numbers and the set of task point index values ​​in the external separation polymorph with an amplitude angle less than or equal to zero; (4) Use the shortest flight model to calculate the optimal set of track points for fusion allocation of task points: First, use formulas (32) to (39) to obtain the four types of route center plane coordinate sets xf and yf that contain the mission points of each route to be selected: xf(1)=[p0(1)real(cell2mat(pinf1))p1(1)] (32) yf(1)=[p0(2)imgag(cell2mat(pinf1))p1(2)] (33) xf(2)=[p0(1)fliplr(real(cell2mat(pinf1)))p1(1)] (34) yf(2)=[p0(2)fliplr(imag(cell2mat(pinf1)))p1(2)] (35) xf(3)=[p1(1)real(cell2mat(pinf1))p0(1)] (36) yf(3)=[p1(2)imag(cell2mat(pinf1))p0(2)] (37) xf(4)=[p0(1)fliplr(real(cell2mat(pinf1)))p1(1)] (38) yf(4)=[p0(2)fliplr(imag(cell2mat(pinf1)))p1(2)] (39) In formulas (32) to (39), xf(1), yf(1), xf(2), yf(2), xf(3), yf(3), xf(4), yf(4) are the plane coordinate sets of the 1st, 2nd, 3rd, and 4th routes respectively; p0(1), p0(2), p1(1), and p1(2) are the plane coordinates corresponding to the starting and ending points of the calculation task respectively; real, imag, and fliplr are the functions for calculating the real and imaginary parts of complex numbers and the function for inverting the array left and right respectively; Secondly, formula (40) is used to obtain the plane coordinate set xc, yc and the distance mc of each route with the shortest distance: [xc, yc, mc] = mdst (xf, yf) (40) In formula (40), mdst, xc, yc, and mc are the function for selecting the shortest route and the calculated route plane coordinate set and flight distance set respectively; (5) Complete the optimal three-dimensional UAV flight route optimization.