A method and application of farmland inward rotation full coverage path planning

Through the full coverage path planning method of farmland internal rotation, the problem of path planning applicability of irregularly contoured plots is solved, and efficient and less turning agricultural machinery operation paths are generated, which improves agricultural machinery operation efficiency.

CN119469161BActive Publication Date: 2025-08-26SHANGHAI ALLYNAV TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411671658.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-08-26
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 efficiency of agricultural machinery operation.

Method used

The full coverage path planning method of farmland intra-rotation is adopted, and the farmland vertex coordinates, farm tool width, operation direction and polygon adjustment rules are set, and the shortest path is generated in combination with the Dijkstra algorithm, and the turning path is optimized to deal with the path planning of irregularly contoured plots.

Benefits of technology

It improves the adaptability to 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 CN119469161B_ABST
    Figure CN119469161B_ABST
Patent Text Reader

Abstract

The present invention belongs to the category of vehicle path planning technology, and mainly relates to the field of agricultural vehicle path planning, and in particular to a method and application of full-coverage path planning for inward rotation of farmland. The present invention provides a method for planning agricultural machinery operation paths 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 starting position of the agricultural machinery, and the width of the agricultural implement during agricultural machinery operation. The present invention fully considers the requirements of actual agricultural operations for paths, 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 at the same time, which can generate a high-coverage, less-turning agricultural machinery operation path within a reasonable time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to vehicle path planning technology, primarily in the field of agricultural machinery path planning, and more particularly to a method and application for planning a path for full coverage of inward rotation in a farmland. This invention is primarily used in the field of autonomous driving for agricultural machinery, for planning the operating paths of agricultural machinery. Background Art

[0002] Vehicle path planning is a key step in achieving autonomous navigation for self-driving vehicles. In autonomous agricultural machinery navigation systems, a global operating path must be generated based on farmland boundary information. This serves as input to the control layer to guide agricultural machinery operations. Therefore, generating an efficient operating path is a crucial prerequisite for achieving autonomous agricultural machinery operations.

[0003] Existing farmland path planning methods are 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. Current geometric processing mostly uses 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, resulting in the generation of a large number of useless paths. Intelligent processing refers to the use of technologies such as artificial intelligence and machine learning to solve farmland path planning problems, in order to achieve more intelligent and adaptive path planning solutions. However, this method has high hardware performance requirements and cannot meet the 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 full-coverage path in a farmland includes the following steps:

[0007] S100: Setting the planning boundary for connecting 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 directions of the operation, the comparison and search of line segments in the same area and the order adjustment rules, 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 polygon of the upper level corresponding to the polygon generated by the indentation is used as the boundary range, and the starting point of the polygon of the upper level is used as the set starting point;

[0009] If a polygon is generated by indentation, the set starting point and each point of the generated polygon are connected in sequence. If the connected line segment is within the boundary, the line segment length is recorded; otherwise, it is not recorded. The point with the shortest generated line segment is found and used as the updated starting point. The generated polygon is then adjusted in the clockwise and counterclockwise direction according to the set order and then output. The set order refers to the set operation in the 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 clockwise and counterclockwise directions according to the set order and then output. Other polygons will be output later. The set order refers to the set operation in the 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, the last batch of one or more polygons outputted later are used as the target polygon, and the polygon of the previous level corresponding to the target polygon is used as the boundary range;

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

[0013] Using the Dijkstra algorithm, if there is a target polygon, a shortest path from the starting point to the target polygon within the safety boundary is determined based on the generated distance set. 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. The generated polygons are then adjusted in the set order, and then output in the clockwise and counterclockwise direction, with the remaining polygons output at the end. The set order refers to the set operation in the clockwise and counterclockwise direction.

[0014] S200: Taking the planning boundary as the boundary range, shrink inward parallel to 1 / 2d to determine whether a polygon is successfully generated. If so, proceed to S300; otherwise, the planning is terminated.

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

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

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

[0018] S500: Continue to shrink inward 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 outputted is determined according to the same-area line segment comparison search and order adjustment rules, and the other polygons are outputted later, and the process proceeds 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 further retracted. According to the above-mentioned 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 further retracted to the next polygon to be output are found. The next polygon to be output is used as the basis for entering 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 each time 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. The two adjacent points of each concave point are found and the travel line segment is connected. 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 consisting of the coordinate points that do 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 line segment ab, and compare whether the angle between the extended line and 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 mode of continuing to be set is:

[0029] Set the distance of line segment ab to L2 and the distance of line segment bc to L1, and take the smaller one L = min(L1, L2). Also take a point L from the turning point on the other side, connect this point with the point of the extension L of the other side, and then take the middle point as point d, and calculate the unit direction vector from the turning point b to point d. Calculate the radius of an 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. Finally, determine the angle between the circle and the two tangent points. Take the arc section close to point b, and then connect the tangent points f1 and f2. The arc section 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 interior angles of the polygon to be indented, then determine a point on the angle bisector so that its distance from the lines on both sides of the angle is d_set. After calculating all the points that need to be translated inward, connect them in order to form a point sequence.

[0032] If a point intersects another translation line segment during the connection process of translation points, then add the point to the middle of the translation point sequence on both sides of the intersecting translation segment to generate a new point sequence. Then determine the shortest distance between all points and the indentation boundary, remove points whose shortest distance to the indentation 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. Finally, connect all points in sequence to form one or more closed polygons. If multiple polygons are formed, disconnect the lines connecting the polygons.

[0033] 5. An application of a method for planning a path for full coverage of an inward rotation of a farmland, running any of the aforementioned methods for planning a path for full coverage of an inward rotation of a farmland, 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 the farmland inward rotation full coverage path planning method as described in any of the above items.

[0038] Compared with the existing technology, 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 do not optimize the contour concave points, 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 location and the width of the agricultural implement during agricultural machinery operation. The present invention fully considers the order relationship of actual agricultural operations to path generation, 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, which can generate a high-coverage, low-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 according to an embodiment of the present invention;

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

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

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

[0044] Figure 5 This is a schematic diagram of a point sequence in which multiple polygons are generated inwardly and intermediate points are 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 diagram showing the comparison, search, and order adjustment of line segments in the same area when only one polygon is generated.

[0048] Figure 9 Schematic diagram of the method for comparing and searching line segments in the same area and adjusting their order in order to generate multiple polygons;

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

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

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

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

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

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

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

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

[0057] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. 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 making creative efforts 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 land boundary.

[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 drone obtains the position coordinates of the vertices of the irregular polygonal farmland to be operated one by one, uses 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 directions of the operation.

[0063] S102, a parallel line shrinking module: used to shrink the set polygon boundary inward by a set parallel 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, the points are connected in sequence.

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

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

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

[0070] For 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] For example: Figure 5The shortest distances from midpoints B, C, and D to the boundary are not equal to d_set, so these three points are deleted from the sequence to form a new sequence: {A, O1, O1, O2, O3, E, F, O3, O2}. 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] For 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

[15] , set the starting point to P_start, the safety boundary to the sequence {P_0, P_1, P_2, P_3, P_4, P_5}, and the target polygon to the sequence {O1, O2, A}, {O3, E, F}. Add the starting point before the boundary point sequence and the target polygon sequence after it, forming 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 in the sequence to the second point in turn, until the first point is connected to the last point. Then, connect the first point to the points on the target polygon. If the resulting line segment exceeds the set boundary, mark the distance of the line segment as infinite (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 in the point sequence and repeat the above steps until all points in the sequence have been traversed. Through these 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, using the Dijkstra algorithm, based on the generated set of distance points, we determine the shortest path from the starting point to the target polygon within the safety boundary, as well as the shortest distance point. The Dijkstra algorithm progressively selects the node with the smallest distance and updates the distances of adjacent nodes, ultimately finding the shortest path from the starting point to the target polygon. For the nearest point (O1), its polygon is reordered, placing its polygon first and outputting the shortest path sequence: {P_start, O1}; the adjusted sequence: {O1, O2, A}, {O3, E, F}.

[0080] S104, same area line segment comparison search and sequence adjustment module: adjusts the order of generating polygons and storage locations according to the set starting point and indentation boundary and the clockwise or counterclockwise direction 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 updated starting point, and then adjust the generated forward and reverse direction output according to the set order.

[0082] For example: Figure 8 Assume that the starting point is P_0 and the boundary is the outer polygon. Connect points P_0 and P_A to form line segment P_0P_A. Check whether line segment P_0P_A is within the boundary. If it is, record it. Then traverse from point P_B to point P_E. Line segments P_0P_E and P_0P_D are outside the boundary and are not recorded. Among the recorded line segments, line segment P_0P_B is the shortest, so use P_B as the starting point and adjust the 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 place 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] For example: Figure 9 As shown, two polygons will be generated. Assume that the starting point is set to P_0 and the boundary is set to the outer polygon. 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 first. The following setting is counterclockwise output: {O1, O2, A}, {O3, E, F};

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

[0086] The specific implementation is as follows: Figure 10 As shown, enter the starting point a of the first edge, the turning point b, and the end point c of the second edge. Extend line segment ab and compare the angle between its extension and line segment bc to see if it is greater than the set angle. If it is, no turning method is set; if it is, the turning method is still set. Because forward and reverse turning performance vary depending on the performance of agricultural machinery and the operating environment, the forward distance of line segment ab is set to L2, and the forward distance of line segment bc is set to L1. This allows for adaptability to different farmland and agricultural machinery. The smaller of these two is L = min(L1, L2).

[0087] like Figure 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 Figure 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 Figure 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 shown in Figure 14 As shown, take a section of the arc close to point b, then connect the tangent points f1 and f2, and generate a sequence of points output according to the set degree interval (generate a point every 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 usage efficiency.

[0090] The specific implementation is as follows: Figure 15 As shown, the path points and boundary points are input, and 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. 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. 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) A polygon will be generated as the indentation boundary.

[0097] (2-1-3) Use the parallel line indentation module to indent 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 multiple polygons are generated:

[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. Use the processing sequence as the indentation boundary and record it in the storage sequence S. Then delete the first polygon of the temporary sequence T.

[0102] (2-1-3-1-1-1-2) Use the parallel line indentation module to indent the boundary parallel 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 indent the boundary 1 / 2d inward and 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 multiple polygons are generated:

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

[0118] (2-1-3-2-1-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 final-level sequence F.

[0119] (2-1-3-2-1-1-1-1-2) Record the first polygon of the last-level sequence F in the storage sequence S, and then delete the first polygon of the last-level 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 updated 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 point of the shortest connection path and the polygon where it is located 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 polygon 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 updated 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 updated 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 indentation 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 a route with turn-by-turn methods.

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

[0142] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are 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 will be able to modify the technical solutions described in the aforementioned embodiments or substitute equivalents for some of the technical features. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the scope of protection 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 for connecting 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 directions of the operation, the comparison and search of line segments in the same area and the order adjustment rules, 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 polygon of the upper level corresponding to the polygon generated by the indentation is used as the boundary range, and the starting point of the polygon of the upper level 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 line segment length; otherwise, do not record it. Find the point with the shortest generated line segment and use it as the updated starting point. Then adjust the generated polygon in the forward and reverse directions according to the set order and output it. If multiple polygons are generated by indentation, all 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 forming 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 polygon to be output. Then, the generated polygons are adjusted in the forward and reverse directions according to the set order and output, and the 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, the last batch of one or more polygons outputted later are used as the target polygon, and the polygon of the previous level corresponding to the target polygon is used as the boundary range; The starting point, the boundary points, and the target polygon points are arranged in a clockwise and counterclockwise direction to form a point sequence. The first point in the sequence is connected to the second point in turn, until the first point is connected to the last point. The first point is deleted and the above steps are repeated until all points in the sequence are traversed. If the generated line segment is within the boundary, its length is recorded; otherwise, it is not recorded, forming a new distance set. Using the Dijkstra algorithm, if there is a target polygon, based on the generated distance set, determine the 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, the generated polygons are adjusted in the forward and reverse directions according to the set order and output, and the other polygons are output at the end. S200: Taking the planning boundary as the boundary range, shrink inward parallel to 1 / 2d to determine whether a polygon is successfully generated. If so, proceed to S300; otherwise, the planning is terminated. S300: Continue to shrink inward parallel to d, and determine whether one or more polygons are successfully generated. If yes, proceed to S400, otherwise proceed to S500; S400: If a polygon is generated, directly enter S300; If multiple polygons are generated, the polygon to be outputted is determined according to the same-area line segment comparison search and order adjustment rules, and the other polygons are outputted later, and the process proceeds to S300; S500: Continue to shrink inward 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 outputted is determined according to the same-area line segment comparison search and order adjustment rules, and the other polygons are outputted later, and the process proceeds 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 further retracted. 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 further retracted to the next polygon to be output are found, and the process proceeds to S300 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 used 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 path for full coverage of an inward rotation of a farmland according to claim 1, characterized in that: The following processing is performed on the concave points of the polygon generated by each indentation in any one of S200, S300 or S500: 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. The two adjacent points of each concave point are found and connected to form a 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 consisting of the coordinate points that do not contain the deleted concave points is generated to replace the indented polygon for subsequent path planning.

3. A method for planning a path for full coverage of an inward rotation of a farmland according to claim 1, characterized in that: The turning points of the complete planned path outputted in step S800 are 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 line segment ab, and compare whether the angle between the extended line and 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 mode of continuing to be set is: Set the distance of line segment ab to L2 and the distance of line segment bc to L1, and take the smaller one L = min(L1, L2). Also take a point L from the turning point on the other side, connect this point with the point of the extension L of the other side, and then take the middle point as point d, and calculate the unit direction vector from the turning point b to point d. Calculate the radius of an 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 ), 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 the arc section on the side close to point b, and then connect the tangent points f1 and f2. The arc section is generated at a set degree interval to generate a sequence of points as the output as the turning path; α is the angle between the extension of line segment ab and line segment bc.

4. A method for planning a path for full coverage of an inward rotation of a farmland according to claim 1, characterized in that: The rules for parallel indentation of any of S200, S300 or S500 are as follows: Calculate the angle bisectors of all interior angles of the polygon to be indented, then determine a point on the angle bisector so that its distance from the lines on both sides of the angle is d_set. After calculating all the points that need to be translated inward, connect them in order to form a point sequence. If a point intersects another translation line segment during the connection process of translation points, then add the point to the middle of the translation point sequence on both sides of the intersecting translation segment to generate a new point sequence. Then determine the shortest distance between all points and the indentation boundary, remove points whose shortest distance to the indentation 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. Finally, connect all points in sequence to form one or more closed polygons. If multiple polygons are formed, disconnect the lines connecting the polygons.

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

6. An automatic driving agricultural machine, characterized in that: include: Memory for storing computer programs; A processor is used to implement the farmland inward 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 an inward 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