Farmland internal rotation full coverage path planning method and application

By using Dijkstra algorithm and polygonal retraction technology in the full coverage path planning method of farmland internal rotation, the problem of poor applicability of the existing technology to irregular contour plots is solved, and efficient and less turning agricultural machinery operation path planning is achieved, which improves the Agricultural machinery operation efficiency.

CN119469161AActive Publication Date: 2025-02-18SHANGHAI ALLYNAV TECH CO LTD

Patent Information

Application Number
CN202411671658.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-02-18
Estimated Expiration
2044-11-21

AI Technical Summary

Technical Problem

The existing farmland path planning methods have poor applicability to irregularly contoured plots and have failed to effectively optimize the concave points, which affects the execution efficiency of agricultural machinery.

Method used

A method of fully covered path planning for farmland internal rotation is proposed. By setting parameters such as vertex position coordinates, width of agricultural machinery and agricultural tools, starting point and direction of operation of irregular polygonal farmland, combined with Dijkstra algorithm and polygonal retraction technology, efficient operation path is generated. And optimize turn paths and concave point processing.

Benefits of technology

It improves the adaptability to the path planning of irregularly contoured plots, generates high coverage and few turns, and improves the efficiency of agricultural machinery operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119469161A_ABST
    Figure CN119469161A_ABST
Patent Text Reader

Abstract

The invention belongs to a vehicle path planning technology, mainly relates to the field of agricultural vehicle path planning, and particularly relates to a farmland internal rotation full-coverage path planning method and application. The invention provides an agricultural machine operation path planning method for processing an irregular contour plot. The operation track of the agricultural machine in the farmland is determined according to the farmland boundary data, the starting point position of the agricultural machine and the width of the agricultural implement during operation of the agricultural machine. According to the method, the requirement of actual agricultural operation on the path is fully considered, the adaptability to path planning of the land parcels with irregular outlines is improved, the shortest operation path between different closed operation paths is generated in combination with the Dijkstra algorithm, meanwhile, the turning path is optimized, and the agricultural machinery operation path with high coverage and few turns can be generated within reasonable time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the category of vehicle path planning technology, mainly relates to the field of agricultural machinery vehicle path planning, and in particular to a method and application of farmland internal rotation full coverage path planning. The invention is mainly used in the field of agricultural machinery automatic driving, and is used to plan the operation path of agricultural machinery. Background Art

[0002] Vehicle path planning is a key link in realizing autonomous navigation of autonomous vehicles. In the agricultural machinery autonomous driving navigation system, it is necessary to generate a global operation path based on the farmland boundary information as the input of the control layer to guide the operation of agricultural machinery. Therefore, generating an efficient operation path is one of the important prerequisites for realizing the automatic operation of agricultural machinery.

[0003] The existing farmland path planning is mainly divided into geometric processing and intelligent processing. Geometric processing mainly refers to the processing of geometric attributes such as the shape of farmland plots and terrain information to achieve the basic goal of path planning. Most of the current geometric processing adopts a round-trip path planning method, which is difficult to plan well for plots with complex contours. It usually needs to be decomposed and then planned, which results in the generation of a large number of useless paths. Intelligent processing refers to the use of artificial intelligence, machine learning and other technologies to handle farmland path planning problems in order to achieve a more intelligent and adaptive path planning solution. However, this method has high requirements on hardware performance and cannot meet actual operational needs in agricultural environments. Summary of the invention

[0004] In order to solve the above technical problems, we proposed a farmland inward rotation full coverage path planning method and application.

[0005] The present invention provides the following technical solutions:

[0006] A method for planning a farmland internal rotation full coverage path includes the following steps:

[0007] S100: Setting the planning boundary connected by the position coordinates of the vertices of the irregular polygonal farmland, the width d of the agricultural machinery and implements, the operation starting point, the clockwise and counterclockwise direction of the operation, the comparison search and order adjustment rules of line segments in the same area, the generation of the shortest path across areas and the polygon order adjustment rules;

[0008] The comparison search and order adjustment rules of the line segments in the same area are as follows: the upper-level polygon corresponding to the polygon generated by the indentation is used as the boundary range, and the starting point of the upper-level polygon is used as the set starting point;

[0009] If a polygon is generated by indentation, connect the set starting point and each point of the generated polygon in sequence. If the connected line segment is within the boundary range, record the length of the line segment, otherwise do not record it. Find the point of the line segment with the shortest distance, use this point as the update starting point, and then adjust the generated polygon in the set order and output it in the clockwise and counterclockwise direction. The set order refers to the set operation clockwise and counterclockwise direction.

[0010] If multiple polygons are generated by indentation, all the boundary points of the generated polygons will be connected to the set starting point in sequence. If the connected line segment is within the indentation boundary, the line segment length will be recorded, otherwise it will not be recorded. The point that forms the shortest line segment will be found and used as the update starting point. The polygon corresponding to the update starting point will be used as the polygon currently being output. Then, the generated polygons will be adjusted in the set order in the clockwise and counterclockwise direction before being output, and other polygons will be output later. The set order refers to the set operation clockwise and counterclockwise direction.

[0011] The cross-region shortest path generation and polygon order adjustment rules are as follows: the starting point of the polygon that has been output and cannot be retracted is used as the set starting point, one or more polygons in the last batch of polygons output later are used as target polygons, and the upper-level polygon corresponding to the target polygon is used as the boundary range;

[0012] The starting point, the points of the boundary range and the points of the target polygon are set to form a point sequence in the clockwise and counterclockwise direction of the operation. The first point of the sequence is connected with the second point in turn until the first point is connected with the last point. The first point is deleted and the above steps are repeated until all the points in the sequence are traversed. If the generated line segment is within the boundary range, its line segment length is recorded, otherwise it is not recorded, and a new distance set is formed;

[0013] Using the Dijkstra algorithm, if there is a target polygon, based on the generated distance set, determine a shortest path from the starting point to the target polygon within the safety boundary. If there are multiple target polygons, the target polygon corresponding to the end point of the shortest path is used as the polygon currently being output, and the end point of the shortest path is used as the starting point of the polygon currently being output. Then adjust the generated polygons in the set order in the clockwise and counterclockwise direction and output them, and output other polygons at the end. The set order refers to the set clockwise and counterclockwise direction of the operation.

[0014] S200: Taking the planning boundary as the boundary range, shrinking inwards by 1 / 2d in parallel, and judging whether a polygon is successfully generated, if yes, proceed to S300, otherwise the planning is terminated;

[0015] S300: Continue to shrink inwards in parallel d, and determine whether one or more polygons are successfully generated. If yes, go to S400, otherwise go to S500;

[0016] S400: If a polygon is generated, directly enter S300;

[0017] If multiple polygons are generated, the polygon to be currently output is determined according to the same area line segment comparison search and order adjustment rules, and the other polygons are output later, and the process goes to S300;

[0018] S500: Continue to shrink inwards in parallel by 1 / 2d, and determine whether one or more polygons are successfully generated. If yes, proceed to S600, otherwise proceed to S700;

[0019] S600: If a polygon is generated, directly enter S800;

[0020] If multiple polygons are generated, the polygon to be currently output is determined according to the same area line segment comparison search and order adjustment rules, and the other polygons are output later, and then the process goes to S800;

[0021] S700: Determine whether the polygons of the previous level are one or more polygons generated by the parallel indentation d. If yes, proceed to S600. Otherwise, the planning is terminated.

[0022] S800: The polygon generated at this time is a polygon that cannot be retracted any further. According to the cross-region shortest path generation and polygon order adjustment rules, the next polygon to be output and the shortest planned path from the starting point of the polygon that cannot be retracted any further to the next polygon to be output are found, and the next polygon to be output is used as the basis to enter S300; until the next polygon to be output cannot be found, the starting point of the polygon generated at this time is used as the end point;

[0023] The output contains the complete planned path from the start point to the end point.

[0024] Preferably, the concave points of the new polygon generated by each indentation are processed as follows:

[0025] The polygon generated by the indentation is taken as the processing object, and the upper-level polygon corresponding to the indented polygon is taken as the boundary range. All the concave points of the indented polygon are selected to generate a point set, and the two adjacent points of each concave point are found and connected to the travel line segment. If the line segment is within the boundary range, the concave point is deleted. The above operation is repeated to delete all the concave points that may be deleted. Finally, a new polygon composed of coordinate points that does not contain the deleted concave points is generated to replace the indented polygon for subsequent path planning.

[0026] Preferably, the generated turning path is processed as follows:

[0027] Set the starting point a of the first edge, the turning point b, the end point c of the second edge, extend the line segment ab, and compare whether the angle between the extended line and the line segment bc is greater than the set angle. If it is less, do not set the turning method. If it is greater, continue to set the turning method.

[0028] The turning method of continuing to set is:

[0029] Set the distance of line segment ab to L2, the distance of line segment bc to L1, and take the smaller one L=min(L1, L2). The other side also takes a point at a distance L from the turning point, connects this point with the point of the extension L of the other side, and then takes the middle point as point d, and calculates the unit direction vector from the turning point b to point d. Calculate the radius of the arc using the relationship between angles The distance from the turning point to the center of the circle is Ld = sqrt(L 2 +R 2 ), and then use the formula O=B+P*Ld to calculate the center position of the circle, and finally determine the angle between the circle and the two tangent points, take a section of the arc close to point b, and then connect the tangent points f1 and f2. The arc part generates a sequence of points at the set degree interval and outputs it as the turning path.

[0030] Preferably, the rules for parallel indentation are as follows:

[0031] Calculate the angle bisectors of all the inner angles of the polygon to be indented, and then determine a point on the angle bisector so that its distance to the lines on both sides of the angle is d_set. After calculating all the points that are translated inward, connect the points in order to form a point sequence.

[0032] If a point where a translation line segment intersects another translation line segment appears during the process of connecting translation points, the point is added to the middle of the translation point sequence on both sides of the intersecting translation line segment to generate a new point sequence. Then the shortest distance between all points and the indented boundary is determined, and the points whose shortest distance to the indented boundary is not equal to d_set are eliminated, as well as the points before and after which are repeated. If there is no point that meets the conditions at this time, return. If there is, continue. Finally, all points are connected in sequence to form one or more closed polygons. If multiple polygons are formed, the lines connecting the polygons are disconnected.

[0033] 5. An application of a method for planning a path for full coverage of an inward rotation of a farmland, running a method for planning a path for full coverage of an inward rotation of a farmland as described above, for planning a path for full coverage of an inward rotation of a farmland.

[0034] An automatic driving agricultural machine, comprising:

[0035] Memory for storing computer programs;

[0036] A processor is used to implement the farmland inward rotation full coverage path planning method as described in any of the above items when executing the computer program.

[0037] A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements a farmland inward rotation full coverage path planning method as described in any of the above items.

[0038] Compared with the prior art, the beneficial effects of the present invention are as follows: in order to solve the problems that the existing farmland path planning methods have poor applicability to irregular contour plots, and that the contour concave points are not optimized, which affects the execution efficiency of agricultural machinery, the present invention provides an agricultural machinery operation path planning method for processing irregular contour plots. The present invention determines the operation trajectory of agricultural machinery in the farmland based on the farmland boundary data, the farmland entrance position, and the width of the agricultural implement during agricultural machinery operation. The present invention fully considers the order relationship of path generation for actual agricultural operations, improves the adaptability of path planning for irregular contour plots, combines the Dijkstra algorithm to generate the shortest operation path between different closed operation paths, and optimizes the turning path, so as to generate a high-coverage, less-turning agricultural machinery operation path within a reasonable time. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:

[0040] Figure 1 is a schematic diagram of the angle bisector of an interior angle in an embodiment of the present invention;

[0041] Figure 2 is a schematic diagram of generating a polygon inwardly according to an embodiment of the present invention;

[0042] Figure 3 is a schematic diagram of generating multiple polygons inwardly according to an embodiment of the present invention;

[0043] Figure 4 is a schematic diagram of a point sequence before adjustment of generating multiple polygons inwardly according to an embodiment of the present invention;

[0044] Figure 5 It is a schematic diagram of a point sequence in which a plurality of polygons are generated inwardly and an intermediate point is added before adjustment according to an embodiment of the present invention;

[0045] Figure 6 yes Figure 5 Based on this, a schematic diagram of two sequence outputs is formed;

[0046] Figure 7 for Figure 6 On this basis, a schematic diagram with the starting point P_start is added;

[0047] Figure 8 This is a schematic diagram of the comparison search and order adjustment method of the line segments in the same area if there is only one generated polygon;

[0048] Fig. 9 Schematic diagram of the comparison search and order adjustment method of line segments in the same area to generate multiple polygons;

[0049] Fig.10 Generate instructions for turn-by-turn routing Figure 1 ;

[0050] Fig.11 Generate instructions for turn-by-turn routing Figure 2 ;

[0051] Fig.12 Generate instructions for turn-by-turn routing Figure 3 ;

[0052] Fig.13 Generate instructions for turn-by-turn routing Figure 4 ;

[0053] Fig.14 Generate instructions for turn-by-turn routing Figure 5 ;

[0054] Fig.15 This is a schematic diagram of path concave point processing;

[0055] Fig.16 This is a schematic diagram of the full coverage path of internal rotation in this embodiment;

[0056] Fig.17 Schematic diagram of the process of this embodiment. DETAILED DESCRIPTION

[0057] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0058] The contents of the present invention mainly include: planning preprocessing module, parallel line shrinking module, cross-region shortest path generation and polygon sequence adjustment module, same-region line segment comparison search and sequence adjustment module, turning path generation module, path concave point processing module and module integration.

[0059] Planning boundary: The collected or preset boundary of a plot of land.

[0060] Safety boundary: The boundary formed by the first inward retraction prevents agricultural machinery from exceeding the safety boundary and causing safety hazards.

[0061] Shrink Boundary: Each inward translation forms the outer boundary of the polygon path.

[0062] S101, planning preprocessing module: the UAV obtains the position coordinates of the vertices of the irregular polygonal farmland to be operated one by one, takes all the coordinates as the planning boundary, and determines the width d of the agricultural machinery and implements, the operation starting point and the clockwise and counterclockwise direction of the operation.

[0063] S102, parallel line shrinking module: used to shrink the set polygon boundary inward in parallel by a set distance d_set to generate new polygon coordinates.

[0064] The specific implementation is as follows:

[0065] Calculate the angle bisectors of all interior angles, and then determine a point on the angle bisector so that its distance to the lines on both sides of the angle is d_set, such as Figure 1 shown.

[0066] After all the points that are translated inward (referred to as: translation points) are calculated, connect the points in sequence.

[0067] When a polygon is generated inwards, such as Figure 2 shown.

[0068] When multiple polygons are generated inwards, such as Figure 3 shown.

[0069] If a point where a translation line segment intersects another translation line segment appears during the process of connecting translation points, the point is added to the middle of the translation point sequence position on both sides of the intersecting translation line segment to generate a new sequence.

[0070] Example: Figure 4 The point sequence before adjustment is: {A, B, C, D, E, F};

[0071] Determine the intersection point {O1, O2, O3} of the translation line segment and the translation line segment, and add it to the middle of the translation point sequence position on both sides of the intersecting translation line segment to generate a new sequence: {A, O1, B, C, O1, O2, D, O3, E, F, O3, O2};

[0072] Then determine the shortest distance between all points and the indented boundary, remove points whose shortest distance to the indented boundary is not equal to d_set, and points that are repeated before and after. If there is no point that meets the conditions at this time, return, if there is, continue.

[0073] Example: Figure 5The shortest distances from the midpoints B, C, and D to the boundary are not equal to d_set, so these three points in the sequence are deleted to form a new sequence: {A, O1, O1, O2, O3, E, F, O3, O2}, and then the repeated point O1 is removed: {A, O1, O2, O3, E, F, O3, O2};

[0074] Finally, all points are connected in sequence to form one or more closed polygons. If multiple polygons are formed, the lines connecting the polygons are disconnected to form a new sequence output.

[0075] Example: Figure 6 Two sequence outputs are formed: {E, F, O3}, {A, O1, O2};

[0076] S103, cross-region shortest path generation and polygon order adjustment module: used to determine the shortest connection path point from the set starting point to the remaining target polygons within the set boundary, and adjust the polygon where the point is located in the clockwise and counterclockwise directions.

[0077] The specific implementation is as follows:

[0078] exist Figure 7 In the example, the starting point is set to P_start, the safety boundary is set to the sequence {P_0, P_1, P_2, P_3, P_4, P_5}, and the target polygon is set to the sequence {O1, O2, A}, {O3, E, F}. The starting point is added before the boundary point sequence and the target polygon sequence is added after it to form a point sequence {P_start, P_0, P_1, P_2, P_3, P_4, P_5, O1, O2, A, O3, E, F} that includes the starting point. Connect the first point of the sequence with the second point in sequence until the first point is connected to the last point, and then use the first point to connect the points on the target polygon. If the formed line segment exceeds the set boundary, the distance of the line segment is marked as infinity (MAX); otherwise, record the actual distance of the line segment to form a new distance sequence {d_0, d_1, d_2, d_3, d_4, d_5, d_O1, d_O2, d_A, d_O3, d_E, d_F}. Delete the first point of the point sequence and repeat the above steps until all points in the sequence are traversed. Through the above steps, a distance point set is generated, which contains the distance information from the starting point to all boundary points and polygon vertices.

[0079] Finally, the Dijkstra algorithm is used to determine the shortest path from the starting point to the target polygon within the safety boundary, as well as the shortest distance point, based on the generated distance point set. The Dijkstra algorithm gradually selects the node with the smallest distance and updates the distance of the adjacent nodes to finally find the shortest path from the starting point to the target polygon. For the nearest point (O1) found, its polygon is reordered and its polygon is placed in the first position and output: the shortest path sequence {P_start, O1}; adjustment sequence: {O1, O2, A}, {O3, E, F}.

[0080] S104, same area line segment comparison search and sequence adjustment module: adjust the order of generating polygons and storage positions according to the set starting point and indentation boundary and the clockwise and counterclockwise directions of the operation.

[0081] The specific implementation is as follows: If there is only one generated polygon, the set starting point and each point of the generated polygon are connected in sequence. If the connected line segment is within the indented boundary, the length of the line segment is recorded, otherwise it is not recorded. Find the point that forms the shortest line segment, use this point as the update starting point, and then adjust the generated forward and reverse direction output according to the set order.

[0082] Example: Figure 8 Assume that the starting point is set to P_0, and the boundary is set to the outer polygon. Connect point P_0 and point P_A to form line segment P_0P_A. Check whether line segment P_0P_A is within the boundary. Line segment P_0P_A is within the boundary, so it is recorded. Then traverse point P_B to point P_E in turn. Line segments P_0P_E and P_0P_D are beyond the boundary, so they are not recorded. Among the recorded line segments, line segment P_0P_B is the shortest line segment, so point P_B is used as the starting point, and then adjusted to output clockwise and counterclockwise.

[0083] If there are multiple generated polygons, connect the boundary points of all generated polygons with the set starting point in sequence. If the connected line segment is within the indented boundary, record the length of the line segment, otherwise do not record it. Find the point that forms the shortest line segment and put the polygon where the point is located in the first position of the output sequence. The remaining polygons are randomly placed in the second position and the following positions of the output sequence.

[0084] Example: Fig. 9 As shown, two polygons will be generated. Assume that the starting point is set to P_0, the boundary is set to the outer polygon, and point O1 is the closest point that meets the conditions, so it is used as the starting point and the polygon it is in is output at the first position. The following setting outputs in counterclockwise order: {O1, O2, A}, {O3, E, F};

[0085] S105, turning path generation module: This module is used to generate a path with an added turning method according to the set turning method.

[0086] The specific implementation is as follows: Fig.10 As shown, input the starting point a of the first side, the turning point b, and the end point c of the second side. Extend the line segment ab, and compare whether the angle between its extension line and the line segment bc is greater than the set angle. If it is less, no turning method is set, and if it is greater, the turning method continues to be set. Due to the influence of agricultural machinery performance and operating environment, its forward and backward turning performance are different, so the forward distance of line segment ab is set to L2, and the forward distance of line segment bc is set to L1, so that it can adapt to different farmlands and agricultural machinery, and the smaller one is taken as L=min(L1, L2).

[0087] like Fig.11 As shown, the other side also takes a point at a distance of L from the turning point, connects this point with the point of the extension L of the other side, and then takes the middle point as point d, and calculates the unit direction vector from the turning point b to point d

[0088] like Fig.12 As shown, the radius of the arc is calculated using the relationship between angles. The distance from the turning point to the center of the circle is Ld = sqrt(L 2 +R 2 ),like Fig.13 As shown, the center position of the circle is calculated using the formula O = B + P * Ld. Finally, the angle between the circle and the two tangent points is determined, as Fig.14 As shown, take a section of the arc close to point b, and then connect the tangent points f1 and f2. The arc part generates a sequence of points output according to the set degree interval (one point is generated for 1 degree or a few degrees).

[0089] S106, path concave point processing module: This module is used to reduce concave points in the path to improve the path use efficiency.

[0090] The specific implementation is as follows: Fig.15 As shown, the path points and boundary points are passed in, all the concave points of the path points are selected to form a point set {P_C}, the two adjacent points of each concave point are found and connected (P_BP_D), if the line segment is within the boundary range, the concave point is deleted, and the above operation is repeated to form a point set output {P_A, P_B, P_D, P_E}.

[0091] S107, module integration:

[0092] (1) Start: Execute the planning preprocessing module to preprocess the plan.

[0093] (2) Use the planned boundary as the indentation boundary and use the parallel line indentation module to make the indentation boundary parallel to 1 / 2d inward. Determine whether a polygon is successfully generated:

[0094] (2-1) is:

[0095] (2-1-1) Set the generated polygon as the safety boundary, use the same area segment comparison search and sequence adjustment module to output the adjustment sequence, and store it in the storage sequence S.

[0096] (2-1-2) The generated polygon will be used as the indentation boundary.

[0097] (2-1-3) Use the parallel line shrinking module to shrink the boundary inward parallel to d and determine whether the polygon is successfully generated:

[0098] (2-1-3-1) is:

[0099] (2-1-3-1-1) Determine whether to generate multiple polygons:

[0100] (2-1-3-1-1-1) is:

[0101] (2-1-3-1-1-1-1) Use the same area segment comparison search and sequence adjustment module to output the adjustment sequence and store it in the temporary sequence T. Use the path concave point processing module to output the processing sequence for the first polygon of the temporary sequence T. After using the processing sequence as the indentation boundary and recording it in the storage sequence S, delete the first polygon of the temporary sequence T.

[0102] (2-1-3-1-1-1-2) Use the parallel line indentation module to parallelize the indentation boundary inward to d and determine whether the polygon is successfully generated:

[0103] (2-1-3-1-1-1-2-1) is:

[0104] (2-1-3-1-1-1-2-1-1) Determine whether multiple polygons are generated:

[0105] (2-1-3-1-1-1-2-1-1-1) is:

[0106] (2-1-3-1-1-1-2-1-1-1-1) jumps to (2-1-3-1-1-1-1) to start execution.

[0107] (2-1-3-1-1-1-2-1-1-1) No:

[0108] (2-1-3-1-1-1-2-1-1-1-2) jumps to (2-1-3-1-1-2-1) to start execution.

[0109] (2-1-3-1-1-1-2-2) No:

[0110] (2-1-3-1-1-1-2-2-1) jumps to (2-1-3-2-1) to start execution.

[0111] (2-1-3-1-1-2) No:

[0112] (2-1-3-1-1-2-1) Use the same area line segment comparison search and sequence adjustment module to output the adjustment sequence, and then use the path concave point processing module to output the processing sequence and record the adjustment sequence in the storage sequence S.

[0113] (2-1-3-2) No:

[0114] (2-1-3-2-1) Use the parallel line indentation module to parallelize the indentation boundary inward by 1 / 2d to determine whether the polygon is successfully generated:

[0115] (2-1-3-2-1-1) is:

[0116] (2-1-3-2-1-1-1) Determine whether to generate multiple polygons:

[0117] (2-1-3-2-1-1-1-1) is:

[0118] (2-1-3-2-1-1-1-1-1) Use the same-area line segment comparison search and sequence adjustment module to output the adjustment sequence and store it in the final level sequence F.

[0119] (2-1-3-2-1-1-1-1-2) Record the first polygon of the final sequence F in the storage sequence S, and then delete the first polygon of the final sequence F.

[0120] (2-1-3-2-1-1-1-1-3) Determine whether there is a polygon in the final sequence F:

[0121] (2-1-3-2-1-1-1-1-3-1) is:

[0122] (2-1-3-2-1-1-1-1-3-1-1) Use the update starting point to traverse all polygons in the final sequence F using the cross-region shortest path generation and polygon order adjustment module, find the points of the shortest connection path and the polygons within the safety boundary, update the final sequence F, and update the update starting point to the point of the shortest connection path found, and record the shortest path and the adjusted polygons in the storage sequence S.

[0123] (2-1-3-2-1-1-1-1-3-1-2) jumps to (2-1-3-2-1-1-1-1-2) to start execution.

[0124] (2-1-3-2-1-1-1-1-3-2) No:

[0125] (2-1-3-2-1-1-1-1-3-2-1) jumps to (2-1-3-2-1-2-1) to start execution.

[0126] (2-1-3-2-1-1-1-2) No:

[0127] (2-1-3-2-1-1-1-2-1) Use the same area segment comparison search and sequence adjustment module to output the adjustment sequence and store it in the storage sequence S.

[0128] (2-1-3-2-1-1-1-2-2) jumps to (2-1-3-2-1-2-1) to start execution.

[0129] (2-1-3-2-1-2) No:

[0130] (2-1-3-2-1-2-1) Determine whether there is a polygon in the temporary sequence T:

[0131] (2-1-3-2-1-2-1-1) is:

[0132] (2-1-3-2-1-2-1-1-1) Use the update starting point to traverse all polygons in the temporary sequence T using the cross-region shortest path generation and polygon order adjustment module, find the point of the shortest connection path and the polygon where it is located within the safety boundary, update the temporary sequence T, update the update starting point to the point of the shortest connection path found, use the path concave point processing module to output the processing sequence and record it in the storage sequence S, and then use it as the shrinkage boundary.

[0133] (2-1-3-2-1-2-1-2) No:

[0134] (2-1-3-2-1-2-1-2-1) Determine whether the storage sequence S has a point record:

[0135] (2-1-3-2-1-2-1-2-1-1) is:

[0136] (2-1-3-2-1-2-1-2-1-1-1) Use the turning path generation module to generate a path output containing turning methods.

[0137] (2-1-3-2-1-2-1-2-1-1-2)end.

[0138] (2-1-3-2-1-2-1-2-1-2) No:

[0139] (2-1-3-2-1-2-1-2-1-2-1)End.

[0140] Complete the entire process and output the route with turning methods.

[0141] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.

[0142] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art can still modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein by equivalents. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for planning a full coverage path in a farmland, characterized in that: The following steps are involved: S100: Setting the planning boundary connected by the position coordinates of the vertices of the irregular polygonal farmland, the width d of the agricultural machinery and implements, the operation starting point, the clockwise and counterclockwise direction of the operation, the comparison search and order adjustment rules of line segments in the same area, the generation of the shortest path across areas and the polygon order adjustment rules; The comparison search and order adjustment rules of the line segments in the same area are as follows: the upper-level polygon corresponding to the polygon generated by the indentation is used as the boundary range, and the starting point of the upper-level polygon is used as the set starting point; If a polygon is generated by indentation, connect the set starting point and each point of the generated polygon in sequence. If the connected line segment is within the boundary range, record the length of the line segment, otherwise do not record it. Find the point of the line segment with the shortest distance, use this point as the update starting point, and then adjust the forward and reverse directions of the generated polygon according to the set order and output it; If multiple polygons are generated by indentation, all the boundary points of the generated polygons are connected to the set starting point in sequence. If the connected line segment is within the indentation boundary, the line segment length is recorded, otherwise it is not recorded. The point that forms the shortest line segment is found and used as the update starting point. The polygon corresponding to the update starting point is used as the current output polygon. Then the generated polygons are adjusted in the forward and reverse directions according to the set order and then output. Other polygons are output at the end. The cross-region shortest path generation and polygon order adjustment rules are as follows: the starting point of the polygon that has been output and cannot be retracted is used as the set starting point, one or more polygons in the last batch of polygons output later are used as target polygons, and the upper-level polygon corresponding to the target polygon is used as the boundary range; The starting point, the points of the boundary range and the points of the target polygon are set to form a point sequence in the clockwise and counterclockwise direction of the operation. The first point of the sequence is connected with the second point in turn until the first point is connected with the last point. The first point is deleted and the above steps are repeated until all the points in the sequence are traversed. If the generated line segment is within the boundary range, its line segment length is recorded, otherwise it is not recorded, and a new distance set is formed; Use Dijkstra algorithm. If there is a target polygon, determine the shortest path from the starting point to the target polygon within the safety boundary based on the generated distance set. If there are multiple target polygons, use the target polygon corresponding to the end point of the shortest path as the polygon currently being output, and use the end point of the shortest path as the starting point of the polygon currently being output. Then adjust the generated polygons in the set order in the forward and reverse directions before outputting them, and output other polygons at the end. S200: Taking the planning boundary as the boundary range, shrinking inwards by 1 / 2d in parallel, and judging whether a polygon is successfully generated, if yes, proceed to S300, otherwise the planning is terminated; S300: Continue to shrink inwards in parallel d, and determine whether one or more polygons are successfully generated. If yes, go to S400, otherwise go to S500; S400: If a polygon is generated, directly enter S300; If multiple polygons are generated, the polygon to be currently output is determined according to the same area line segment comparison search and order adjustment rules, and the other polygons are output later, and the process goes to S300; S500: Continue to shrink inwards in parallel by 1 / 2d, and determine whether one or more polygons are successfully generated. If yes, proceed to S600, otherwise proceed to S700; S600: If a polygon is generated, directly enter S800; If multiple polygons are generated, the polygon to be currently output is determined according to the same area line segment comparison search and order adjustment rules, and the other polygons are output later, and then the process goes to S800; S700: Determine whether the polygons of the previous level are one or more polygons generated by the parallel indentation d. If yes, proceed to S600. Otherwise, the planning is terminated. S800: The polygon generated at this time is a polygon that cannot be retracted any further. According to the cross-region shortest path generation and polygon order adjustment rules, the next polygon to be output and the shortest planned path from the starting point of the polygon that cannot be retracted any further to the next polygon to be output are found, and S300 is entered based on the next polygon to be output; Until the next polygon to be output cannot be found, the starting point of the polygon generated at this time is taken as the end point; The output contains the complete planned path from the start point to the end point.

2. A method for planning a farmland internal rotation full coverage path according to claim 1, characterized in that: The concave points of the new polygon generated by each indentation are processed as follows: The polygon generated by the indentation is taken as the processing object, and the upper-level polygon corresponding to the indented polygon is taken as the boundary range. All the concave points of the indented polygon are selected to generate a point set, and the two adjacent points of each concave point are found and connected to the travel line segment. If the line segment is within the boundary range, the concave point is deleted. The above operation is repeated to delete all the concave points that may be deleted. Finally, a new polygon composed of coordinate points that does not contain the deleted concave points is generated to replace the indented polygon for subsequent path planning.

3. A method for planning a farmland internal rotation full coverage path according to claim 1, characterized in that: The generated turning path is processed as follows: Set the starting point a of the first edge, the turning point b, the end point c of the second edge, extend the line segment ab, and compare whether the angle between the extended line and the line segment bc is greater than the set angle. If it is less, do not set the turning method. If it is greater, continue to set the turning method. The turning method of continuing to set is: Set the distance of line segment ab to L2, the distance of line segment bc to L1, and take the smaller one L=min(L1, L2). The other side also takes a point at a distance L from the turning point, connects this point with the point of the extension L of the other side, and then takes the middle point as point d, and calculates the unit direction vector from the turning point b to point d. Calculate the radius of the arc using the relationship between angles The distance from the turning point to the center of the circle is Ld = sqrt(L 2 +R 2 ), and then use the formula O=B+P*Ld to calculate the center position of the circle, and finally determine the angle between the circle and the two tangent points, take a section of the arc close to point b, and then connect the tangent points f1 and f2. The arc part generates a sequence of points at the set degree interval and outputs it as the turning path.

4. A method for planning a farmland internal rotation full coverage path according to claim 1, characterized in that: The rules for parallel indentation are as follows: Calculate the angle bisectors of all the inner angles of the polygon to be indented, and then determine a point on the angle bisector so that its distance to the lines on both sides of the angle is d_set. After calculating all the points that are translated inward, connect the points in order to form a point sequence. If a point where a translation line segment intersects another translation line segment appears during the process of connecting translation points, the point is added to the middle of the translation point sequence on both sides of the intersecting translation line segment to generate a new point sequence. Then the shortest distance between all points and the indented boundary is determined, and the points whose shortest distance to the indented boundary is not equal to d_set are eliminated, as well as the points before and after which are repeated. If there is no point that meets the conditions at this time, return. If there is, continue. Finally, all points are connected in sequence to form one or more closed polygons. If multiple polygons are formed, the lines connecting the polygons are disconnected.

5. An application of a method for planning a path for full coverage of farmland internal rotation, characterized in that: A method for planning a path for full internal coverage of a farmland as described in any one of claims 1 to 4 is run for planning a path for full internal coverage of a farmland.

6. An automatic driving agricultural machine, characterized in that: include: Memory for storing computer programs; A processor, used to implement the farmland internal rotation full coverage path planning method as described in any one of claims 1 to 4 when executing the computer program.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for planning a path for full coverage of the internal rotation of a farmland as described in any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Particle swarm algorithm-based robot path planning method, device and terminal device

    CN108645411A

  • Agricultural machine coverage path planning method

    CN113686344A

  • Polygonal farmland operation path planning algorithm based on ordered side table method

    CN116255994A

  • Multi-machine cooperative path planning method and system for multiple entrances and exits in farmland

    CN118428570A

  • Path planning method and system for automatic operation of agricultural machinery, and device and storage medium

    WO2023207022A1

Cited By

  • Method and device for determining field main operation direction of agricultural machine

    CN120765730A

  • Method and device for planning operation path of agricultural machine

    CN121187301A