Mowing robot, method and device for planning a full-area coverage path, terminal and medium
By setting virtual boundary lines and a path planning method along the long axis of a bow shape in the lawnmower, the problems of low coverage and high repetition rate of lawnmowers in complex environments are solved, achieving efficient full-area coverage.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN HUA XIN INFORMATION TECH CO LTD
- Filing Date
- 2023-10-16
- Publication Date
- 2026-07-10
AI Technical Summary
Existing path planning algorithms for lawnmower robots have low coverage and high repetition rates in complex environments, resulting in low efficiency and an inability to achieve full-area coverage.
By setting virtual boundary lines to abstract the environment map, the direction of the long axis of the bow shape is determined and the mowing area is rotated to divide it into sub-regions. Then, based on the NAVFN algorithm, the paths are connected to generate a full-area coverage path.
It achieves high coverage and low repetition rate in complex graphic areas, improving the path planning efficiency of lawnmower robots.
Smart Images

Figure CN117369446B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of lawn mowing robots, and in particular to a method, apparatus, terminal, and medium for full-area coverage path planning for lawn mowing robots. Background Technology
[0002] Outdoor lawnmowers operate in complex and varied outdoor environments. Lawns vary in size and shape, and there are various obstacles such as flower beds, trees, and ponds. The path planning algorithm is a crucial component of the lawnmower. Currently, the mainstream path planning methods for lawnmowers include random and spiral approaches. Due to the ease of implementation and low cost of random path planning algorithms, most intelligent lawnmowers currently use random path planning algorithms. However, using only random coverage methods or internal / external spiral path planning algorithms results in low coverage and high repetition rates. This path planning method is time-consuming, labor-intensive, and extremely inefficient, failing to achieve the goal of comprehensive and orderly lawnmowing by intelligent lawnmowers.
[0003] Especially when it comes to path planning in complex terrain, existing planning algorithms cannot cover the entire area of complex terrain, resulting in low coverage and high repetition, which greatly reduces the efficiency of path planning. Summary of the Invention
[0004] In view of the shortcomings of the prior art described above, the purpose of this invention is to provide a method, device, terminal and medium for full-area coverage path planning of a lawnmower robot, so as to solve the above-mentioned problems of the prior art.
[0005] To achieve the above and other related objectives, this invention provides a full-area coverage path planning method for a lawnmower robot. The method includes: setting virtual boundary lines for one or more target lawnmower areas to abstract an environmental map; wherein the virtual boundary lines contain multiple boundary points; determining the bow-shaped major axis direction for each target lawnmower area and rotating each target lawnmower area based on the corresponding bow-shaped major axis direction; dividing one or more target lawnmower areas into one or more sub-regions based on the boundary points of each rotated target lawnmower area; performing path planning for each target lawnmower area (both undivided and divided) based on the bow-shaped major axis direction of each target lawnmower area to obtain a bow-shaped path for each target lawnmower area; and connecting the bow-shaped paths of each target lawnmower area based on the NAVFN algorithm to obtain a full-area coverage path corresponding to the environmental map.
[0006] In one embodiment of the present invention, the method for determining the long axis direction of the bow shape for each target mowing area includes: generating the convex hull of the region corresponding to each target mowing area, and selecting the longest side of each region convex hull as the long axis direction of the bow shape for each target mowing area.
[0007] In one embodiment of the present invention, each target mowing area is rotated so that its respective long axis of the bow is parallel to the horizontal direction.
[0008] In one embodiment of the present invention, dividing one or more target mowing areas into one or more sub-regions based on the boundary points of each rotated target mowing area includes: arranging the boundary points of each target mowing area, excluding the boundary points of the first and last rows, in rows according to their vertical values in their respective vertical directions; wherein each row corresponds to a vertical value; deleting duplicate boundary points in the same row of each target mowing area, and retaining only one boundary point in each row to obtain the corresponding boundary point row arrangement; and performing a region segmentation process on each target mowing area using horizontal straight lines based on the boundary point row arrangement of each target mowing area, so as to divide one or more target mowing areas into one or more sub-regions respectively.
[0009] In one embodiment of the present invention, the region segmentation process includes: taking horizontal lines sequentially based on the vertical values corresponding to each row of the target mowing area, and performing a scanning and segmentation process on each row of the target mowing area using each horizontal line according to the corresponding boundary point row arrangement; wherein, the scanning and segmentation process includes: scanning the target mowing area using the horizontal line of the current row, calculating the number of intersections between the horizontal line of the current row and the target mowing area, and simultaneously determining whether the number of intersections between the horizontal line of the current row and the target mowing area is different from the number of intersections between the horizontal line of the previous row and the target mowing area; when the number of intersections is different, segmenting the target mowing area using the horizontal line of the current row, and continuing to execute the scanning and segmentation process of the next row after segmentation; when the number of intersections is the same, executing the scanning and segmentation process of the next row.
[0010] In one embodiment of the present invention, based on the long axis direction of the bow shape of each target mowing area, path planning is performed on each target mowing area that has not been segmented and each target mowing area that has been segmented, to obtain the bow shape path of each target mowing area. This includes: generating a raster map and planning a bow shape route for each target mowing area that has not been segmented and for each target mowing area that has been segmented, based on the corresponding long axis direction of the bow shape, to obtain the bow shape path of each target mowing area.
[0011] In one embodiment of the present invention, the method for generating a raster map and planning a zigzag route for a target mowing area that is segmented into regions includes: generating a raster map for each sub-region of the target mowing area that is segmented into regions; wherein the grid side length of the generated raster map is half of the set zigzag interval; based on the zigzag major axis direction of the target mowing area, generating zigzag routes sequentially according to the raster map corresponding to each sub-region at the set zigzag interval to obtain the zigzag path of each sub-region; and connecting the zigzag paths of each sub-region based on the NAVFN algorithm to obtain the zigzag path of the corresponding target mowing area.
[0012] To achieve the above and other related objectives, the present invention provides a full-area coverage path planning device for a lawnmower robot. The device includes: an environment map abstraction module, used to set virtual boundary lines for one or more target lawnmower areas to abstract an environment map; wherein the virtual boundary lines contain multiple boundary points; a bow-shaped major axis direction determination module, connected to the environment map abstraction module, used to determine the bow-shaped major axis direction for each target lawnmower area, and rotate each target lawnmower area based on the corresponding bow-shaped major axis direction; and a partitioning module, connected to the bow-shaped major axis direction determination module, used to partition the area based on the rotation... The boundary points of each target mowing area after transformation divide one or more target mowing areas into one or more sub-regions; the path planning module, connected to the partitioning module, performs path planning for each target mowing area without region segmentation and each target mowing area with region segmentation based on the long axis direction of the bow shape of each target mowing area, to obtain the bow-shaped path of each target mowing area; the full-area coverage path generation module, connected to the path planning module, is used to connect the bow-shaped paths of each target mowing area based on the NAVFN algorithm to obtain the full-area coverage path corresponding to the environment map.
[0013] To achieve the above and other related objectives, the present invention provides a full-area coverage path planning terminal for a lawnmower robot, comprising: one or more memory units and one or more processor units; the one or more memory units are used to store a computer program; the one or more processor units are connected to the memory units and are used to run the computer program to execute the full-area coverage path planning method for the lawnmower robot.
[0014] To achieve the above and other related objectives, the present invention provides a computer-readable storage medium storing a computer program that, when executed by one or more processors, performs the full-area coverage path planning method for the lawnmower robot.
[0015] As described above, this invention provides a method, apparatus, terminal, and medium for full-area coverage path planning for a lawnmower robot, offering the following advantages: This invention abstracts an environmental map by setting virtual boundary lines for one or more target lawnmower areas, determines the long axis direction of the "bow" shape for each target lawnmower area, and rotates each target lawnmower area. Based on the boundary points of the rotated target lawnmower areas, the one or more target lawnmower areas are divided into one or more sub-regions. Path planning is performed for each target lawnmower area based on its long axis direction of the "bow" shape, and then, based on the NAVFN algorithm, the "bow" paths of each target lawnmower area are connected to obtain the full-area coverage path corresponding to the environmental map. This invention can achieve full-area coverage path planning, maintaining high coverage even in complex graphic lawnmower areas, with low repetition rate, significantly increasing the path planning efficiency of the lawnmower robot. Attached Figure Description
[0016] Figure 1 The diagram shows a flowchart of a full-area coverage path planning method for a lawnmower robot according to an embodiment of the present invention.
[0017] Figure 2 The diagram shown illustrates the direction of the long axis of a non-convex structure resembling an arc in one embodiment of the present invention.
[0018] Figure 3 The diagram shown illustrates the direction of the long axis of a non-convex structure resembling an arc in one embodiment of the present invention.
[0019] Figure 4 The diagram shown is a flowchart illustrating the region segmentation process for each target mowing area in one embodiment of the present invention.
[0020] Figure 5 This is displayed as an abstract environment map in one embodiment of the present invention.
[0021] Figure 6 The diagram shown is a region segmentation map of the target mowing area in one embodiment of the present invention.
[0022] Figure 7 The diagram shows a bow-shaped path of the target mowing area in one embodiment of the present invention.
[0023] Figure 8 The diagram shows a bow-shaped path for all target mowing areas in one embodiment of the present invention.
[0024] Figure 9 The diagram shown is a schematic representation of the complete bow-shaped path in one embodiment of the present invention.
[0025] Figure 10 The diagram shown is a structural schematic of a full-area coverage path planning device for a lawnmower robot according to an embodiment of the present invention.
[0026] Figure 11 The diagram shown is a structural schematic of the full-area coverage path planning terminal of a lawnmower robot according to an embodiment of the present invention. Detailed Implementation
[0027] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that, unless otherwise specified, the following embodiments and features described therein can be combined with each other.
[0028] It should be noted that in the following description, reference is made to the accompanying drawings, which illustrate several embodiments of the invention. It should be understood that other embodiments may also be used, and changes in mechanical composition, structure, electrical system, and operation may be made without departing from the spirit and scope of the invention. The following detailed description should not be considered limiting, and the scope of the embodiments of the invention is defined only by the claims of the published patents. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. Spatially related terms, such as “upper,” “lower,” “left,” “right,” “below,” “below,” “lower part,” “above,” “upper part,” etc., may be used herein to illustrate the relationship between one element or feature shown in the figures and another element or feature.
[0029] Throughout this specification, when it is said that a part is "connected" to another part, this includes not only "direct connection" but also "indirect connection" by placing other elements in between. Furthermore, when it is said that a part "includes" a certain constituent element, unless otherwise stated otherwise, this does not exclude other constituent elements, but rather means that other constituent elements may also be included.
[0030] The terms "first," "second," and "third," etc., used herein are for the purpose of describing various parts, components, regions, layers, and / or segments, but are not limiting. These terms are used only to distinguish one part, component, region, layer, or segment from others. Therefore, the "first part," "component," "region," "layer," or "segment" described below may refer to a "second part," "component," "region," "layer," or "segment" without departing from the scope of this invention.
[0031] Furthermore, as used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It should be further understood that the terms “comprising,” “including,” indicate the presence of the stated feature, operation, element, component, item, kind, and / or group, but do not preclude the presence, occurrence, or addition of one or more other features, operations, elements, components, items, kinds, and / or groups. The terms “or” and “and / or” as used herein are interpreted as inclusive, or mean any one or any combination thereof. Thus, “A, B, or C” or “A, B, and / or C” means “any one of: A; B; C; A and B; A and C; B and C; A, B, and C.” Exceptions to this definition arise only when combinations of elements, functions, or operations are inherently mutually exclusive in some manner.
[0032] This invention discloses a full-area coverage path planning method for a lawnmower robot. It abstracts an environmental map by setting virtual boundary lines for one or more target lawnmower areas, determines the major axis direction of each target lawnmower area (e.g., a bow shape), and rotates each target lawnmower area. Based on the boundary points of the rotated target lawnmower areas, the one or more target lawnmower areas are divided into one or more sub-regions. Path planning is then performed for each target lawnmower area based on its major axis direction (e.g., the bow-shaped paths of each target lawnmower area are connected using the NAVFN algorithm) to obtain a full-area coverage path corresponding to the environmental map. This invention can achieve full-area coverage path planning, maintaining high coverage even in complex graphic lawnmower areas, with low repetition rate, significantly increasing the path planning efficiency of the lawnmower robot.
[0033] The present invention will now be described in detail with reference to the accompanying drawings, so that those skilled in the art can readily implement it. The present invention can be embodied in many different forms and is not limited to the embodiments described herein.
[0034] like Figure 1 This is a flowchart illustrating a full-area coverage path planning method for a lawnmower robot according to an embodiment of the present invention.
[0035] The method includes:
[0036] Step S1: Set virtual boundaries for one or more target mowing areas to abstract the environment map;
[0037] In detail, the virtual boundary line includes multiple boundary points.
[0038] In one embodiment, virtual boundary lines for each target mowing area are generated by setting multiple boundary points on the path planning interface, thereby generating each target mowing area on the interface and abstracting an environmental map containing each generated target mowing area. The path planning interface has mutually perpendicular horizontal and vertical directions, and each point on the interface corresponds to a horizontal and a vertical value.
[0039] In one embodiment, a channel connecting each target mowing area is also set on the path planning interface.
[0040] Step S2: Determine the long axis direction of the bow shape for each target mowing area, and rotate each target mowing area based on the corresponding long axis direction of the bow shape.
[0041] In one embodiment, the planning of complex graphic lawn mowing areas with non-convex structures is typically as follows: Figure 2 If you choose as Figure 2 The indicated direction will not cover the entire area, but observation reveals that choosing the appropriate direction can still meet the coverage requirements, such as... Figure 3 Furthermore, considering the efficiency of the bow-shaped path, it is desirable to have the longest axis of the bow-shaped path and the fewest turns; therefore, determining the direction of the long axis of the bow is very important for path planning.
[0042] Therefore, the method for determining the long axis direction of the bow shape for each target mowing area includes: generating the convex hull of the region corresponding to each target mowing area, and selecting the longest side of each region's convex hull as the long axis direction of the bow shape for each target mowing area.
[0043] In geometry, the convex hull, convex envelope, or convex closure of a shape is the minimal convex set containing it. The convex hull can be defined as the intersection of all convex sets containing a given subset of Euclidean space, or equivalently as the set of all combinations of convex points within the subset. For a bounded subset of a plane, the convex hull can be visualized as a shape enclosed by a rubber band stretched around the subset.
[0044] Specifically, for a target mowing region that does not have a non-convex structure, the entire graphic is treated as the convex hull of the entire region; for a target mowing region that does not have a non-convex structure, a region convex hull is generated for all non-convex structures in the region graphic.
[0045] In one embodiment, for ease of processing, each target mowing area needs to be rotated so that its respective long axis of the bow is parallel to the horizontal direction.
[0046] Step S3: Based on the boundary points of each target mowing area after rotation, divide one or more target mowing areas into one or more sub-regions respectively.
[0047] In one embodiment, step S3 includes:
[0048] Step 1: Arrange the boundary points of each target mowing area, excluding the first and last row, in rows according to their vertical values in the vertical direction; where each row corresponds to one vertical value.
[0049] Specifically, for a target mowing area, the first and last row of boundary points (initial row and last row) of all boundary points on the virtual boundary line of the target mowing area are removed, and the remaining boundary points are arranged in rows along the vertical direction according to the vertical value of their respective vertical directions; boundary points in the same row correspond to the same vertical value.
[0050] Step 2: Delete duplicate boundary points in the same row within each target mowing area, keeping only one boundary point per row to obtain the corresponding boundary point row arrangement; specifically, if there are multiple boundary points in the same row, keep only one boundary point and delete the rest of the duplicate boundary points. The purpose of this step is to reduce the number of calculations, performing intersection calculation only once per row.
[0051] Step 3: Based on the row arrangement of boundary points of each target mowing area, perform a region segmentation process on each target mowing area using horizontal straight lines to divide one or more target mowing areas into one or more sub-regions.
[0052] In one specific embodiment, the region segmentation process includes:
[0053] Based on the vertical values corresponding to each row of the target mowing area, horizontal lines are sequentially taken, and the scanning and segmentation process is performed on each row of the target mowing area according to the corresponding boundary point rows.
[0054] The scanning and segmentation process includes:
[0055] The target mowing area is scanned using the horizontal line of the current row. The number of intersections between the horizontal line of the current row and the virtual boundary line of the target mowing area is calculated, and it is also determined whether the number of intersections between the horizontal line of the current row and the target mowing area is different from the number of intersections between the horizontal line of the previous row and the target mowing area.
[0056] When the number of intersections is different, the target mowing area is divided by the horizontal straight line of the current row, and the scanning and segmentation process of the next row continues after the segmentation.
[0057] If the number of intersections is the same, proceed with the scanning and segmentation process for the next row.
[0058] To better illustrate the method of dividing the target lawn mowing area into sub-regions, the following specific examples will be used as a reference. Figure 4A flowchart for dividing the lawn mowing area for each target area.
[0059] The steps include:
[0060] Step 1: Arrange the boundary points of the target mowing area, excluding the first and last rows, in rows according to the vertical value of each point in its vertical direction; where each row corresponds to one vertical value.
[0061] Step 2: Delete duplicate boundary points in the same row of the target mowing area, and keep only one boundary point in each row to obtain the corresponding boundary point row arrangement;
[0062] Step 3: Arrange the boundary points in order and take one row as the current row. Use the horizontal line of the current row to scan the target mowing area.
[0063] Step 4: Calculate the number of intersections between the horizontal line of the current row and the target mowing area;
[0064] Step 5: Simultaneously determine whether the number of intersections between the current horizontal line and the target mowing area is different from the number of intersections between the previous horizontal line and the target mowing area; if the number of intersections is different, proceed to step 6; if the number of intersections is the same, proceed to step 7.
[0065] Step 6: Divide the target mowing area using the horizontal straight line of the current row, and then proceed to Step 7;
[0066] Step 7: Determine if the current row is the last row of the boundary point row arrangement; if yes, set the current row to the next row and return to Step 3 to execute the scanning and segmentation process for the next row; if no, the segmentation process for the target grass-cutting area ends.
[0067] Step S4: Based on the long axis direction of the bow shape of each target mowing area, perform path planning for each target mowing area that has not been segmented and for each target mowing area that has been segmented, to obtain the bow-shaped path of each target mowing area.
[0068] In one embodiment, step S4: Based on the corresponding long axis direction of the bow shape, generate a raster map and plan a bow shape route for each target mowing area that has not been segmented and for each target mowing area that has been segmented, so as to obtain the bow shape path of each target mowing area.
[0069] In one specific embodiment, for each target mowing area that has not been segmented, we first generate a raster map for each target mowing area; wherein, the grid side length of the generated raster map is half of the set bow-shaped interval;
[0070] Based on the long axis direction of the bow shape of the target mowing area, bow-shaped routes are generated sequentially in the grid map corresponding to each target mowing area according to the set bow-shaped intervals, so as to obtain the bow-shaped paths of each target mowing area without area segmentation.
[0071] In one specific embodiment, for the target mowing area to be segmented, the method for generating a raster map and planning a zigzag route includes:
[0072] Raster maps are generated for each sub-region of the target mowing area to be segmented; the grid side length of the generated raster map is half of the set bow-shaped spacing.
[0073] Based on the long axis direction of the bow shape of the target mowing area, bow-shaped routes are generated sequentially according to the grid map corresponding to each sub-region at the set bow-shaped intervals to obtain the bow-shaped path of each sub-region.
[0074] Based on the NAVFN algorithm, the bow-shaped paths of each sub-region are connected to obtain the bow-shaped path of the corresponding target mowing area.
[0075] It should be noted that the specific method of using the NAVFN algorithm for connection is as follows:
[0076] The NavFN algorithm requires the generation of a cost map first, which is generated by dilating a raster image.
[0077] A weighted undirected graph is generated based on the cost map. Each cell in the cost map represents a node in the weighted undirected graph, and the cost value of each cell constitutes the weight of the edge in the weighted undirected graph.
[0078] Based on the weighted undirected graph, Dijkstra's algorithm is used to propagate from the starting point to the target point, and the optimal walking cost to each node during the propagation process is obtained.
[0079] Starting from the target point, find the optimal trajectory from the starting point by following the direction of the optimal walking cost gradient descent.
[0080] Step S5: Based on the NAVFN algorithm, connect the bow-shaped paths of each target mowing area to obtain the full-area coverage path corresponding to the environment map.
[0081] In one embodiment, channels connecting each target mowing area are set on the path planning interface. Based on the NAVFN algorithm, the bow-shaped paths of each target mowing area are connected to obtain the full-area coverage path corresponding to the environmental map. The method of connecting using the NAVFN algorithm is the same as the method of connecting using the NAVFN algorithm described above, and will not be repeated here.
[0082] To better illustrate the full-area coverage path planning method of the lawnmower robot described above, the present invention provides the following specific embodiments.
[0083] Example 1: A method for full-area coverage path planning for a lawnmower robot.
[0084] The method includes:
[0085] Step 1: The map information required for the lawnmower to operate is set by the user using a mobile app to control the device and establish virtual boundary lines. For example... Figure 5 This includes two planning areas and pathways connecting the discrete areas;
[0086] Step 2: Generate the convex hulls of two planning regions. Select the longest side of the convex hull of the planning region as the direction of the bow-shaped major axis. Rotate the two planning regions until their respective bow-shaped major axes are parallel to the horizontal direction.
[0087] Step 3: Divide the two areas into separate zones;
[0088] For example Figure 6 Methods for dividing a region into areas with a non-convex structure include:
[0089] 1. Sort the polygon boundary points (excluding the boundary points of the starting and ending rows) in the order shown in the figure from top to bottom and delete the duplicate points in the same row.
[0090] 2. Take a horizontal straight line and scan it from top to bottom according to the above arrangement, and record the number of intersections between the line and the figure.
[0091] 3. If the number of intersections between the current row and the previous row is different, then divide the graphic at this point.
[0092] 4. Continue to divide the remaining part according to the above rules.
[0093] Step 4: Based on the corresponding long axis direction of the bow shape, generate a raster map and plan the bow shape route for each target mowing area to obtain the bow shape path of each target mowing area;
[0094] The methods for generating raster maps of the planning areas that are divided into regions and for planning zigzag routes include:
[0095] Raster maps are generated for each sub-region of the planned area; the grid side length of the generated raster map is half of the set bow-shaped interval; based on the long axis direction of the bow shape of the planned area, bow-shaped routes are generated sequentially according to the raster maps corresponding to the set bow-shaped intervals in each sub-region to obtain the bow-shaped paths of each sub-region; based on the NAVFN algorithm, the bow-shaped paths of each sub-region are connected to obtain the bow-shaped path of the corresponding target lawn mowing area, such as... Figure 7 .
[0096] This gives us the bow-shaped paths within all regions, such as... Figure 8 As shown.
[0097] Step 5: Finally, the NAVFN algorithm is needed to connect all the zigzag paths to form a complete navigation path, such as... Figure 9 As shown.
[0098] Similar to the above embodiments, the present invention provides a full-area coverage path planning device for lawn mowing robots.
[0099] The following specific embodiments are provided in conjunction with the accompanying drawings:
[0100] like Figure 10 This is a schematic diagram illustrating the structure of a full-area coverage path planning device for a lawnmower robot according to an embodiment of the present invention.
[0101] The device includes:
[0102] The environment map abstraction module 1 is used to set virtual boundary lines for one or more target mowing areas to abstract an environment map; wherein, the virtual boundary lines contain multiple boundary points;
[0103] The bow-shaped long axis direction determination module 2 is connected to the environment map abstraction module 1 and is used to determine the bow-shaped long axis direction for each target mowing area and rotate each target mowing area based on the corresponding bow-shaped long axis direction.
[0104] Partitioning module 3, connected to the bow-shaped long axis direction determination module 2, is used to divide one or more target mowing areas into one or more sub-regions based on the boundary points of each target mowing area after rotation.
[0105] The path planning module 4, connected to the partitioning module 3, performs path planning for each target mowing area that has not been partitioned and for each target mowing area that has been partitioned, based on the long axis direction of the bow shape of each target mowing area, to obtain the bow-shaped path of each target mowing area.
[0106] The full-area coverage path generation module 5 is connected to the path planning module 4 and is used to connect the bow-shaped paths of each target grass-cutting area based on the NAVFN algorithm to obtain the full-area coverage path corresponding to the environmental map.
[0107] It should be noted that, as should be understood Figure 10The division of modules in the device embodiment is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, these modules can be implemented entirely in software via processing element calls; they can be implemented entirely in hardware; or some modules can be implemented by processing element calls to software, while others are implemented in hardware.
[0108] For example, each module can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). As another example, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together to form a system-on-a-chip (SOC).
[0109] Since the implementation principle of the full-area coverage path planning device of the lawnmower robot has been described in the previous embodiments, it will not be repeated here.
[0110] In one embodiment, the method for determining the long axis direction of the bow shape for each target mowing area includes: generating the convex hull of each target mowing area, and selecting the longest side of each convex hull as the long axis direction of the bow shape for each target mowing area.
[0111] In one embodiment, each target mowing area is rotated so that its respective long axis of the bow is parallel to the horizontal direction.
[0112] In one embodiment, dividing one or more target mowing areas into one or more sub-regions based on the boundary points of each rotated target mowing area includes: arranging the boundary points of each target mowing area, excluding the boundary points of the first and last rows, in rows according to their vertical values in their respective vertical directions; wherein each row corresponds to a vertical value; deleting duplicate boundary points in the same row of each target mowing area, and retaining only one boundary point in each row to obtain the corresponding boundary point row arrangement; and performing a region segmentation process on each target mowing area using horizontal straight lines based on the boundary point row arrangement of each target mowing area, so as to divide one or more target mowing areas into one or more sub-regions respectively.
[0113] In one embodiment, the region segmentation process includes: taking horizontal lines sequentially based on the vertical values corresponding to each row of the target mowing area, and performing a scanning and segmentation process on each row of the target mowing area using each horizontal line according to the corresponding boundary point row arrangement; wherein, the scanning and segmentation process includes: scanning the target mowing area using the horizontal line of the current row, calculating the number of intersections between the horizontal line of the current row and the target mowing area, and simultaneously determining whether the number of intersections between the horizontal line of the current row and the target mowing area is different from the number of intersections between the horizontal line of the previous row and the target mowing area; if the number of intersections is different, segmenting the target mowing area using the horizontal line of the current row, and continuing to execute the scanning and segmentation process of the next row after segmentation; if the number of intersections is the same, executing the scanning and segmentation process of the next row.
[0114] In one embodiment, based on the long axis direction of the bow shape of each target mowing area, path planning is performed on each target mowing area that has not been segmented and each target mowing area that has been segmented, to obtain the bow shape path of each target mowing area. This includes: generating a raster map and planning a bow shape route for each target mowing area that has not been segmented and for each target mowing area that has been segmented, based on the corresponding long axis direction of the bow shape, to obtain the bow shape path of each target mowing area.
[0115] In one embodiment, the method for generating a raster map and planning a zigzag path for a target mowing area that is being segmented includes: generating a raster map for each sub-region of the target mowing area; wherein the grid side length of the generated raster map is half of the set zigzag interval; based on the long axis direction of the zigzag path of the target mowing area, generating zigzag paths sequentially according to the raster map corresponding to each sub-region at the set zigzag interval to obtain the zigzag path of each sub-region; and connecting the zigzag paths of each sub-region based on the NAVFN algorithm to obtain the zigzag path of the corresponding target mowing area.
[0116] like Figure 11 A schematic diagram of the structure of the full-area coverage path planning terminal 100 of the lawnmower robot in an embodiment of the present invention is shown.
[0117] The lawnmower robot's full-area coverage path planning terminal 100 includes a memory 101 and a processor 102. The memory 101 stores computer programs; the processor 102 runs the computer programs to implement, for example... Figure 1 The method for full-area coverage path planning of the lawnmower robot.
[0118] Optionally, the number of memories 101 can be one or more, and the number of processors 102 can be one or more. Figure 11 Each example is taken as an instance.
[0119] Optionally, the processor 102 in the full-area coverage path planning terminal 100 of the lawnmower robot will follow the path as follows: Figure 1 The steps described involve loading one or more instructions corresponding to the process of an application into memory 101, and having the processor 102 run the application stored in the first memory 101, thereby achieving the following: Figure 1 The various functions in the full-area coverage path planning method of the lawnmower robot.
[0120] Optionally, the memory 101 may include, but is not limited to, high-speed random access memory and non-volatile memory. For example, one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices; the processor 102 may include, but is not limited to, a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0121] Optionally, the processor 102 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0122] The present invention also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed, implements as follows: Figure 1The illustrated method describes a full-area coverage path planning method for a lawnmower robot. The computer-readable storage medium may include, but is not limited to, floppy disks, optical disks, CD-ROMs (Read-Only Optical Disk Memory), magneto-optical disks, ROMs (Read-Only Memory), RAMs (Random Access Memory), EPROMs (Erasable Programmable Read-Only Memory), EEPROMs (Electrically Erasable Programmable Read-Only Memory), magnetic cards or optical cards, flash memory, or other types of media / machine-readable media suitable for storing machine-executable instructions. The computer-readable storage medium may be a product not connected to a computer device or a component used with a computer device.
[0123] In summary, the full-area coverage path planning method, device, terminal, and medium for lawnmower robots of the present invention abstracts an environmental map by setting virtual boundary lines of one or more target lawnmower areas, determines the long axis direction of the bow shape for each target lawnmower area, and rotates each target lawnmower area. Based on the boundary points of each rotated target lawnmower area, the one or more target lawnmower areas are divided into one or more sub-regions. Path planning is performed for each target lawnmower area based on the long axis direction of the bow shape, and then the bow-shaped paths of each target lawnmower area are connected based on the NAVFN algorithm to obtain the full-area coverage path corresponding to the environmental map. The present invention can achieve full-area coverage path planning, even when facing lawnmower areas with complex graphics, and has a high coverage rate and low repetition rate, greatly increasing the path planning efficiency of lawnmower robots. Therefore, the present invention effectively overcomes the various shortcomings of the prior art and has high industrial application value.
[0124] The above embodiments are merely illustrative of the principles and effects of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in the present invention should still be covered by the claims of the present invention.
Claims
1. A method for full-area coverage path planning for a lawnmower robot, characterized in that, The method includes: Set virtual boundary lines for one or more target mowing areas to abstract an environment map; wherein, the virtual boundary lines contain multiple boundary points; Determine the long axis direction of the bow shape for each target mowing area, and rotate each target mowing area based on the corresponding long axis direction of the bow shape; Based on the boundary points of each target mowing region after rotation, one or more target mowing regions are divided into one or more sub-regions. Based on the long axis of the bow shape of each target mowing area, path planning is performed for each target mowing area that has not been segmented and for each target mowing area that has been segmented, to obtain the bow-shaped path of each target mowing area. Based on the NAVFN algorithm, the bow-shaped paths of each target mowing area are connected to obtain the full-area coverage path corresponding to the environment map. The method for determining the long axis direction of the bow shape for each target mowing area includes: generating the convex hull of each target mowing area, and selecting the longest side of each convex hull as the long axis direction of the bow shape for each target mowing area; rotating each target mowing area until its respective long axis direction is parallel to the horizontal direction; and dividing one or more target mowing areas into one or more sub-regions based on the boundary points of each rotated target mowing area, including: arranging the boundary points of each target mowing area (excluding the first and last rows) in rows according to their vertical values in their respective vertical directions; where each row corresponds to one vertical value; deleting duplicate boundary points in the same row of each target mowing area, and retaining only one boundary point in each row to obtain the corresponding boundary point row arrangement; and using a horizontal straight line to execute the boundary point row arrangement of each target mowing area. A region segmentation process is used to divide one or more target mowing areas into one or more sub-regions. The region segmentation process includes: taking horizontal lines sequentially based on the vertical values corresponding to each row of the target mowing area, and performing a scanning and segmentation process on each row of the target mowing area according to the corresponding boundary point rows; wherein, the scanning and segmentation process includes: scanning the target mowing area using the horizontal lines of the current row, calculating the number of intersections between the horizontal lines of the current row and the target mowing area, and simultaneously determining whether the number of intersections between the horizontal lines of the current row and the target mowing area is different from the number of intersections between the horizontal lines of the previous row and the target mowing area; if the number of intersections is different, segmenting the target mowing area using the horizontal lines of the current row, and continuing to execute the scanning and segmentation process of the next row after segmentation; if the number of intersections is the same, executing the scanning and segmentation process of the next row.
2. The full-area coverage path planning method for a lawnmower robot according to claim 1, characterized in that, Based on the long axis direction of the bow-shaped pattern of each target mowing area, path planning is performed for both unsegmented and segmented target mowing areas to obtain the bow-shaped paths for each target mowing area, including: Based on the corresponding long axis direction of the bow shape, a raster map and a bow-shaped route are generated for each target mowing area that has not been segmented and for each target mowing area that has been segmented, so as to obtain the bow-shaped path of each target mowing area.
3. The full-area coverage path planning method for a lawnmower robot according to claim 2, characterized in that, Methods for generating raster maps of target mowing areas for region segmentation and planning zigzag routes include: Each sub-region of the target mowing area to be segmented is generated separately into a raster map; wherein the grid side length of the generated raster map is half of the set bow-shaped interval; Based on the long axis direction of the bow shape of the target mowing area, bow-shaped routes are generated sequentially according to the grid map corresponding to each sub-region at the set bow-shaped intervals to obtain the bow-shaped path of each sub-region. Based on the NAVFN algorithm, the bow-shaped paths of each sub-region are connected to obtain the bow-shaped path of the corresponding target mowing area.
4. A full-area coverage path planning device for a lawnmower robot, characterized in that, The device includes: An environment map abstraction module is used to set virtual boundary lines for one or more target mowing areas to abstract an environment map; wherein, the virtual boundary lines contain multiple boundary points; The bow-shaped major axis direction determination module is connected to the environmental map abstraction module. It is used to determine the bow-shaped major axis direction for each target mowing area and rotate each target mowing area based on the corresponding bow-shaped major axis direction. The partitioning module, connected to the bow-shaped long axis direction determination module, is used to divide one or more target mowing areas into one or more sub-regions based on the boundary points of each target mowing area after rotation. The path planning module, connected to the partitioning module, performs path planning for each target mowing area (both without partitioning and with partitioning) based on the long axis direction of the bow shape of each target mowing area, thereby obtaining the bow-shaped path for each target mowing area. The full-area coverage path generation module, connected to the path planning module, is used to connect the bow-shaped paths of each target mowing area based on the NAVFN algorithm to obtain the full-area coverage path corresponding to the environmental map. The method for determining the long axis direction of the bow shape for each target mowing area includes: generating the convex hull of each target mowing area, and selecting the longest side of each convex hull as the long axis direction of the bow shape for each target mowing area; rotating each target mowing area until its respective long axis direction is parallel to the horizontal direction; and dividing one or more target mowing areas into one or more sub-regions based on the boundary points of each rotated target mowing area, including: arranging the boundary points of each target mowing area (excluding the first and last rows) in rows according to their vertical values in their respective vertical directions; where each row corresponds to one vertical value; deleting duplicate boundary points in the same row of each target mowing area, and retaining only one boundary point in each row to obtain the corresponding boundary point row arrangement; and using a horizontal straight line to execute the boundary point row arrangement of each target mowing area. A region segmentation process is used to divide one or more target mowing areas into one or more sub-regions. The region segmentation process includes: taking horizontal lines sequentially based on the vertical values corresponding to each row of the target mowing area, and performing a scanning and segmentation process on each row of the target mowing area according to the corresponding boundary point rows; wherein, the scanning and segmentation process includes: scanning the target mowing area using the horizontal lines of the current row, calculating the number of intersections between the horizontal lines of the current row and the target mowing area, and simultaneously determining whether the number of intersections between the horizontal lines of the current row and the target mowing area is different from the number of intersections between the horizontal lines of the previous row and the target mowing area; if the number of intersections is different, segmenting the target mowing area using the horizontal lines of the current row, and continuing to execute the scanning and segmentation process of the next row after segmentation; if the number of intersections is the same, executing the scanning and segmentation process of the next row.
5. A full-area coverage path planning terminal for a lawnmower robot, characterized in that, include: One or more memories and one or more processors; The one or more memories are used to store computer programs; The one or more processors are connected to the memory and are used to run the computer program to perform the method as described in any one of claims 1 to 3.
6. A computer-readable storage medium, characterized in that, The device contains a computer program that, when executed by one or more processors, performs the method as described in any one of claims 1 to 3.