Unmanned aerial vehicle area route planning method based on openlayers

The openlayers-based UAV route planning method simplifies and accelerates the route planning process by calculating polygon boundaries, spatial resolution, and adjusting line segments, improving UAV efficiency and flexibility.

CN119197528AInactive Publication Date: 2024-12-27BEIJING WATER PULSE TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411320754.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2024-12-27
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure CN119197528A_ABST
    Figure CN119197528A_ABST
Patent Text Reader

Abstract

The invention discloses an unmanned aerial vehicle area route planning method based on openlayers, and the method comprises the steps: drawing an unmanned aerial vehicle inspection area, calculating the boundary range of a polygon according to coordinate points, and drawing a square with the maximum side length as the side length; calculating a central point of a new peripheral square according to the square, and creating the new peripheral square based on the central point and a specified side length; determining the spatial resolution of the aerial image of the unmanned aerial vehicle; dividing the square area at equal intervals, and rotating the route according to the route angle; calculating an intersection point of the maximum square segmentation line and the polygonal region; adjusting the direction of each line segment to ensure that each line segment faces the same direction; and connecting the intersection points, drawing into a line, and sorting according to the shape of the Chinese character'gong 'to obtain a flight route in the polygonal area. The use efficiency of the unmanned aerial vehicle is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of unmanned aerial vehicles, and in particular to an openlayers-based regional route planning method for unmanned aerial vehicles. Background Art

[0002] With the rapid development of drone technology, drones have been widely used in inspection and monitoring in water conservancy, agriculture, mining, electricity, forestry and other fields due to their advantages of flexibility, low cost and less constraints from the natural environment. When drones perform flight missions according to established routes, the planned flight routes determine the efficiency of drone inspections. Currently, there are some technologies for drone flight route planning, but these technologies require complex operations to implement, and the track point path planning method is inefficient, and users spend a long time planning routes. Summary of the invention

[0003] In view of the above problems, the present invention is proposed to provide an openlayers-based UAV regional route planning method that overcomes the above problems or at least partially solves the above problems.

[0004] According to one aspect of the present invention, a method for regional route planning of a UAV based on OpenLayers is provided, and the route planning method comprises:

[0005] Draw the drone inspection area, calculate the boundary range of the polygon based on the coordinate points, and draw a square with the maximum side length as the side length;

[0006] Calculating a center point of a new outer square according to the square, and creating a new outer square based on the center point and a specified side length;

[0007] Determine the spatial resolution of drone aerial images;

[0008] Divide the square area into equal intervals and rotate the route according to the route angle;

[0009] Calculate the intersection point of the maximum square dividing line and the polygon area;

[0010] Adjust the direction of each line segment to ensure that each line segment is facing the same direction;

[0011] The intersection points are connected to form lines and are sorted in a bow shape to obtain a flight route within the polygonal area.

[0012] Optionally, drawing the drone inspection area, calculating the boundary range of the polygon according to the coordinate points, and drawing a square with the maximum side length as the side length specifically includes:

[0013] Get the maximum and minimum coordinates of the rectangle xmin, xmax, ymin, ymax;

[0014] Calculate the width and height of the rectangle according to the coordinate points, width = Math.abs (xmax-xmin), height = Math.abs (ymax-ymin), Math.abs takes the absolute value of the difference, ensures that both width and height are positive values, and obtains the longest side length of the rectangle maxLength = Math.max (width, height);

[0015] Calculate the boundary coordinates of the square according to the coordinate points and the length of the side and use this coordinate point to draw a square with the maximum side length of the edge rectangle. The calculation formula for the boundary coordinates is:

[0016] squareMinX=(xmin+xmax) / 2-maxLength / 2;

[0017] squareMinY=(ymin+ymax) / 2-maxLength / 2;

[0018] squareMaxX=(xmin+xmax) / 2+maxLength / 2;

[0019] squareMaxY=(ymin+ymax) / 2+maxLength / 2.

[0020] Optionally, calculating a center point of a new outer square according to the square, and creating a new outer square based on the center point and a specified side length specifically includes:

[0021] Initialize and define the center point array center, which is used to store the center point coordinates of the new square. Center is initialized to [0,0];

[0022] Call openlayers's getCoordinates() to get the coordinate array of the edge squares. Assuming that getCoordinates() returns an array containing coordinate arrays of multiple squares, only take the value of the first square and update the value of the cente r by calculating the average of the x and y coordinates of the four vertices of the square.

[0023] squareCoordinates = square.getCoordinates()[0], square is the square area obtained in the first step;

[0024] x=(squareCoordinates[0][0]+squareCoordinates[1][0]+squareCoordinates[2][0]+squareCoordinates[3][0]) / 4;

[0025] y=(squareCoordinates[0][1]+squareCoordinates[1][1]+squareCoordinates[2][1]+squareCoordinates[3][1]) / 4;

[0026] Calculate the side length of the outer square, define a fuzzy factor N and set its value to 2000. The fuzzy factor is used to add some extra length when calculating the side length of the new square.

[0027] Calculate the side length of the new square based on maxLength;

[0028] sideLength=maxLength+N, convert the fuzzy factor in meters to the difference between longitude and latitude;

[0029] Calculate four coordinate points based on the coordinates of the center point and the side length of the new square, and draw a new outer maximum square on the map;

[0030] The calculation formula of coordinate points is:

[0031] [x-sideLength / 2,y-sideLength / 2];

[0032] [x+sideLength / 2,y-sideLength / 2];

[0033] [x+sideLength / 2,y+sideLength / 2];

[0034] [x-sideLength / 2,y+sideLength / 2].

[0035] Optionally, determining the spatial resolution of the drone aerial image specifically includes:

[0036] The spatial resolution of the drone aerial image is calculated based on the equipment carried by the drone. The calculation formula of spatial resolution is d = (s*H*0.1) / f;

[0037] Where s is the pixel size, which is the pixel pitch in μm; H is the flight altitude in m; and f is the focal length in mm.

[0038] Optionally, the equally spaced square areas and rotating the route according to the route angle specifically include:

[0039] The route spacing is calculated based on the calculated UAV GSD and lateral overlap rate. The route spacing calculation formula is:

[0040] gridSpacing = ((width of the image resolution * GSD) / 100)*((100-lateral overlap) / 100);

[0041] Calculate the coordinates of the starting point of the route based on the calculated center point coordinates and the side length of the new square.

[0042] startX=x–sideLength / 2, startY=y–sideLength / 2;

[0043] Divide the square into equal intervals according to the route spacing gridSpacing to determine the position of each route;

[0044] Create a rotation function to rotate the generated route according to the route angle. The route angle can be customized. The default rotation angle is 0. The implementation logic of the rotation is:

[0045] radians = angle*(-Math.PI / 180), convert the angle to radians, angle is the custom adjustment angle;

[0046] rotatedX=((point.x-origin.x)*Math.cos(radians))-((point.y-origin.y)*Math.sin(radians))+origin.x;

[0047] rotatedY=((point.x-origin.x)*Math.sin(radians))+((point.y-origin.y)*Math.cos(radians))+origin.y;

[0048] Among them, rotatedX is the rotated point object, point is the point object to be rotated, and origin is the rotation center point object;

[0049] Math.PI returns the value of π, approximately 3.14; Math.sin returns the sine value; Math.cos returns the cosine value.

[0050] Optionally, the calculating the intersection point of the maximum square dividing line and the polygonal area specifically includes:

[0051] Use the turf.lineIntersect method of the turf tool of openlayers to calculate the intersection point of the segmentation line and the polygon area;

[0052] If the line segment intersects the polygon, the function returns a GeoJSON object containing the intersection point features;

[0053] For line segments with intersecting points, find the two points with the farthest distance between them and store them in an array.

[0054] Optionally, adjusting the direction of each line segment to ensure that each line segment faces the same direction specifically includes:

[0055] Adjust the direction of each line segment to ensure that each line segment is facing the same direction. If the angle difference with the first line segment is greater than 1, adjust the direction of the line segment.

[0056] Optionally, the connecting the intersection points into lines and sorting them in a bow shape to obtain a flight route within the polygonal area specifically includes:

[0057] Draw lines connecting the intersection points and sort them in the shape of a bow;

[0058] The principle of sorting is to process the four points in the intersection array as a group, and exchange the positions of the third and fourth points in each group to obtain the flight route within the polygonal area. The drone can perform the mission according to the planned route.

[0059] The present invention provides a method for regional route planning of unmanned aerial vehicles based on openlayers, and the route planning method includes: drawing an unmanned aerial vehicle inspection area, calculating the boundary range of a polygon according to coordinate points, and drawing a square with a maximum side length as the side length; calculating the center point of a new outer square according to the square, and creating a new outer square based on the center point and the specified side length; determining the spatial resolution of the unmanned aerial vehicle aerial image; dividing the square area at equal intervals, and rotating the route according to the route angle; calculating the intersection point of the maximum square dividing line and the polygon area; adjusting the direction of each line segment to ensure that each line segment faces the same direction; connecting the intersection points to draw a line and sorting them according to the bow shape to obtain the flight route within the polygon area. The time for manual route planning is saved, the flexibility is improved, the flight area and flight parameters are adjusted according to actual flight needs, the route is quickly regenerated, and the use efficiency of the unmanned aerial vehicle is improved.

[0060] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.

[0062] Figure 1 The present invention provides a flowchart of an openlayers-based UAV regional route planning method. DETAILED DESCRIPTION

[0063] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0064] The terms "comprises" and "having" and any variations thereof in the description embodiments, claims and drawings of the present invention are intended to cover non-exclusive inclusions, for example, including a series of steps or units.

[0065] The technical solution of the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments.

[0066] like Figure 1 As shown, a method for regional route planning of a UAV based on OpenLayers includes:

[0067] Draw a polygonal flight area on the openlayers map, calculate the boundary range of the polygon based on the coordinate points, and draw a square with the maximum side length as the side length;

[0068] Calculate the center point of a new outer square based on the obtained square, and create the new outer square based on the center point and the specified side length;

[0069] Calculate the current GSD based on the equipment parameters carried by the drone;

[0070] Calculate the distance between the routes based on the GSD and lateral overlap rate of the drone, divide the square area into equal intervals, and rotate the routes at the same time. The default rotation angle is 0. Calculate the coordinates of the starting point based on the center point coordinates obtained in step 2 and the side length of the new outer square.

[0071] Calculate the intersection points of the square and polygon areas and adjust the direction of each line segment to ensure that each line segment faces the same direction;

[0072] The obtained intersection points are reordered to obtain waypoints, and all the waypoints are connected in sequence to obtain the planned route.

[0073] 1. Draw the drone inspection area, calculate the boundary range of the polygon based on the coordinate points, and draw a square with the maximum side length as the side length.

[0074] 1.1 Get the maximum and minimum coordinates of the rectangle xmin, xmax, ymin, ymax.

[0075] 1.2 Calculate the width and height of the rectangle based on the coordinate points, width = Math.abs (xmax-xmin), height = Math.abs (ymax-ymin), Math.abs takes the absolute value of the difference, ensures that both width and height are positive, and obtains the longest side length of the rectangle maxLength = Math.max (width, height)

[0076] 1.3 Calculate the boundary coordinates of the square according to the coordinate points and the length of the side and draw a square with the maximum side length of the edge rectangle based on this coordinate point. The calculation formula of the boundary coordinates is as follows:

[0077] squareMinX=(xmin+xmax) / 2-maxLength / 2

[0078] squareMinY=(ymin+ymax) / 2-maxLength / 2

[0079] squareMaxX=(xmin+xmax) / 2+maxLength / 2

[0080] squareMaxY=(ymin+ymax) / 2+maxLength / 2

[0081] 2. Calculate the center point of a new outer square based on the square obtained in the first step, and create this new outer square based on this center point and the specified side length.

[0082] 2.1 Initialize and define the center point array center, which is used to store the center point coordinates of the new square. Center is initialized to [0,0]

[0083] 2.2 Call openlayers's getCoordinates() to get the coordinate array of the edge squares. Here we assume that getCoordinates() returns an array containing the coordinate arrays of multiple squares, and we only take the value of the first square. The center value is updated by calculating the average value of the x and y coordinates of the four vertices of the square.

[0084] squareCoordinates = square.getCoordinates()[0], square is the square area obtained in the first step.

[0085] x=(squareCoordinates[0][0]+squareCoordinates[1][0]+squareCoordinates[2][0]+squareCoordinates[3][0]) / 4

[0086] y=(squareCoordinates[0][1]+squareCoordinates[1][1]+squareCoordinates[2][1]+squareCoordinates[3][1]) / 4

[0087] 2.3 Calculate the side length of the outer square, define a fuzzy factor N (in meters) and set the value. In this invention, it is set to 2000. The fuzzy factor is used to add some extra length when calculating the side length of the new square, thereby reducing the calculation error. Then, the side length of the new square, sideLength, is calculated based on the maxLength obtained in the first step.

[0088] sideLength=maxLength+N,

[0089] When calculating, the fuzzy factor unit meter needs to be converted into the longitude and latitude difference.

[0090] Finally, four coordinate points are calculated based on the coordinates of the center point and the side length of the new square, so as to draw a new outer maximum square on the map. The calculation formula of the coordinate points is as follows:

[0091] [x-sideLength / 2,y-sideLength / 2]

[0092] [x+sideLength / 2,y-sideLength / 2]

[0093] [x+sideLength / 2,y+sideLength / 2]

[0094] [x-sideLength / 2,y+sideLength / 2]

[0095] 3. Calculate the spatial resolution of the drone aerial image based on the equipment carried by the drone. The calculation formula for spatial resolution is

[0096] d=(s*H*0.1) / f,

[0097] Where s is the pixel size (pixel pitch), the unit is μm; H is the flight altitude, the unit is m; f is the focal length (the focal length of the lens), the unit is mm.

[0098] 4. Divide the square area into equal intervals and rotate the route according to the route angle.

[0099] 4.1 Calculate the route spacing based on the calculated UAV GSD and lateral overlap rate. The calculation formula for route spacing is as follows:

[0100] gridSpacing = ((width of photo resolution * GSD) / 100)*((100-lateral overlap ratio) / 100).

[0101] 4.2 Calculate the coordinates of the starting point of the route based on the center point coordinates calculated in step 2 and the side length of the new square.

[0102] startX=x-sideLength / 2, startY=y-sideLength / 2.

[0103] 4.3 Divide the square into equal intervals according to the route spacing gridSpacing to determine the position of each route. Create a rotation function to rotate the generated route according to the route angle. The route angle can be adjusted by custom. The default rotation angle is 0. The implementation logic of the rotation is as follows:

[0104] radians = angle*(-Math.PI / 180), convert angle to radians, angle is the custom adjustment angle

[0105] rotatedX=((point.x-origin.x)*Math.cos(radians))-((point.y-origin.y)*Math.sin(radians))+origin.x;

[0106] rotatedY=((point.x-origin.x)*Math.sin(radians))+((point.y-origin.y)*Math.cos(radians))+origin.y;

[0107] Among them, rotatedX is the rotated point object, point is the point object to be rotated, and origin is the rotation center point object.

[0108] Math.PI returns the value of π, approximately 3.14; Math.sin returns the sine value; Math.cos returns the cosine value.

[0109] 5. Calculate the intersection of the maximum square segmentation line and the polygon area. Use the turf.lineIntersect method of the openlayers turf tool to calculate the intersection of the segmentation line and the polygon area. If the line segment intersects with the polygon, the function will return a GeoJSON object containing the intersection point features. For line segments with intersection points, find the two points with the farthest distance between the intersection points and store them in an array.

[0110] 6. Adjust the direction of each line segment to ensure that each line segment is facing the same direction. If the angle difference with the first line segment is greater than 1, adjust the direction of the line segment;

[0111] Assume that vector P0 = (x0, y0) is firstRoute[0] or currentRoute[0], and vector P1 = (x1, y1) is firstRoute[1] or currentRoute[1], then the vector value is Substitute the actual value to calculate the vector of the first line segment

[0112] firstVector=[firstRoute[1][0]–firstRoute[0][0], firstRoute[1][1]–firstRoute[0][1]]

[0113] Get the vector of the current line segment

[0114] currentVector=[

[0115] currentRoute[1][0]-currentRoute[0][0],currentRoute[1][1]-currentRoute[0][1] ];

[0117] Calculate the angle difference between two vectors, let vector a = (a x ,a y ) is currentVector, vector b=(b x , b y ) is firstVector, the dot product of two vectors

[0118] The product of two vector magnitudes Substitute the dot product of the actual value vector dotProduct = currentVector[0]*firstVector[0]+currentVe ctor[1]*firstVector[1];

[0119] The product of vector modulus magProduct =

[0120] Math.sqrt(Math.pow(currentVector[0],2)+Math.pow(currentVector[1],2))*Mat h.sqrt(Math.pow(firstVector[0],2)+Math.pow(firstVector[1],2));

[0121] Cosine of the angle between two vectors

[0122] cosAngle=dotProduct / magProduct;

[0123] Calculate the angular difference between two vectors, handle edge cases, and ensure that cosAngle∈[-1,1]

[0124] angleDifference=Math.acos(Math.max(Math.min(cosAngle,1),-1))

[0125] Math.sqrt returns the square root, Math.pow returns x raised to the power of y, and Math.aco returns the arccosine.

[0126] Convert the angle to radians and determine whether the angle difference is greater than 1. If the angle difference is greater than 1, swap the direction of the line segment.

[0127] The calculation formula for converting angle to radians is (angleDifference*180) / Math.PI.

[0128] 7. Connect the obtained intersection points and draw lines and sort them in a bow shape. The basic principle of sorting is to process the four points in the intersection array obtained in step 5 as a group, and exchange the positions of the third and fourth points in each group to obtain the flight route within the polygonal area. The drone can then perform the mission according to the planned route.

[0129] Beneficial effects: Users only need to draw the points of the flight area on the map to automatically and quickly generate the route, saving the time of manual route planning. The flexibility is improved, the flight area and flight parameters are adjusted according to the actual flight needs, the route is quickly regenerated, and the efficiency of drone use is improved.

[0130] The above specific implementation methods further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above are only specific implementation methods of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A method for regional route planning of unmanned aerial vehicles based on openlayers, characterized in that: The route planning method comprises: Draw the drone inspection area, calculate the boundary range of the polygon based on the coordinate points, and draw a square with the maximum side length as the side length; Calculating a center point of a new outer square according to the square, and creating a new outer square based on the center point and a specified side length; Determine the spatial resolution of drone aerial images; Divide the square area into equal intervals and rotate the route according to the route angle; Calculate the intersection point of the maximum square dividing line and the polygon area; Adjust the direction of each line segment to ensure that each line segment is facing the same direction; The intersection points are connected to form lines and are sorted in a bow shape to obtain a flight route within the polygonal area.

2. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: Drawing the drone inspection area, calculating the boundary range of the polygon according to the coordinate points, and drawing a square with the maximum side length as the side length specifically includes: Get the maximum and minimum coordinates of the rectangle xmin, xmax, ymin, ymax; Calculate the width and height of the rectangle according to the coordinate points, width = Math.abs (xmax-xmin), height = Math.abs (ymax-ymin), Math.abs takes the absolute value of the difference, ensures that both width and height are positive values, and obtains the longest side length of the rectangle maxLength = Math.max (width, height); Calculate the boundary coordinates of the square according to the coordinate points and the length of the side and use this coordinate point to draw a square with the maximum side length of the edge rectangle. The calculation formula for the boundary coordinates is: squareMinX=(xmin+xmax) / 2-maxLength / 2; squareMinY=(ymin+ymax) / 2-maxLength / 2; squareMaxX=(xmin+xmax) / 2+maxLength / 2; squareMaxY=(ymin+ymax) / 2+maxLength / 2.

3. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: The step of calculating a center point of a new outer square according to the square and creating a new outer square based on the center point and a specified side length specifically includes: Initialize and define the center point array center, which is used to store the center point coordinates of the new square. Center is initialized to [0,0]; Call openlayers's getCoordinates() to get the coordinate array of the edge squares. Assuming that getCoordinates() returns an array containing coordinate arrays of multiple squares, only take the value of the first square and update the value of the cente r by calculating the average of the x and y coordinates of the four vertices of the square. squareCoordinates = square.getCoordinates()[0], square is the square area obtained in the first step; x=(squareCoordinates[0][0]+squareCoordinates[1][0]+squareCoordinates[2][0]+squareCoordinates[3][0]) / 4; y=(squareCoordinates[0][1]+squareCoordinates[1][1]+squareCoordinates[2][1]+squareCoordinates[3][1]) / 4; Calculate the side length of the outer square, define a fuzzy factor N and set its value to 2000. The fuzzy factor is used to add some extra length when calculating the side length of the new square. Calculate the side length of the new square based on maxLength; sideLength=maxLength+N, convert the fuzzy factor in meters to the difference between longitude and latitude; Calculate four coordinate points based on the coordinates of the center point and the side length of the new square, and draw a new outer maximum square on the map; The calculation formula of coordinate points is: [x-sideLength / 2,y-sideLength / 2]; [x+sideLength / 2,y-sideLength / 2]; [x+sideLength / 2,y+sideLength / 2]; [x-sideLength / 2,y+sideLength / 2].

4. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: Determining the spatial resolution of the drone aerial image specifically includes: The spatial resolution of the drone aerial image is calculated based on the equipment carried by the drone. The calculation formula of spatial resolution is d = (s*H*0.1) / f; Where s is the pixel size, which is the pixel pitch in μm; H is the flight altitude in m; and f is the focal length in mm.

5. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: The step of equally dividing the square area and rotating the route according to the route angle specifically includes: The route spacing is calculated based on the calculated UAV GSD and lateral overlap rate. The route spacing calculation formula is: gridSpacing = ((width of the image resolution * GSD) / 100)*((100-lateral overlap) / 100); Calculate the coordinates of the starting point of the route based on the calculated center point coordinates and the side length of the new square. startX=x–sideLength / 2, startY=y–sideLength / 2; Divide the square into equal intervals according to the route spacing gridSpacing to determine the position of each route; Create a rotation function to rotate the generated route according to the route angle. The route angle can be customized. The default rotation angle is 0. The implementation logic of the rotation is: radians = angle*(-Math.PI / 180), convert the angle to radians, angle is the custom adjustment angle; rotatedX=((point.x-origin.x)*Math.cos(radians))-((point.y-origin.y)*Math.sin(radians))+origin.x; rotatedY=((point.x-origin.x)*Math.sin(radians))+((point.y-origin.y)*Math.cos(radians))+origin.y; Among them, rotatedX is the rotated point object, point is the point object to be rotated, and origin is the rotation center point object; Math.PI returns the value of π, approximately 3.14; Math.sin returns the sine value; Math.cos returns the cosine value.

6. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: The calculation of the intersection point of the maximum square segmentation line and the polygonal area specifically includes: Use the turf.lineIntersect method of the turf tool of openlayers to calculate the intersection point of the segmentation line and the polygon area; If the line segment intersects the polygon, the function returns a GeoJSON object containing the intersection point features; For line segments with intersecting points, find the two points with the farthest distance between them and store them in an array.

7. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: The step of adjusting the direction of each line segment to ensure that each line segment faces the same direction specifically includes: Adjust the direction of each line segment to ensure that each line segment is facing the same direction. If the angle difference with the first line segment is greater than 1, adjust the direction of the line segment.

8. The method for regional route planning of unmanned aerial vehicles based on openlayers according to claim 1, characterized in that: The connecting the intersection points into lines and sorting them in a bow shape to obtain a flight route within the polygonal area specifically includes: Draw lines connecting the intersection points and sort them in the shape of a bow; The principle of sorting is to process the four points in the intersection array as a group, and exchange the positions of the third and fourth points in each group to obtain the flight route within the polygonal area. The drone can perform the mission according to the planned route.

Citation Information

Patent Citations

  • Irregular-island-based method for planning covered flight route of unmanned aerial vehicle

    CN102980581A

  • Unmanned aerial vehicle flight path planning method in concave polygon area based on remote sensing task

    CN113220027A

  • Virtual channel drawing method and device based on aerial image of unmanned aerial vehicle and storage medium

    CN115457165A

  • Unmanned aerial vehicle water conservancy inspection analysis system adaptive to multiple types

    CN117389297A

  • Methods and systems for displaying customized icons

    US20110022294A1