CN113741539B - Unmanned aerial vehicle plant protection operation route planning method - Google Patents

Unmanned aerial vehicle plant protection operation route planning method Download PDF

Info

Publication number
CN113741539B
CN113741539B CN202111130220.2A CN202111130220A CN113741539B CN 113741539 B CN113741539 B CN 113741539B CN 202111130220 A CN202111130220 A CN 202111130220A CN 113741539 B CN113741539 B CN 113741539B
Authority
CN
China
Prior art keywords
vertex
simulated
array
obstacle
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111130220.2A
Other languages
Chinese (zh)
Other versions
CN113741539A (en
Inventor
刘新阳
陈海诺
唐佰文
李冬青
王炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tt Aviation Technology Co ltd
Original Assignee
Beijing Tt Aviation Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tt Aviation Technology Co ltd filed Critical Beijing Tt Aviation Technology Co ltd
Priority to CN202111130220.2A priority Critical patent/CN113741539B/en
Publication of CN113741539A publication Critical patent/CN113741539A/en
Application granted granted Critical
Publication of CN113741539B publication Critical patent/CN113741539B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The application relates to a planning method of unmanned aerial vehicle plant protection operation route, which comprises the steps of firstly collecting land block data and obstacle area data, adjusting vertex array data sequence in the land block data and the obstacle area data to be clockwise, regarding the land block data and the obstacle area data as polygons described by the vertex data, accurately calculating safety boundaries through polygon contraction/expansion functions, and dividing or fusing the land block data and the obstacle area through dividing/fusion algorithm functions, so that accurate calculation is performed on large-area complex terrains, and route planning is performed based on the accurate safety boundaries. Therefore, the route planning of the agricultural operation land block can be efficiently and accurately realized, the problem of contradiction between the unmanned aerial vehicle fly hand capacity and the operation land block with large area and high complexity in the prior art is solved, and great convenience is brought to the operation of the agricultural unmanned aerial vehicle.

Description

Unmanned aerial vehicle plant protection operation route planning method
Technical Field
The application relates to the technical field of unmanned aerial vehicle control, in particular to an unmanned aerial vehicle plant protection operation route planning method.
Background
In recent years, with the increasing popularity of unmanned aerial vehicle technology in agricultural fields, mechanical labor such as seeding and spraying can be performed by controlling unmanned aerial vehicles by flying hands. However, with the increase of the area of the operation land, the increase of the complexity of the operation land, the increase of the obstacle area in the land, the increase of the operation distance and the like, the agricultural unmanned aerial vehicle manually controlled by the flyer is difficult to quickly and efficiently complete the operation task, the situation of omission or repetition often occurs on the route, the whole operation land cannot be well covered, and great technical difficulty is brought to the operation of the unmanned aerial vehicle.
Disclosure of Invention
The application provides a planning method for a plant protection operation route of an unmanned aerial vehicle, which aims to solve the problem that in the prior art, the unmanned aerial vehicle cannot perform efficient operation on large-area, long-distance and complex terrains in agricultural application.
The above object of the present application is achieved by the following technical solutions:
the embodiment of the application provides a planning method for a plant protection operation route of an unmanned aerial vehicle, which comprises the following steps:
Collecting land block data and barrier zone data, and adjusting a land block vertex array in the land block data and a barrier zone vertex array in the barrier zone data to be in a clockwise order;
obtaining a simulated land block and a simulated obstacle region formed by polygon vertexes based on the land block vertex array and the obstacle region vertex array, and calculating the safety boundary of the simulated land block and the simulated obstacle region based on a preset polygon contraction/expansion function;
based on a preset segmentation/fusion algorithm function, carrying out segmentation or fusion treatment on the simulated land block and the simulated obstacle region to obtain an optimized simulated land block boundary and an optimized simulated obstacle region boundary;
Rotating the optimized simulated land block boundary and the simulated obstacle region boundary according to a preset route angle, and obtaining an expression of a planned route based on a preset route distance;
marking and sequencing all intersection points with the simulated land parcels and the simulated obstacle areas respectively;
and selecting the intersection point closest to the current position of the unmanned aerial vehicle from all the intersection points as a starting position, executing a preset waypoint detection cycle to obtain a target route with all waypoints, and taking the target route as a planning result and outputting the planning result.
Further, the waypoint detection cycle includes: taking the planning route as an initial target route;
Detecting whether the target route runs out of all waypoints;
if yes, taking the planning route as a planning result and outputting the planning result;
if not, detecting whether the same straight line has unused waypoints; if the unused waypoints do not exist, a new route is obtained based on the latest unused waypoint planning; if the unused waypoints exist, planning to obtain a new route based on the position information at the moment;
Judging whether the new route passes through the obstacle or not, and if so, performing obstacle avoidance based on a preset algorithm to obtain a target route; if the obstacle does not pass through, taking the new route as a target route;
And re-detecting whether the target route runs out of all the waypoints or not until the target route runs out of all the waypoints, and stopping circulation.
Further, the calculating the safety boundaries of the simulated land parcel and the simulated obstacle region based on the preset polygonal contraction/expansion function includes:
acquiring a first vertex in the simulated land block or the simulated obstacle region, and finding a second vertex and a third vertex adjacent to the first vertex;
taking a straight line where the first vertex and the second vertex are located as a first straight line;
Taking a straight line where the first vertex and the third vertex are located as a second straight line;
Determining a fourth vertex with a preset value from the first straight line and the second straight line;
taking the fourth vertex as a target vertex after the first vertex contracts or expands by a preset distance;
And finding out target vertexes corresponding to all vertexes in the simulated land parcel or the simulated obstacle area, connecting corresponding target fixed points according to the vertex data sequence of the simulated land parcel or the simulated obstacle area, obtaining a safety boundary after the simulated land parcel or the simulated obstacle area expands or contracts, and updating the simulated land parcel or the simulated obstacle area.
Further, changing a preset distance corresponding to each vertex in the simulated land block or the simulated obstacle area based on actual requirements, and determining a target vertex corresponding to each vertex;
And determining the safety boundary of the simulated land block or the simulated obstacle area after expansion or contraction based on the target vertex, and updating the simulated land block or the simulated obstacle area.
Further, the dividing or fusing processing is performed on the simulated land block and the simulated obstacle region based on a preset dividing/fusing algorithm function to obtain an optimized simulated land block boundary and a simulated obstacle region boundary, which includes:
When the simulated land block is segmented by the simulated obstacle region, the simulated land block is segmented to obtain a plurality of sub-simulated land blocks;
when the simulated land block is overlapped with the simulated obstacle region, dividing the overlapped part of the simulated land block, which is overlapped by the simulated obstacle region, to obtain a simulated land block with the overlapped region of the simulated obstacle region removed and a simulated obstacle region with the overlapped region increased;
and when the simulated obstacle region is overlapped with other simulated obstacle regions, fusing a plurality of overlapped simulated obstacle regions to obtain a large simulated obstacle region.
Further, the dividing or fusing processing is performed on the simulated land block and the simulated obstacle region based on a preset dividing/fusing algorithm function to obtain an optimized simulated land block boundary and an optimized simulated obstacle region boundary, including dividing the simulated land block:
adjusting the block vertex array to be in a clockwise order, and adjusting the barrier region vertex array to be in a counterclockwise order;
calculating the intersection point of the simulated land block and the simulated obstacle region to obtain an intersection point array;
The data in the intersection point array are added into the land block vertex array and the barrier zone vertex array respectively in sequence to obtain a target land block vertex array and a target barrier zone vertex array, and a segmentation algorithm is carried out:
Traversing the whole array from the first vertex in the target block vertex array, recording the vertex into a new simulated block when judging that the current point is the vertex in the simulated block, and continuously judging the next point in the target block vertex array;
traversing the whole array from a first intersection point in the vertex array of the target obstacle area, recording the vertex into a new simulated land block when judging that the current point is the vertex in the simulated obstacle area, and continuously judging the next point in the vertex array of the target obstacle area;
When judging that the current point in the target block vertex array or the target barrier zone vertex array is the intersection point in the intersection point array, recording the intersection point into a new simulated block, jumping to the position of the intersection point in the target barrier zone vertex array or the target block vertex array, and continuing to perform point taking judgment and recording according to the sequence in the target barrier zone vertex array or the target block vertex array until the last point in the target block vertex array is recorded;
and repeating the segmentation algorithm from the first vertex which is not taken in the vertex array of the target land block to obtain a plurality of new simulated land blocks, and updating the simulated land blocks.
Further, the method includes the steps of dividing or fusing the simulated land parcel and the simulated obstacle area based on a preset dividing/fusing algorithm function to obtain an optimized simulated land parcel boundary and a simulated obstacle area boundary, and fusing the simulated obstacle area:
adjusting the first barrier zone vertex array to a clockwise order and adjusting the second barrier zone vertex array to a counterclockwise order;
calculating the intersection point of the first simulation barrier region and the second simulation barrier region to obtain an intersection point array;
The data in the intersection point array are added into the first barrier zone vertex array and the second barrier zone vertex array respectively in sequence to obtain a first target barrier zone vertex array and a second target barrier zone vertex array, and a fusion algorithm is carried out:
Traversing the whole array from the first vertex of the first target barrier area vertex array, recording the vertex into a new barrier area when judging that the current point is the vertex in the first barrier area, and continuously judging the next point in the first target barrier area vertex array;
traversing the whole array from the first intersection point of the vertex array of the second target barrier zone, recording the vertex into a new barrier zone when judging that the current point is the vertex in the second barrier zone, and continuously judging the next point in the vertex array of the second target barrier zone;
When judging that the current point in the first target barrier zone vertex array or the second target barrier zone vertex array is the intersection point in the intersection point array, recording the intersection point into a new simulation barrier zone, jumping to the position of the intersection point in the second target barrier zone vertex array or the first target barrier zone vertex array, continuing to perform point taking judgment and recording according to the sequence in the second target barrier zone vertex array or the first target barrier zone vertex array until the last point in the first target barrier zone vertex array is recorded, obtaining the new simulation barrier zone, and updating the simulation barrier zone.
Further, if the obstacle is penetrated, obstacle avoidance is performed based on a preset algorithm to obtain a target route, including:
performing obstacle avoidance on the route through recursive obstacle avoidance based on a preset algorithm;
and obtaining a target route based on the obstacle avoidance result.
The technical scheme provided by the embodiment of the application can comprise the following beneficial effects: firstly, collecting the data of a land block and the data of an obstacle area, adjusting the vertex array data sequence in the data of the land block and the obstacle area to be clockwise, regarding the land block and the obstacle area as polygons described by the vertex data, accurately calculating a safety boundary through polygon contraction/expansion functions, and dividing or fusing the land block and the obstacle area through dividing/fusing algorithm functions, thereby accurately calculating large-area complex terrains, obtaining an accurate safety boundary, and planning a route. Therefore, the route planning of the agricultural operation land block can be efficiently and accurately realized, the problem of contradiction between the capability of the unmanned aerial vehicle flight hand and the operation land block with large area and high complexity in the prior art is solved, and great convenience is brought to the operation of the agricultural unmanned aerial vehicle.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application.
FIG. 1 is a schematic flow chart of a route planning method for unmanned aerial vehicle plant protection operation according to an embodiment of the present application;
Fig. 2 is a schematic structural diagram of an unmanned aerial vehicle plant protection operation route planning method according to another embodiment of the present application;
FIG. 3 is a schematic diagram of a polygon boundary contraction/expansion function in an unmanned aerial vehicle plant protection operation route planning method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a polygon boundary contraction/expansion function in an unmanned aerial vehicle plant protection operation route planning method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a segmentation/fusion algorithm function of an unmanned aerial vehicle plant protection operation route planning method according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a reentrant obstacle area obstacle avoidance method for unmanned aerial vehicle plant protection operation route planning according to an embodiment of the present application;
fig. 7 is a schematic diagram of a partial principle of obstacle avoidance in a reentrant obstacle area in a route planning method for unmanned aerial vehicle plant protection operation according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the application. Rather, they are merely examples of apparatus and methods consistent with aspects of the application as detailed in the accompanying claims.
The prior art is used for unmanned aerial vehicle agricultural operation, the core of the problem, namely an operation land block, can be expressed as a polygon and can be described by a set of vertexes, so that the intelligent route planning is possible to realize by using an algorithm. The user inputs the land block vertex coordinates, the obstacle area vertex coordinates and other necessary parameters (the route distance, the boundary distance, the planning angle and the like), and the algorithm can feed back route planning results and prompt marks for whether the unmanned aerial vehicle sprays or sprays according to the data and the parameters. The existing route planning algorithms are all based on similar steps, but have defects of different degrees. Such as for example. Some planning algorithms cannot deal with plots containing corners or obstacle regions containing corners, but in practice it is very common that both plots and obstacle regions contain corners. In addition, some planning algorithms operate at a slower rate, with land parcels of hundreds of vertices, operating times up to several minutes can even result in crashes. Meanwhile, some planning algorithms can only process obstacle areas (triangles, quadrilaterals, pentagons and the like) of given types, and some planning algorithms cannot complete free adjustment of safety boundaries of plots and obstacle areas, so that problems can be brought during actual use, and the contradiction problem between the capability of unmanned aerial vehicle flyers and the operation plots with large area and high complexity in the prior art cannot be solved.
The application provides a planning method for a plant protection operation route of an unmanned aerial vehicle, which aims to solve the problem that in the prior art, the unmanned aerial vehicle cannot perform efficient operation on complex terrains in agricultural application.
Examples
Referring to fig. 1, fig. 1 is a flow chart of a planning method for a plant protection operation route of an unmanned aerial vehicle according to an embodiment of the present application, as shown in fig. 1, the method at least includes the following steps:
s101, collecting land block data and obstacle area data, and adjusting a land block vertex array in the land block data and an obstacle area vertex array in the obstacle area data to be in a clockwise order.
Specifically, the block data and the obstacle area data are collected, wherein the block data and the obstacle area data are vertex arrays comprising block and obstacle area vertices, after the block and obstacle area vertex arrays are obtained, the sequence of the vertex arrays describing the block and all obstacle areas is detected, and all the vertex arrays are adjusted to be clockwise for subsequent use.
S102, based on the block vertex array and the obstacle area vertex array, obtaining a simulated block and a simulated obstacle area which are formed by polygon vertexes, and based on a preset polygon contraction/expansion function, calculating the safety boundary of the simulated block and the simulated obstacle area.
Specifically, the safety boundaries of the plot and all obstacle regions are calculated. And taking the land parcels and all the obstacle areas as polygons described by the vertex arrays, obtaining simulated land parcels and simulated obstacle areas, and entering a polygon contraction/expansion function. And (5) shrinking the safety boundary of the land block and expanding the safety boundary of the obstacle region. For convenience of subsequent description and understanding, the above polygon data after calculating the safety boundary is referred to as a simulated land block and a simulated obstacle region, which are also directly referred to as a land block and an obstacle region, respectively.
And S103, based on a preset segmentation/fusion algorithm function, carrying out segmentation or fusion processing on the simulated land block and the simulated obstacle region to obtain an optimized simulated land block boundary and an optimized simulated obstacle region boundary.
Specifically, the method for dividing and fusing the simulated land block and the simulated obstacle region comprises the following steps: detecting whether the barrier areas overlap each other, if so, fusing a plurality of overlapped polygons into one polygon by using a polygon fusion function; detecting whether an obstacle area intersects with a block boundary, namely, whether the obstacle area is partially in the block and partially outside the block, if so, recalculating the block boundary and excluding the obstacle area; and detecting whether an obstacle region is completely outside the land, and if so, deleting the obstacle region so that the obstacle region does not participate in subsequent calculation.
And S104, rotating the optimized simulated land block boundary and the simulated obstacle region boundary according to a preset route angle, and obtaining an expression of the planned route based on a preset route distance.
S105, marking and sequencing all the intersections with the simulated land block and the simulated obstacle region respectively.
Specifically, the block boundaries and all obstacle zone boundaries are rotated according to the planning angle so that all potential routes can be described by x=k. And then, according to the route distance, obtaining expressions of all planned routes and part of routes, obtaining all intersection points with the simulated land parcel and the obstacle area, marking according to the rule that the intersection point generated by the land parcel is A and the intersection point generated by the obstacle area is B, and sequencing all the intersection points.
S106, selecting the intersection point closest to the current position of the unmanned aerial vehicle from all the intersection points as a starting position, executing a preset waypoint detection cycle, obtaining a target route with all waypoints, and taking the target route as a planning result and outputting the planning result.
It should be noted that, in the unmanned aerial vehicle plant protection operation route planning method provided by the embodiment of the application, the waypoint detection cycle includes: taking the planning route as an initial target route; detecting whether the target route runs out of all waypoints; if yes, taking the planning route as a planning result and outputting the planning result; if not, detecting whether the same straight line has unused waypoints; if the unused waypoints do not exist, a new route is obtained based on the latest unused waypoint planning; if the unused waypoints exist, planning to obtain a new route based on the position information at the moment; judging whether the new route passes through the obstacle or not, and if so, performing obstacle avoidance based on a preset algorithm to obtain a target route; if the obstacle does not pass through, taking the new route as a target route; and re-detecting whether the target route runs out of all the waypoints or not until the target route runs out of all the waypoints, and stopping circulation.
According to the unmanned aerial vehicle plant protection operation route planning method provided by the embodiment of the application, firstly, the land block data and the obstacle area data are collected, the vertex array data sequence in the land block data and the obstacle area data are adjusted to be clockwise, the land block data and the obstacle area data are regarded as polygons described by the vertex data, the safety boundary is accurately calculated through polygon contraction/expansion functions, the land block data and the obstacle area data are divided or fused through division/fusion algorithm functions, so that the accurate safety boundary is obtained by accurately calculating large-area complex terrains, and then the route is planned. Therefore, the route planning of the agricultural operation land block can be efficiently and accurately realized, the problem of contradiction between the capability of the unmanned aerial vehicle flight hand and the operation land block with large area and high complexity in the prior art is solved, and great convenience is brought to the operation of the agricultural unmanned aerial vehicle.
Fig. 2 is a schematic structural diagram of an unmanned aerial vehicle plant protection operation route planning method according to another embodiment of the present application, where the unmanned aerial vehicle plant protection operation route planning method according to the embodiment of the present application mainly includes two parts, and first part is data arrangement, including data collection, data standardization processing, invalid data removal, data error condition judgment and error information reporting. The second part is planning operation, and after the neat and operational data is obtained, the planning operation is performed and the result is returned. In order to make the structure concise and clear, the data sorting part in the early stage adopts the number of step 20X, and the planning operation part in the later stage adopts the number of step 30X as shown in FIG. 2:
Step 201, collecting land data and obstacle area data and other parameters, at this time, the user may input parameters, control the data collection process, etc., where the input parameters include: route spacing, unmanned aerial vehicle location, safety margins, planning angles, planning schemes, and the like.
Step 202, judging whether the data format is qualified, namely, performing data security check, and judging whether the input data format and length are correct. If the result is incorrect, the result is unqualified, an error message is reported, and the operation is stopped.
Step 203, after passing the data security check and determining that the input data format and length are qualified, detecting the order of the vertex arrays describing the land block and all obstacle areas, and adjusting all the vertex arrays to be clockwise, namely adjusting the polygon vertex order.
Step 204, calculating the safety boundaries of the land block and all obstacle regions based on the data after the sequence adjustment. Including treating the block and all obstacle regions as polygons described by an array of vertices, entering a polygon contraction/expansion function, such as the collapse of the safety boundaries of the block, and the expansion of the safety boundaries of the obstacle regions.
Step 205, determining an error condition for the data obtained in step 204. When the following conditions exist, the error exists, namely, the operation is ended, and error information is reported, wherein the method comprises the following steps:
1. the NaN value, the 0 value or any value which does not conform to the format exists in the land block or any obstacle area array.
2. The length of the land block or any obstacle area array is less than 2.
3. The error of the retraction of the safety boundary of the land block comprises intersection, segmentation and the like.
4. Any obstacle region safety boundary expansion error, including intersection, segmentation, etc.
5. Other violations of the constraint imposed by the coordination system (maximum input of land parcel points, maximum planning of waypoints, maximum planning of airlines, etc.)
And 206, detecting whether the barrier area is covered or overlapped based on the qualified data obtained in the step. If there is overlap, a polygon fusion function is used to fuse the overlapped obstacle regions into one.
Step 207 then detects whether there is an obstacle region intersecting the parcel boundary, i.e., whether there is an obstacle region partially inside the parcel and partially outside the parcel. If so, the block boundary is recalculated, excluding the obstacle region.
Step 208, it is further detected whether the obstacle area is completely outside the plot, i.e. whether the obstacle area has no intersection with the plot, if so, the obstacle area is deleted so as not to participate in the subsequent calculation.
Step 209, finally, according to the planning angle, the block boundary and all obstacle zone (no-fly zone) boundaries are rotated, so that all potential routes can be described by x=k.
So far, the data arrangement process is completed, and the planning operation of the route is completed based on the obtained data in the following process, which specifically comprises the following steps:
Step 301, firstly, according to the route distance, obtaining expressions of all planned routes, obtaining all intersection points with the land block and the obstacle region, marking and sequencing all intersection points according to the rule that the intersection point generated by the land block is A and the intersection point generated by the obstacle region is B, namely, calculating all potential waypoints, marking and sequencing, marking the waypoints generated by the land block as A, and marking the waypoints generated by the obstacle region (no-fly region) as B.
Step 302, according to the current position of the unmanned plane, selecting the closest position as the initial position in all the intersections, and determining the planning starting point.
In step 303, it is detected whether there are unused waypoints in all the intersections, i.e. whether all the waypoints are used up. If not, namely all the waypoints are used up, outputting a planning result; if all the waypoints are not completely used up, exiting the algorithm; if so, the following procedure is continued.
Step 304, referring to the current intersection point position, it is detected whether there is an unused waypoint on the same straight line. If so, step 305 is entered. If not, searching the intersection closest to the current waypoint in all unused intersections, and planning the route to obtain the target route.
Step 305, detect whether the current waypoint is at point a or at point B. If at the point A, planning a route from A to B on the same straight line; if at point B is collinear, a route from B to A is planned.
Step 306, it is detected whether the target course of the route has an intersection with any obstacle region. If so, performing obstacle avoidance planning by using a recursion method, and returning to step 201 after detection is completed, and performing detection and planning on other routes or other routes on one route.
In some specific embodiments, the polygon contraction/expansion functions mentioned in the above embodiments of the present application include: acquiring a first vertex in the simulated land block or the simulated obstacle region, and finding a second vertex and a third vertex adjacent to the first vertex; taking a straight line where the first vertex and the second vertex are located as a first straight line; taking a straight line where the first vertex and the third vertex are located as a second straight line; determining a fourth vertex with a preset value from the first straight line and the second straight line; taking the fourth vertex as a target vertex after the first vertex contracts or expands by a preset distance; and finding out target vertexes corresponding to all vertexes in the simulated land parcel or the simulated obstacle area, connecting corresponding target fixed points according to the vertex data sequence of the simulated land parcel or the simulated obstacle area, obtaining a safety boundary after the simulated land parcel or the simulated obstacle area expands or contracts, and updating the simulated land parcel or the simulated obstacle area.
Specifically, fig. 3 is a schematic diagram of a polygon boundary contraction/expansion function provided by an embodiment of the present application, and fig. 4 is a schematic diagram of a polygon boundary contraction/expansion function provided by an embodiment of the present application, where the schematic diagram is shown in fig. 3 and fig. 4:
A more theoretical case is given in the right part of fig. 3, part (b), i.e. a polygon array M, where the new boundary array L after contraction/expansion is calculated according to a fixed distance value X for contraction/expansion, typically with X >0 as expansion and X <0 as contraction. This functional solution is based on the assumption that the array of polygon vertices entered by the user can form a closed and non-intersecting polygon, i.e. for each polygon vertex there are two adjacent vertices.
Taking the example of the M12 vertex in fig. 3 (b), the detailed partial diagram is shown in fig. 4, where the adjacent vertices are M11 and M13, respectively, and the contracted result is L12, and the distances from the point L12 to the M12M11 segment and from the point L12M 13 segment are both the preset distance 1. At this time, if the extension L11L12 intersects with M12M13, P1 is obtained; extending L12L13 intersects M11M12 to obtain P2, then line segment m12p2=m12p1, and m12l12=m12p1+m12p2 is easily obtained. By normalizing the vector M12P2 and the vector M12P1, the vector M12L12 is obtained and normalized, and the direction of the vector M12L12 can be obtained. The length of the vector M12L12 can be determined by determining the angle of +.m11m12m13. The position of the point L12 can thus be determined.
In the following description, since the above operation is to traverse all the parcel M arrays including the M12 point, the M12 point is referred to as the Mn point, the L12 point is referred to as the Ln point, the vector M12P2 is referred to as v1, the M12P1 is referred to as v2, the vector M12L11 is referred to as v, and the angle M11M12M13 is referred to as θ. It should be noted that the order of the polygon vertices and the convexity of the polygon vertices affect the calculation result, and two parameters to compensate for the effects of the two parameters need to be added in the calculation.
The specific process of the function comprises the following steps:
step 401, determining whether the order of the polygon vertex sets is clockwise or counterclockwise.
Step 402, determines whether each corner in the polygon is a concave or convex corner.
Step 403, starting operation from the first point of the polygon array M, and proceeding to step 405. And after each operation is finished, performing operation of the next point, and if no point is not calculated, exiting the function.
Step 405, obtain v1 and v2, and normalize them respectively. V is obtained and normalized to v'.
Step 406, find θ, and calculate |v| based on the contraction/expansion distance l.
In step 407, ln=mn+v, the result is retained in the array L, and the procedure returns to step 403 to calculate the corresponding information of all points.
Further, the polygon contraction/expansion function further includes changing a preset distance corresponding to each vertex based on actual requirements, determining a safety boundary after the simulated land block or the simulated obstacle area expands or contracts, and updating the simulated land block or the simulated obstacle area.
Specifically, the left side of fig. 3, i.e., fig. 3 (a), is a more common and difficult situation in reality, i.e., the safety margin distance required for each edge, i.e., the preset distance, is different in the user's needs. At this time, an array x= [ l1, l2, ] should be used to describe the security boundary, the length is the same as the land array M, and each X value corresponds to a point in the land array M. For the vertex Mn, its adjacent edges are referred to as d1 and d2, respectively.
The specific process of the function comprises the following steps:
in step 501, all different values in the boundary array X are obtained, new boundaries of all X values are calculated, and the new boundaries are stored in the array Lall in the order of decreasing X values. A security boundary array N of equal length to the parcel array M is created. Starting from the first vertex of the polygon array M until all points are traversed, the specific traversal is as follows:
Step 502, the current point is called Mn, and whether two edges respectively formed by two adjacent vertexes of the point have different boundary values is judged. If so, step 503 is entered. If not, step 504 is entered.
In step 503, the vertex Nn corresponding to the X value is obtained in the array Lall, and the vertex Nn is entered into the safety boundary array N, and the procedure returns to step 502.
In step 504, two sets of vertices [ p11, p12] and [ p21, p22] corresponding to the l values of the two adjacent edges d1 and d2 are obtained in the array hill, respectively. From simple geometry, the point Nn is now exactly the intersection of d1 and d2, where Nn is found and stored in the security boundary array N. Returning to step 502.
In some specific embodiments, the segmentation/fusion algorithm functions mentioned in the above embodiments of the present application include: when the simulated land block is segmented by the simulated obstacle region, the simulated land block is segmented to obtain a plurality of sub-simulated land blocks; when the simulated land block is overlapped with the simulated obstacle region, dividing the overlapped part of the simulated land block, which is overlapped by the simulated obstacle region, to obtain a simulated land block with the overlapped region of the simulated obstacle region removed and a simulated obstacle region with the overlapped region increased; and when the simulated obstacle region is overlapped with other simulated obstacle regions, fusing a plurality of overlapped simulated obstacle regions to obtain a large simulated obstacle region.
Specifically, the segmentation/fusion algorithm function includes segmentation of the plot:
Adjusting the block vertex array to be in a clockwise order, and adjusting the barrier region vertex array to be in a counterclockwise order; calculating the intersection point of the simulated land block and the simulated obstacle region to obtain an intersection point array; the data in the intersection point array are added into the land block vertex array and the barrier zone vertex array respectively in sequence to obtain a target land block vertex array and a target barrier zone vertex array, and a segmentation algorithm is carried out: traversing the whole array from the first vertex in the target block vertex array, recording the vertex into a new simulated block when judging that the current point is the vertex in the simulated block, and continuously judging the next point in the target block vertex array; traversing the whole array from a first intersection point in the vertex array of the target obstacle area, recording the vertex into a new simulated land block when judging that the current point is the vertex in the simulated obstacle area, and continuously judging the next point in the vertex array of the target obstacle area; when judging that the current point in the target block vertex array or the target barrier zone vertex array is the intersection point in the intersection point array, recording the intersection point into a new simulated block, jumping to the position of the intersection point in the target barrier zone vertex array or the target block vertex array, and continuing to perform point taking judgment and recording according to the sequence in the target barrier zone vertex array or the target block vertex array until the last point in the target block vertex array is recorded; and repeating the segmentation algorithm from the first vertex which is not taken in the vertex array of the target land block to obtain a plurality of new simulated land blocks, and updating the simulated land blocks.
The segmentation/fusion algorithm function also includes fusing the obstacle region: adjusting the first barrier zone vertex array to a clockwise order and adjusting the second barrier zone vertex array to a counterclockwise order; calculating the intersection point of the first simulation barrier region and the second simulation barrier region to obtain an intersection point array; the data in the intersection point array are added into the first barrier zone vertex array and the second barrier zone vertex array respectively in sequence to obtain a first target barrier zone vertex array and a second target barrier zone vertex array, and a fusion algorithm is carried out:
Traversing the whole array from the first vertex of the first target barrier area vertex array, recording the vertex into a new barrier area when judging that the current point is the vertex in the first barrier area, and continuously judging the next point in the first target barrier area vertex array; traversing the whole array from the first intersection point of the vertex array of the second target barrier zone, recording the vertex into a new barrier zone when judging that the current point is the vertex in the second barrier zone, and continuously judging the next point in the vertex array of the second target barrier zone; when judging that the current point in the first target barrier zone vertex array or the second target barrier zone vertex array is the intersection point in the intersection point array, recording the intersection point into a new simulation barrier zone, jumping to the position of the intersection point in the second target barrier zone vertex array or the first target barrier zone vertex array, continuing to perform point taking judgment and recording according to the sequence in the second target barrier zone vertex array or the first target barrier zone vertex array until the last point in the first target barrier zone vertex array is recorded, obtaining the new simulation barrier zone, and updating the simulation barrier zone.
The following will describe the segmentation/fusion algorithm function provided by the present application in detail by a specific implementation process, and fig. 5 is a schematic diagram of the segmentation/fusion algorithm function provided by the embodiment of the present application, as shown in fig. 5: the polygon of the middle area is a land block, and is described by a vertex array P= [ P1, P2, P3, P4, P5, P6, P7, P8 ]; the right side of fig. 5 is the first barrier region, described by vertex array o= [ O1, O2, O3, O4 ]; left barrier zone No. two, described by vertex array r= [ R1, R2, R3, R4], there are the following cases:
1. Dividing processing when a land block is divided by an obstacle region: reference parcel array P and obstacle area array O. As shown in fig. 5, the parcel is divided into small parcel Z1 = [ P1, P2, I1, I6, P5, P6, P7, P8], small parcel Z2 = [ P4, I5, I4] and small parcel Z3 = [ P3, I2, I3] by the obstacle region.
2. Dividing when the land block is overlapped with the obstacle region: a reference block array P and an obstacle region array R. As shown in fig. 2, after removing the portion covered by the obstacle area, the remaining land may be denoted as z4= [ P1, P2, P3, P4, P5, P6, I7, I8, P8].
3. Fusion processing when there is overlap between the obstacle region and the obstacle region: it is assumed that 3 polygons described by arrays P, R, and O, respectively, are 3 obstacle regions overlapping each other. If the processing is not performed, the method is equivalent to wasting the computational resources and increasing the running time of the function. Therefore, it is necessary to recalculate the barrier vertices, merge the overlapping barrier into a new barrier, and describe it in the form of arrays z5= [ P1, P2, I1, O4, I2, P3, I3, O3, I4, P4, I5, O1, I6, P5, P6, I7, R3, R2, R1, R4, I8, P8 ].
In the application, the two conditions can be solved by the same function on the premise of adding fine adjustment, and the steps are as follows:
In step 601, the land block array P is adjusted to be clockwise, and all obstacle area arrays are adjusted to be counterclockwise.
Step 602, calculate the intersection point of the plot and all obstacle regions participating in the operation, describe with array i= [ I1, I2, I3, I4.. And for all the intersection points I, sequencing according to the sequence on the land block array P and the sequence on the barrier zone array, and adding the land block array P and the barrier zone array into the sequence respectively.
Step 603, starting from the first point of the parcel array P, traversing the entire array in turn. If the current point is the P point, marking the current point as used, recording the current point into the small land parcel array Z, and continuing to judge the next point in the land parcel P array. If the current point is an I point, step 604 is entered.
Step 604, searching the current point I in the obstacle area array, marking the current point as used, recording the current point into the small land block array Z, and continuing to judge the next point in the obstacle area array. If the next point is the obstacle area point, marking the current point as used, recording into the small land block array Z, and continuing to judge the next point in the obstacle area array. If the next point is point I, step 605 is entered.
Step 605, searching the current point I in the parcel array, marking the current point as used, recording the current point into the parcel array Z, and continuing to judge the next point in the parcel array. If the next point is a plot point, marking the current point as used, recording into a small plot array Z, and continuing to judge the next point in the plot array. If the next point is point I, step 604 is entered.
Step 606, step 604 and step 605 are repeated until all intersections are exhausted, or the plot points are exhausted. At this point, the function is exited.
The foregoing is a brief idea of a polygon segmentation function. Similar considerations can also be used to solve the obstacle fusion problem mentioned above. The difference is that in step 601, in the obstacle region fusion function, two obstacle region arrays to be fused need to be adjusted to be one clockwise and one anticlockwise. The rest steps are basically unchanged, but the function can automatically change the segmentation effect into the fusion effect, and the specific principle can be understood by referring to the land parcel segmentation process, and the details are not repeated here.
Furthermore, the unmanned aerial vehicle plant protection operation route planning method provided by the embodiment of the application further comprises the steps of carrying out obstacle zone obstacle avoidance on the route through a preset recursion obstacle avoidance function, and updating the route.
In the core planning step, obstacle avoidance for obstacle regions and land relief angles is an unavoidable issue. Fig. 6 is a schematic diagram of a reentrant obstacle area obstacle avoidance principle of an unmanned aerial vehicle plant protection operation route planning method provided by the embodiment of the application, and a classical situation of requiring land block reentrant obstacle avoidance is shown in the left part of fig. 6, namely, the part of fig. 6 (a), wherein a vertex array D describes the boundary of a land block, and two ends of two arrows in the figure respectively represent the starting point and the ending point of a route. When the unmanned aerial vehicle completes the work of a part of land, a long-distance route is required, and the unmanned aerial vehicle moves to another working area. At this time, the land block with the concave angle may need to avoid the obstacle, so as to avoid the situation similar to that of fig. 6. Similarly, the right part of fig. 6, i.e., fig. 6 (b), shows a classical obstacle avoidance situation requiring multiple obstacle regions, where the two ends of the arrow represent the start and end points of a route, respectively. In an route that does not pass through the obstacle avoidance, the drone may traverse multiple obstacle regions.
The obstacle avoidance function in the application uses a recursion idea to split a complex obstacle avoidance problem of multiple obstacle regions into simpler obstacle avoidance problems of single obstacle regions. Fig. 7 shows the obstacle avoidance results given by the obstacle avoidance function in the case of one recursion, taking the obstacle region a in fig. 6 (b) as an example. The path shown by the lower arrow is the original route before passing through the obstacle avoidance function, and the paths shown by the upper two sections of arrows are the new route after passing through the obstacle avoidance function operation. The problem solved by the recursive function in single call is very simple, namely, one intersection point closest to the current starting point is found in all intersection points known by the current route, and fig. 7 is a schematic diagram of a local principle of obstacle avoidance in a reentrant obstacle area of an unmanned aerial vehicle plant protection operation route planning method provided by the embodiment of the application, and in the example of fig. 7, the closest intersection point is I1. Then, in the polygon that produces the intersection, two vertices adjacent to the intersection are found, in fig. 7, vertex A1 and vertex A5. It can be seen that these two vertices create two obstacle avoidance paths, namely a clockwise path starting with A1 and a counterclockwise path starting with A5. Then, one of the intersections is marked as a new endpoint in either a clockwise or counterclockwise order. In a clockwise order, the algorithm will re-determine if the path "origin-A1" passes through any obstacle or plot. If so, the obstacle avoidance function is called again to obtain an obstacle avoidance path of 'starting point-A1', which is also the case when recursive usage is required. If not, recording A1 into the obstacle avoidance path list, and taking A1 as a new starting point. After confirming the path of the "start point-A1", it is judged whether the path of the "A1-end point" passes through any obstacle area or land. And if so, calling the obstacle avoidance function again to obtain an obstacle avoidance path of the A1-end point. If not, the function is exited, and a complete obstacle avoidance path list is output.
Specifically, the algorithm includes:
Step 701, knowing that the route intersects with the obstacle region/plot, obtaining all intersection points, and ordering all intersection points to obtain an intersection point closest to the starting point.
In step 702, an edge is found that intersects the object, and two end points of the edge are found.
In step 703, the algorithm prioritizes paths generated by the clockwise vertices.
Step 704 determines whether the path of the start point and the clockwise vertex passes through the obstacle region/parcel. If not, the clockwise vertex is credited to the obstacle avoidance path. If so, the recursive function is recalled and returns to step 701 until a complete unobstructed path between the start point and the clockwise vertex is obtained.
Step 705, determine if the path between the clockwise vertex and endpoint passes through any obstacle/land areas. And if not, outputting an obstacle avoidance path. If so, the recursive function is recalled and returns to step 701 until a complete unobstructed path between the start point and the clockwise vertex is obtained.
In step 706, the total length of the clockwise obstacle avoidance path is calculated. And (3) carrying out the following anticlockwise operation, wherein each step is compared with the path length, if the anticlockwise operation length is not finished, the generated obstacle avoidance path is longer than the clockwise obstacle avoidance path, directly exiting the function, outputting the clockwise obstacle avoidance path as the final obstacle avoidance path, and exiting the function.
Step 707 determines whether the path of the origin and counterclockwise vertex passes through any obstacle region/plot. If not, the anticlockwise vertex is posted to the obstacle avoidance path. If so, the recursive function is recalled and returns to step 701 until a complete unobstructed path between the starting point and the counterclockwise vertex is obtained.
Step 708 determines if the path between the counterclockwise vertex and the destination passes through any obstacle/land areas. And if not, outputting an obstacle avoidance path. If so, the recursive function is recalled and returns to step 701 until a complete unobstructed path between the starting point and the counterclockwise vertex is obtained.
Step 709, the operation proceeds to this point, which illustrates that the length of the anticlockwise obstacle avoidance path is less than the length of the clockwise obstacle avoidance path. And outputting the anticlockwise obstacle avoidance path as a final obstacle avoidance path, and exiting the function.
It should be noted that, the steps above provide obstacle avoidance for the obstacle region. In practice, obstacle avoidance for plots also follows the same steps and logic. Only the point of intersection generated by the land block and the point of intersection generated by the obstacle region are to be distinguished when the function is called.
In addition, the application also uses other common function functions when data processing and route planning are performed, the following contents are commonly found in various computer graphics textbooks, and are slightly adjusted according to actual application conditions, and are not described in excess here:
Compared with other plant protection unmanned aerial vehicle route planning algorithms in the prior art, the unmanned aerial vehicle plant protection operation route planning method provided by the application can reasonably plan complex terrains especially common in southern province of China: the land block is irregular in shape, the barrier areas are irregular in shape, the number of the barrier areas is various, the barrier areas are random in position, and the barrier areas are overlapped and mutually contained; the coverage rate of the planned route to the land is high, and human errors generated by manual flight of a flight crew without using a planning algorithm are completely removed; the spraying/seeding mark can be automatically generated without manual adjustment of a user; the obstacle avoidance area can be avoided by a reasonable and efficient path; the planning speed is high; a high degree of freedom is preserved for the user, for example: the method supports the self-definition of an independent safety boundary value, the adjustment of the direction of a planning route, the adjustment of the starting point position of planning, the automatic compensation of edge sweeping and the like.
It is to be understood that the same or similar parts in the above embodiments may be referred to each other, and that in some embodiments, the same or similar parts in other embodiments may be referred to.
It should be noted that in the description of the present application, the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Furthermore, in the description of the present application, unless otherwise indicated, the meaning of "plurality" means at least two.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and further implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present application.
It is to be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or a portion of the steps carried out in the method of the above-described embodiments may be implemented by a program to instruct related hardware, where the program may be stored in a computer readable storage medium, and where the program, when executed, includes one or a combination of the steps of the method embodiments.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing module, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product.
The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, or the like.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the present application have been shown and described above, it will be understood that the above embodiments are illustrative and not to be construed as limiting the application, and that variations, modifications, alternatives and variations may be made to the above embodiments by one of ordinary skill in the art within the scope of the application.

Claims (6)

1. The unmanned aerial vehicle plant protection operation route planning method is characterized by comprising the following steps of:
Collecting land block data and barrier zone data, and adjusting a land block vertex array in the land block data and a barrier zone vertex array in the barrier zone data to be in a clockwise order;
obtaining a simulated land block and a simulated obstacle region formed by polygon vertexes based on the land block vertex array and the obstacle region vertex array, and calculating the safety boundary of the simulated land block and the simulated obstacle region based on a preset polygon contraction/expansion function;
based on a preset segmentation/fusion algorithm function, carrying out segmentation or fusion treatment on the simulated land block and the simulated obstacle region to obtain an optimized simulated land block boundary and an optimized simulated obstacle region boundary;
Rotating the optimized simulated land block boundary and the simulated obstacle region boundary according to a preset route angle, and obtaining an expression of a planned route based on a preset route distance;
marking and sequencing all intersection points with the simulated land parcels and the simulated obstacle areas respectively;
Selecting the intersection point closest to the current position of the unmanned aerial vehicle from all the intersection points as a starting position, executing a preset waypoint detection cycle to obtain a target route with all waypoints, and taking the target route as a planning result and outputting the planning result;
The method for obtaining the optimized simulated land block boundary and simulated obstacle region boundary by carrying out segmentation or fusion processing on the simulated land block and the simulated obstacle region based on a preset segmentation/fusion algorithm function comprises the following steps: when the simulated land block is segmented by the simulated obstacle region, the simulated land block is segmented to obtain a plurality of sub-simulated land blocks; when the simulated land block is overlapped with the simulated obstacle region, dividing the overlapped part of the simulated land block, which is overlapped by the simulated obstacle region, to obtain a simulated land block with the overlapped region of the simulated obstacle region removed and a simulated obstacle region with the overlapped region increased; when the simulated obstacle area is overlapped with other simulated obstacle areas, fusing a plurality of overlapped simulated obstacle areas to obtain a large simulated obstacle area;
The method for obtaining the optimized simulated land parcel boundary and simulated obstacle zone boundary by carrying out segmentation or fusion processing on the simulated land parcel and the simulated obstacle zone based on a preset segmentation/fusion algorithm function comprises the following steps: dividing the simulated land block: adjusting the block vertex array to be in a clockwise order, and adjusting the barrier region vertex array to be in a counterclockwise order; calculating the intersection point of the simulated land block and the simulated obstacle region to obtain an intersection point array; the data in the intersection point array are added into the land block vertex array and the barrier zone vertex array respectively in sequence to obtain a target land block vertex array and a target barrier zone vertex array, and a segmentation algorithm is carried out: traversing the whole array from the first vertex in the target block vertex array, recording the vertex into a new simulated block when judging that the current point is the vertex in the simulated block, and continuously judging the next point in the target block vertex array; traversing the whole array from a first intersection point in the vertex array of the target obstacle area, recording the vertex into a new simulated land block when judging that the current point is the vertex in the simulated obstacle area, and continuously judging the next point in the vertex array of the target obstacle area; when judging that the current point in the target block vertex array or the target barrier zone vertex array is the intersection point in the intersection point array, recording the intersection point into a new simulated block, jumping to the position of the intersection point in the target barrier zone vertex array or the target block vertex array, and continuing to perform point taking judgment and recording according to the sequence in the target barrier zone vertex array or the target block vertex array until the last point in the target block vertex array is recorded; and repeating the segmentation algorithm from the first vertex which is not taken in the vertex array of the target land block to obtain a plurality of new simulated land blocks, and updating the simulated land blocks.
2. The unmanned aerial vehicle plant protection operation route planning method of claim 1, wherein the waypoint detection cycle comprises: taking the planning route as an initial target route;
Detecting whether the target route runs out of all waypoints;
if yes, taking the planning route as a planning result and outputting the planning result;
if not, detecting whether the same straight line has unused waypoints; if the unused waypoints do not exist, a new route is obtained based on the latest unused waypoint planning; if the unused waypoints exist, planning to obtain a new route based on the position information at the moment;
Judging whether the new route passes through the obstacle or not, and if so, performing obstacle avoidance based on a preset algorithm to obtain a target route; if the obstacle does not pass through, taking the new route as a target route;
And re-detecting whether the target route runs out of all the waypoints or not until the target route runs out of all the waypoints, and stopping circulation.
3. The unmanned aerial vehicle plant protection operation route planning method according to claim 1, wherein the calculating the safety boundaries of the simulated land mass and the simulated obstacle region based on a preset polygonal contraction/expansion function comprises:
acquiring a first vertex in the simulated land block or the simulated obstacle region, and finding a second vertex and a third vertex adjacent to the first vertex;
taking a straight line where the first vertex and the second vertex are located as a first straight line;
Taking a straight line where the first vertex and the third vertex are located as a second straight line;
Determining a fourth vertex with a preset value from the first straight line and the second straight line;
taking the fourth vertex as a target vertex after the first vertex contracts or expands by a preset distance;
And finding out target vertexes corresponding to all vertexes in the simulated land parcel or the simulated obstacle area, connecting corresponding target fixed points according to the vertex data sequence of the simulated land parcel or the simulated obstacle area, obtaining a safety boundary after the simulated land parcel or the simulated obstacle area expands or contracts, and updating the simulated land parcel or the simulated obstacle area.
4. The unmanned aerial vehicle plant protection operation route planning method according to claim 3, wherein a preset distance corresponding to each vertex in the simulated land block or the simulated obstacle area is changed based on actual requirements, and a target vertex corresponding to each vertex is determined;
And determining the safety boundary of the simulated land block or the simulated obstacle area after expansion or contraction based on the target vertex, and updating the simulated land block or the simulated obstacle area.
5. The unmanned aerial vehicle plant protection operation route planning method according to claim 1, wherein the performing the segmentation or fusion processing on the simulated land parcel and the simulated obstacle area based on a preset segmentation/fusion algorithm function to obtain an optimized simulated land parcel boundary and a simulated obstacle area boundary, further comprises fusing the simulated obstacle area:
adjusting the first barrier zone vertex array to a clockwise order and adjusting the second barrier zone vertex array to a counterclockwise order;
calculating the intersection point of the first simulation barrier region and the second simulation barrier region to obtain an intersection point array;
The data in the intersection point array are added into the first barrier zone vertex array and the second barrier zone vertex array respectively in sequence to obtain a first target barrier zone vertex array and a second target barrier zone vertex array, and a fusion algorithm is carried out:
Traversing the whole array from the first vertex of the first target barrier area vertex array, recording the vertex into a new barrier area when judging that the current point is the vertex in the first barrier area, and continuously judging the next point in the first target barrier area vertex array;
traversing the whole array from the first intersection point of the vertex array of the second target barrier zone, recording the vertex into a new barrier zone when judging that the current point is the vertex in the second barrier zone, and continuously judging the next point in the vertex array of the second target barrier zone;
When judging that the current point in the first target barrier zone vertex array or the second target barrier zone vertex array is the intersection point in the intersection point array, recording the intersection point into a new simulation barrier zone, jumping to the position of the intersection point in the second target barrier zone vertex array or the first target barrier zone vertex array, continuing to perform point taking judgment and recording according to the sequence in the second target barrier zone vertex array or the first target barrier zone vertex array until the last point in the first target barrier zone vertex array is recorded, obtaining the new simulation barrier zone, and updating the simulation barrier zone.
6. The unmanned aerial vehicle plant protection operation route planning method according to claim 2, wherein if the unmanned aerial vehicle passes through the obstacle, the obstacle avoidance is performed based on a preset algorithm, and a target route is obtained, comprising:
performing obstacle avoidance on the route through recursive obstacle avoidance based on a preset algorithm;
and obtaining a target route based on the obstacle avoidance result.
CN202111130220.2A 2021-09-26 2021-09-26 Unmanned aerial vehicle plant protection operation route planning method Active CN113741539B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111130220.2A CN113741539B (en) 2021-09-26 2021-09-26 Unmanned aerial vehicle plant protection operation route planning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111130220.2A CN113741539B (en) 2021-09-26 2021-09-26 Unmanned aerial vehicle plant protection operation route planning method

Publications (2)

Publication Number Publication Date
CN113741539A CN113741539A (en) 2021-12-03
CN113741539B true CN113741539B (en) 2024-07-09

Family

ID=78741144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111130220.2A Active CN113741539B (en) 2021-09-26 2021-09-26 Unmanned aerial vehicle plant protection operation route planning method

Country Status (1)

Country Link
CN (1) CN113741539B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113657674B (en) * 2021-08-18 2024-05-31 杭州华橙软件技术有限公司 Task planning adjustment method and device, storage medium and electronic equipment
CN117726777B (en) * 2024-02-18 2024-05-07 天津云圣智能科技有限责任公司 Unmanned aerial vehicle route optimization method and device and computer storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934384A (en) * 2019-01-28 2019-06-25 沈阳无距科技有限公司 A kind of polygon plot dividing method, device, storage medium and electronic equipment
CN112506225A (en) * 2020-12-15 2021-03-16 广州极飞科技有限公司 Unmanned aerial vehicle obstacle avoidance method and device, unmanned aerial vehicle and storage medium
CN117193381A (en) * 2023-11-07 2023-12-08 天津云圣智能科技有限责任公司 Unmanned aerial vehicle control method and device and computer storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678939B1 (en) * 2010-08-12 2016-11-23 팅크웨어(주) Apparatus and method for searching around
CN104503464B (en) * 2014-12-30 2017-01-18 中南大学 Computer-based convex polygon field unmanned aerial vehicle spraying operation route planning method
CN108919832A (en) * 2018-07-23 2018-11-30 京东方科技集团股份有限公司 Unmanned machine operation flight course planning method, unmanned plane application method and device
CN109238298B (en) * 2018-09-26 2020-09-01 上海联适导航技术有限公司 Unmanned path planning method with obstacle avoidance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934384A (en) * 2019-01-28 2019-06-25 沈阳无距科技有限公司 A kind of polygon plot dividing method, device, storage medium and electronic equipment
CN112506225A (en) * 2020-12-15 2021-03-16 广州极飞科技有限公司 Unmanned aerial vehicle obstacle avoidance method and device, unmanned aerial vehicle and storage medium
CN117193381A (en) * 2023-11-07 2023-12-08 天津云圣智能科技有限责任公司 Unmanned aerial vehicle control method and device and computer storage medium

Also Published As

Publication number Publication date
CN113741539A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
CN113741539B (en) Unmanned aerial vehicle plant protection operation route planning method
CN110823241B (en) Robot path planning method and system based on passable area skeleton extraction
WO2020029601A1 (en) Method and system for constructing transverse topological relationship of lanes in map, and memory
CN110823240B (en) Following robot path planning method and system with course constraint
CN110220521B (en) High-precision map generation method and device
EP3631364A1 (en) Method and apparatus for producing a lane-accurate road map
KR102332045B1 (en) Method and apparatus for processing driving reference line, and vehicle
CN113085850B (en) Vehicle obstacle avoidance method and device, electronic equipment and storage medium
KR102554126B1 (en) Vehicle track planning method, device, computer device and computer-readable storage medium
CN114323051A (en) Method and device for planning crossing driving track and electronic equipment
JP2022502311A (en) Feature point extraction method and equipment for environmental targets
CN114754777A (en) Geographic coordinate system-based full-path coverage planning method for unmanned mowing vehicle
CN112923940A (en) Path planning method, device, processing equipment, mobile equipment and storage medium
CN113671941A (en) Trajectory planning method, device, equipment and storage medium
Jeon et al. An entry-exit path planner for an autonomous tractor in a paddy field
CN111368409A (en) Vehicle flow simulation processing method, device, equipment and storage medium
CN116518978A (en) Robot path planning method, device, equipment and storage medium
CN116772846A (en) Unmanned aerial vehicle track planning method, unmanned aerial vehicle track planning device, unmanned aerial vehicle track planning equipment and unmanned aerial vehicle track planning medium
WO2023201954A1 (en) Roundabout path planning method and apparatus
CN114407919A (en) Collision detection method and system based on automatic driving
CN115993817A (en) Autonomous exploration method, device and medium for tensor field driven hierarchical path planning
CN110033651A (en) Method and device for dividing flight area
JP5347108B2 (en) Driving route planning method for self-propelled device
CN112106009A (en) Route planning method and route planning equipment for spraying operation
Xiao et al. Autonomous Ground Navigation in Highly Constrained Spaces: Lessons Learned From the Second BARN Challenge at ICRA 2023 [Competitions]

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant