A path planning method, device, equipment and storage medium

CN116009552BActive Publication Date: 2026-09-04GUANGZHOU SAITE INTELLIGENCE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310058562.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-17
Publication Date
2026-09-04
Estimated Expiration
2043-01-17

AI Technical Summary

Technical Problem

[0005]本发明提供了一种路径规划方法、装置、设备及存储介质,以解决目前全覆盖路径规划方式规划出来的路径,难以使得室外机器人满足覆盖给定区域的所有位置的问题

Benefits of technology

[0026] The technical solution of this invention provides a path planning method. First, a target work grid area is determined. Then, a path set generated in real-time during path search within the target work grid area is obtained. The current grid and the previous grid are determined from the path set. Optional adjacent grids of the current grid are identified within the target work grid area. Based on the current grid and the previous grid, the direction coefficients of each optional adjacent grid are determined to determine the motion trend direction of each optional adjacent grid. Then, kinematic constraints are combined to determine the current motion constraint level. Based on the current motion constraint level and the direction coefficients of each optional adjacent grid, it is determined whether to add the optional adjacent grids to the path set. A planned path is generated based on the path set. The generated planned path can meet the requirement of full path coverage for outdoor robots using an Ackerman chassis, resulting in a high-coverage planned path, thereby improving the working efficiency of the outdoor robot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116009552B_ABST
    Figure CN116009552B_ABST
Patent Text Reader

Abstract

The application discloses a path planning method, device and equipment and a storage medium. The method comprises the following steps: determining a target operation grid area, acquiring a path set generated in real time in a path search process in the target operation grid area, determining a current grid and a previous grid from the path set, determining selectable adjacent grids of the current grid in the target operation grid area, determining direction coefficients of the selectable adjacent grids one by one based on the current grid and the previous grid, determining a current motion constraint level, judging whether the selectable adjacent grids are added to the path set according to the current motion constraint level and the direction coefficients of the selectable adjacent grids, and generating a planned path based on the path set. The planned path generated can meet the requirement of an outdoor robot using an Ackerman chassis for path full coverage, a planned path with high coverage is obtained, and the working efficiency of the outdoor robot is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the technical field of intelligent control, and particularly relates to a path planning method, device, equipment and storage medium. Background Technology

[0002] With the continuous improvement of automation technology, planning reasonable paths for mobile devices under automation has become particularly important. Full-coverage path planning algorithms are one branch of this, requiring the planned path to cover all locations within a given area. Furthermore, a better path can further save resources and improve efficiency. Currently, various robots involve full-coverage path problems, such as indoor cleaning robots, whose movement trajectories need to cover the entire given area to achieve full functionality.

[0003] Currently, commonly used full-coverage path planning methods are categorized based on the shape of the generated path, such as zigzag, tree-like, etc. However, the paths planned by these methods often contain numerous right-angle turns and U-turns. Since indoor robots mostly use differential chassis that support in-place rotation, these full-coverage path planning methods are sufficient to meet the functional requirements of indoor robots.

[0004] For outdoor robots, considering motion stability, Ackerman chassis, such as car chassis, are often used. When turning or turning, a certain turning radius is required, which makes it impossible for outdoor robots to accurately track the paths generated by the current mainstream full-coverage path planning methods. Summary of the Invention

[0005] This invention provides a path planning method, apparatus, device, and storage medium to solve the problem that current full-coverage path planning methods cannot enable outdoor robots to cover all locations in a given area.

[0006] According to a first aspect of the present invention, a path planning method is provided, the method comprising:

[0007] Define the target operation grid area;

[0008] Obtain the set of paths generated in real time during the path search process in the target operation grid area, and determine the current grid and the previous grid from the set of paths;

[0009] In the target operation grid area, determine the optional adjacent grids of the current grid, and based on the current grid and the previous grid, determine the orientation coefficient of each optional adjacent grid one by one;

[0010] Determine the current motion constraint level, and based on the current motion constraint level and the direction coefficient of each optional adjacent grid, determine whether to add the optional adjacent grid to the path set;

[0011] A planned path is generated based on the set of paths.

[0012] According to a second aspect of the present invention, a path planning apparatus is provided, the apparatus comprising:

[0013] The target operation grid area determination module is used to determine the target operation grid area;

[0014] The path set acquisition module is used to acquire the path set generated in real time during the path search process in the target operation grid area;

[0015] The first grid determination module is used to determine the current grid and the previous grid from the path set;

[0016] The second grid determination module is used to determine the selectable adjacent grids of the current grid in the target operation grid area;

[0017] The orientation coefficient determination module is used to determine the orientation coefficient of each selectable adjacent grid cell one by one based on the current grid cell and the previous grid cell;

[0018] The current motion constraint level determination module is used to determine the current motion constraint level;

[0019] The judgment module is used to determine whether to add the optional adjacent grid to the path set based on the current motion constraint level and the direction coefficient of each optional adjacent grid.

[0020] The route planning generation module is used to generate planned routes based on the set of routes.

[0021] According to a third aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0022] At least one processor; and

[0023] A memory communicatively connected to the at least one processor; wherein,

[0024] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform a path planning method according to any embodiment of the present invention.

[0025] According to a fourth aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement a path planning method according to any embodiment of the present invention.

[0026] The technical solution of this invention provides a path planning method. First, a target work grid area is determined. Then, a path set generated in real-time during path search within the target work grid area is obtained. The current grid and the previous grid are determined from the path set. Optional adjacent grids of the current grid are identified within the target work grid area. Based on the current grid and the previous grid, the direction coefficients of each optional adjacent grid are determined to determine the motion trend direction of each optional adjacent grid. Then, kinematic constraints are combined to determine the current motion constraint level. Based on the current motion constraint level and the direction coefficients of each optional adjacent grid, it is determined whether to add the optional adjacent grids to the path set. A planned path is generated based on the path set. The generated planned path can meet the requirement of full path coverage for outdoor robots using an Ackerman chassis, resulting in a high-coverage planned path, thereby improving the working efficiency of the outdoor robot.

[0027] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0028] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0029] Figure 1 This is a flowchart of a path planning method provided in Embodiment 1 of the present invention;

[0030] Figure 2 This is a schematic diagram of the potential field of a target operation grid region according to Embodiment 1 of the present invention;

[0031] Figure 3 This is a schematic diagram of an adjacent grid provided in Embodiment 1 of the present invention;

[0032] Figure 4 This is a schematic diagram of a planned path provided according to an embodiment of the present invention;

[0033] Figure 5 This is a flowchart of a path planning method provided according to Embodiment 2 of the present invention;

[0034] Figure 6 This is a schematic diagram of a full-coverage planning path provided according to Embodiment 2 of the present invention;

[0035] Figure 7 This is a flowchart of a path planning method provided in Embodiment 3 of the present invention;

[0036] Figure 8 This is a schematic diagram of a trimmed planning path provided according to Embodiment 3 of the present invention;

[0037] Figure 9 This is a schematic diagram of a path planning device according to Embodiment 4 of the present invention;

[0038] Figure 10 This is a schematic diagram of the structure of an electronic device that implements a path planning method according to an embodiment of the present invention. Detailed Implementation

[0039] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0040] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0041] Example 1

[0042] Figure 1 This is a flowchart of a path planning method provided in Embodiment 1 of the present invention.

[0043] Because indoor and outdoor robots currently use different chassis, and outdoor robots currently use the same path planning method as indoor robots, this leads to inaccurate path planning and poor tracking accuracy for outdoor robots, affecting the realization of functions, such as the cleaning effect.

[0044] In this embodiment of the invention, kinematic constraints can be added to the path search to generate a path suitable for the Ackerman chassis, thereby further improving the cleaning efficiency of outdoor robots.

[0045] This method can be executed by a path planning device, which can be implemented in hardware and / or software.

[0046] like Figure 1 As shown, this embodiment may include the following steps:

[0047] S110, Determine the target operation grid area.

[0048] In this embodiment, the target work grid area can be generated by rasterizing a closed area. This closed area can be a pre-defined work area for the outdoor robot, such as a certain area being the work area of ​​a sweeping robot.

[0049] In one embodiment, step S110 includes the following steps:

[0050] S110-1, Determine the target work area.

[0051] In this embodiment, when determining the target operation grid area, the target operation area can be determined first. The target operation area can be selected and delineated by the user based on the map area inside the outdoor robot.

[0052] S110-2, perform gridding on the target work area to determine the set of obstacle grids and the set of non-obstacle grids.

[0053] Specifically, because the environmental maps stored inside outdoor robots are usually composed of complex geometric shapes, most search algorithms cannot be directly applied during path planning, and the size of the map directly affects the efficiency of path planning. Therefore, it is necessary to process the target work area in the environmental map. Rasterization is a common processing and representation method, which represents the environment as a square grid with a certain resolution. The specific rasterization process will not be described in detail here. In one implementation, the target work area is rasterized at a certain resolution, for example, each grid cell is 1m*1m, and the side length of the grid is approximately equal to the width of the robot.

[0054] During rasterization, based on a pre-built map or data provided by sensors, it can be determined whether there are any areas occupied by obstacles. Grids are then divided into free and occupied states, with each grid independent of the others. Occupied grids can be categorized into the obstacle grid set, while free grids can be categorized into the non-obstacle grid set.

[0055] S110-3, Determine the closed grid region enclosed by the obstacle grids in the obstacle grid set.

[0056] S110-4 defines the closed grid area and the grids within it as the target operation grid area.

[0057] In practical applications, since outdoor robots only operate within the target work area, the target work area may be a room or other enclosed space by walls, fences, or boundary lines, making it a closed area. The outdoor robot will not step on the boundary of the area. Therefore, the boundary is considered an obstacle. The obstacle grid in the obstacle grid set can be used to enclose a closed grid area, and the closed grid area and the grids within it can be used as the target work grid area.

[0058] S120: Obtain the set of paths generated in real time during the path search process in the target operation grid area, and determine the current grid and the previous grid from the set of paths.

[0059] In this embodiment, the current location of the outdoor robot can be considered as the starting point of the path search. The user can select the starting point before starting the path search and move the outdoor robot to the selected starting point to start the path search from the current location of the outdoor robot.

[0060] When performing path search, a path set can be generated in real time by traversing each grid in the target task grid area. When generating the path set, the grids that the outdoor robot moves to in real time can be added to the path set. Therefore, in the real-time generated path set, the grid where the current position is located is the current grid, and the previous grid is the grid where the indoor robot was located before moving to the current grid in the path.

[0061] In one embodiment, each grid cell in the path set carries path association information, which includes: path node number, potential field value, and addition time information of joining the path set; step S120, determining the current grid cell from the path set, includes the following steps:

[0062] Identify the grid cell with the largest path node number in the path set;

[0063] If there is only one raster with the highest path node number, then that raster with the highest path node number will be used as the current raster.

[0064] If there is more than one grid cell with the largest path node number, then select the grid cell with the smallest potential field value from the grid cells with the largest path node number as the current grid cell;

[0065] If there is more than one raster with the smallest potential field value among the raster with the largest path node number, then the raster with the earliest added time information is selected as the current raster.

[0066] Once the current grid is determined, the previous grid is determined from the information of the previous grid bound to the current grid.

[0067] In this embodiment, after the outdoor robot starts working, each grid cell it passes through is added to the path set, carrying path association information. A greedy algorithm can be used to determine the current grid cell from the path set. When using the greedy algorithm, each time the robot passes through a grid cell, it saves the grid information of the previous grid cell, such as the coordinates of the previous grid cell.

[0068] When determining the current grid from the previous grid, the path node number corresponding to the current grid can be generated based on the path node number of the previous grid. Therefore, the grid with the largest path node number can be determined in the path set. If there is only one grid with the largest path node number, then the grid with the largest path node number is the current grid.

[0069] In implementation, a real-time moving outdoor robot may be located on the boundary lines of multiple grids. In this case, when generating the path node number for the current grid based on the path node number of the previous grid, multiple grids may correspond to the same path node number. The artificial potential field method can be used to guide the search direction of path planning and determine the current grid. The artificial potential field method is a virtual force method for robot motion planning. Its basic idea is to concretize the influence of targets and obstacles on robot motion as an artificial potential field. The potential energy is low at the target and high at the obstacle. This potential difference generates an attractive force from the target and a repulsive force from the obstacle. The resultant force controls the robot to move towards the target point along the negative gradient direction of the potential field.

[0070] Specifically, the potential field value for each grid cell can be obtained by adding a potential field to the target grid area, such as... Figure 2 A schematic diagram of the potential field of a target operation grid region is shown. Figure 2 The values ​​in each grid cell represent the corresponding potential field values. Since the potential energy is low at the target and high at the obstacle in the artificial potential field method, the grid cell with the smallest potential field value can be selected as the current grid cell from the grid cell with the largest path node number.

[0071] If there are more than one grid with the smallest potential field value among the grids with the largest path node number, the grid with the earliest added time information can be selected as the current grid. Although the outdoor robot can be on multiple grids at the same time, there will be slight differences in the time when it enters different grids. Therefore, the grids with the smallest potential field value can be aggregated, and the grid touched first can be used as the current grid.

[0072] Once the current grid is determined, the previous grid can be determined from the information of the previous grid bound to the current grid.

[0073] S130: In the target operation grid area, determine the optional adjacent grids of the current grid, and determine the direction coefficient of each optional adjacent grid one by one based on the current grid and the previous grid.

[0074] In this embodiment, each grid has adjacent grids with a positional relationship, referring to... Figure 3 A schematic diagram of an adjacent grid. Figure 3 A grid containing multiple arrows can be considered the current grid. Generally, the eight grids adjacent to the current grid can be called the optional adjacent grids of the current grid. However, some grids may not have eight optional adjacent grids, such as a grid located at the boundary of the target job grid area, whose adjacent grids may be outside the target job grid area.

[0075] Therefore, when determining the optional adjacent grids of the current grid, you can first determine the eight adjacent grids, and then determine the grids located in the target operation grid area as optional adjacent grids.

[0076] After determining each of the possible adjacent graticles, specifically, the orientation coefficients of each possible adjacent graticle can be determined one by one based on the graticle coordinates corresponding to the current graticle and the previous graticle, in order to determine whether the possible adjacent graticles meet the kinematic constraints.

[0077] In one embodiment, step S130 involves determining the orientation coefficient of each selectable adjacent grid cell based on the current grid cell and the previous grid cell, including the following steps:

[0078] If a previous grid cell exists, the coordinate dot product of the forward direction is calculated based on the coordinates of the previous grid cell, the current grid cell, and the coordinates of the optional adjacent grid cells, and used as the direction coefficient.

[0079] If there is no previous grid cell, obtain the orientation angle of the current grid cell, and calculate the coordinate dot product of the forward direction based on the orientation angle, the coordinates of the current grid cell, and the coordinates of the optional adjacent grid cells, as the orientation coefficient.

[0080] Specifically, if the current grid is not the starting point for the outdoor robot to begin operation, then there will be a previous grid for the current grid. We can denote the coordinates of the current grid as (Xc, Yc), the coordinates of the optional adjacent grids as (Xn, Yn), and the coordinates of the previous grid as (Xp, Yp). The direction coefficient is denoted as dot. The formula for calculating the direction coefficient dot is: dot = (Xn - Xc) * (Xc - Xp) + (Yn - Yc) * (Yc - Yp).

[0081] If the current grid is the starting point for the outdoor robot to begin operation, then there is no previous grid for the starting point. In this case, the orientation angle of the current grid can be obtained, which is the azimuth angle of the starting point. The azimuth angle, also known as horizontal longitude (Azimuth (angle) abbreviation Az), is one of the methods for measuring the angular difference between objects on a plane. It is the horizontal angle between the north direction line at a certain point and the target direction line in a clockwise direction.

[0082] The coordinates of the current grid cell can be denoted as (Xc, Yc), the coordinates of the optional adjacent grid cells can be denoted as (Xn, Yn), the orientation angle can be denoted as Dir, and the direction coefficient can be denoted as dot. The formula for calculating the direction coefficient dot is: dot=(Xn-Xc)*cos(dir)+(Yn-Yc)*sin(dir).

[0083] In one embodiment, determining the possible adjacent grids of the current grid in the target job grid region in step S130 includes the following steps:

[0084] In the target operation grid area, identify the adjacent grids of the current grid and obtain the status of each adjacent grid;

[0085] If the adjacent grid is determined to be an obstacle grid or a grid that has been added to the path set based on the state of the adjacent grid, then the grid is determined not to be an optional adjacent grid.

[0086] If, based on the state of the adjacent grid, it is determined that the adjacent grid is a non-obstacle grid and has not been added to the path set, then the grid is determined to be an optional adjacent grid.

[0087] In this embodiment, when determining the possible adjacent grids of the current grid in the target job grid area, the adjacent grids of the current grid can be determined first in the target job grid area. That is, for the eight grids around the current grid, only those in the target job grid area can be used as adjacent grids of the current grid.

[0088] After determining the adjacent grids of the current grid, the state of each adjacent grid can be obtained. The state of an adjacent grid indicates whether it is a grid containing an obstacle. Specifically, the grid corresponding to the boundary of the target work grid area is an obstacle grid. Additionally, other obstacles within the target work grid area, such as the grid corresponding to the location of a flowerpot, are also considered obstacle grids. Outdoor robots do not need to enter obstacle grids during operation, as this could lead to collisions. Therefore, if an adjacent grid is an obstacle grid, it is determined not to be a selectable adjacent grid.

[0089] Additionally, if an adjacent grid is already added to the path set, it means that the adjacent grid has already been covered by the outdoor robot, so there is no need to cover it again, and it can also be determined that it is not a selectable adjacent grid.

[0090] Therefore, if an adjacent grid is neither an obstacle grid nor has it been added to the path set, then the grid can be determined as an optional adjacent grid.

[0091] S140: Determine the current motion constraint level, and based on the current motion constraint level and the orientation coefficients of each optional adjacent grid, determine whether to add the optional adjacent grid to the path set.

[0092] In this embodiment, since the motion of the outdoor robot cannot be treated as a point mass, when kinematic constraints are not met—for example, if the generated trajectory consists of broken lines—it would be difficult for the outdoor robot to complete the path. Therefore, when determining whether an optional adjacent grid satisfies the conditions for being added to the path set, it can be done by checking whether the optional adjacent grid meets the kinematic constraints, ensuring that each planned step can be executed well by the outdoor robot.

[0093] Motion constraint levels can be divided into multiple levels, each indicating a different degree of constraint. Furthermore, the direction coefficients of each adjacent grid can be combined to determine whether to add an optional adjacent grid to the path set. For example, the direction coefficients can determine the direction of the motion trend. Combining the motion trend and the motion constraint level, it can be determined whether the turning angles encountered by the outdoor robot during movement are appropriate, avoiding situations where excessively large turning angles prevent full coverage.

[0094] In one embodiment, the motion constraint levels include strict level, lenient level, and no level;

[0095] In step S140, based on the current motion constraint level and the orientation coefficients of each optional adjacent grid, it is determined whether to add the optional adjacent grid to the path set, including the following steps:

[0096] If the motion constraint level is no level, then all optional adjacent grids are added to the path set;

[0097] If the motion constraint level is relaxed, then optional adjacent grids with a direction coefficient less than or equal to 0 are added to the path set;

[0098] If the motion constraint level is strict, then optional adjacent grids with a direction coefficient less than 0 are added to the path set.

[0099] In this embodiment, the motion constraint level can be divided into strict, lenient, and no level according to different constraint degrees. Among them, the stricter the motion constraint level, the less the angle of the outdoor robot needs to change when moving from the current grid to the optional adjacent grid in the path set.

[0100] If the motion constraint level is no level, it means that there are no restrictions on the size of the turning angle or whether the trajectory is smooth enough in the movement path of the outdoor robot, and all optional adjacent grids are added to the path set.

[0101] If the motion constraint level is relaxed, then optional adjacent grids with a direction coefficient less than or equal to 0 will be added to the path set. That is, only optional adjacent grids that are no more than 90 degrees away from the forward direction can be added to the path set.

[0102] If the motion constraint level is strict, then optional adjacent grids with a direction coefficient less than 0 will be added to the path set. That is, only optional adjacent grids that are less than 90 degrees away from the forward direction can be added to the path set.

[0103] In one embodiment, the following steps are also included:

[0104] Set the path node number of the raster added to the path set based on the current raster to the path node number of the current raster incremented by 1.

[0105] In this embodiment, a corresponding path node number can be generated for the grid that is added to the path set based on the current grid. When generating the path node number, the path node number can be directly incremented by 1 based on the path node number of the current grid, thereby determining the path node number of the grid that is added to the path set based on the current grid.

[0106] S150 generates planned paths based on path sets.

[0107] In one embodiment, each grid in the path set has its corresponding path node number. The path node numbers can be arranged in order to generate a planned path. Since there may be multiple grids with the same path node number in the path set, when generating a planned path, for grids with the same path node number, one can be randomly selected to generate the planned path.

[0108] In another embodiment, for each grid in the path set, a greedy algorithm can be used. Each time, the grid with the largest path node number is selected from the path set. If multiple grids have the same path node number, the grid with the smallest potential field value is selected. If the potential field values ​​are also the same, the grid to be added to the path set is selected first. The selected grid is added to the path and can be marked, for example, as "closed". Then, all available adjacent grids can be searched using the strictness level of the motion constraint. Grids marked as "closed" or obstacles are discarded, and the rest are added to the path set. The above steps are repeated until the path set is empty. The result can be referenced. Figure 4 A schematic diagram of a planned route.

[0109] This embodiment proposes a path planning method. First, a target work grid area is determined. Then, a path set generated in real-time during path search within the target work grid area is obtained. The current grid and the previous grid are identified from the path set. Optional adjacent grids of the current grid are determined within the target work grid area. Based on the current grid and the previous grid, the orientation coefficients of each optional adjacent grid are determined to ascertain the motion trend direction of each optional adjacent grid. Then, kinematic constraints are combined to determine the current motion constraint level. Based on the current motion constraint level and the orientation coefficients of each optional adjacent grid, it is determined whether to add the optional adjacent grids to the path set. A planned path is generated based on the path set. The generated planned path can meet the requirement of full path coverage for outdoor robots using an Ackerman chassis, resulting in a high-coverage planned path, thereby improving the working efficiency of the outdoor robot.

[0110] Example 2

[0111] Figure 5 This is a flowchart of a path planning method provided in Embodiment 2 of the present invention.

[0112] The content of this embodiment is a further explanation based on Embodiment 1.

[0113] like Figure 5 As shown, this embodiment may include the following steps:

[0114] S510, Determine the target operation grid area.

[0115] S520: Obtain the set of paths generated in real time during the path search process in the target operation grid area, and determine the current grid and the previous grid from the set of paths.

[0116] S530: In the target operation grid area, determine the optional adjacent grids of the current grid, and determine the direction coefficient of each optional adjacent grid one by one based on the current grid and the previous grid.

[0117] S540: Determine the current motion constraint level, and based on the current motion constraint level and the orientation coefficients of each optional adjacent grid, determine whether to add the optional adjacent grid to the path set.

[0118] S550 generates planned routes based on a set of routes.

[0119] In this embodiment, the specific explanation of steps S510 and S550 can be found in steps S110 and S150 of Embodiment 1.

[0120] S560 determines the path node grids and non-path node grids in the path set based on the planned path.

[0121] In this embodiment, not all grid cells in the path set are already in the planned path. For example, when generating planned paths by sorting according to path node numbers, some grid cells with the same path node number may not yet be included in the planned path. (See reference...) Figure 4 It can be seen that after motion constraints, Figure 4 In the planned path, the angles between grid cells are small, and there are no right angles or other difficult-to-access areas for outdoor robots. However, when generating the planned path based on the path set, some grid cells may still remain uncovered. Specifically, if the outdoor robot is a robotic vacuum cleaner, it will not move to or reach uncovered grid cells, thus failing to clean them and hindering its ability to perform its intended function effectively.

[0122] Therefore, path node grids and non-path node grids can be determined based on the grids in the generated planning path. Path node grids fall on the planning path, while non-path node grids do not. This allows for subsequent processing of non-path node grids to incorporate them into the planning path, thus achieving better full-coverage path planning.

[0123] S570 clusters non-path node rasters according to the set raster distance, generating one or more raster clusters.

[0124] In this embodiment, non-path node rasters can be clustered at a set raster distance. For example, the set raster distance can be 1, that is, clustering is performed on optional adjacent rasters to generate one or more raster clusters.

[0125] S580, determine the number of grid cells in each grid cluster, mark the grid cells in the grid clusters with a number of grid cells less than or equal to a set number threshold as path node grid cells, and determine the grid clusters with a number of grid cells greater than the set number threshold as grid clusters to be searched.

[0126] S590 uses the last path node grid of the planned path as the current grid and performs path search within the target operation grid area.

[0127] In this embodiment, grid cells in grid clusters with a number of grid cells less than or equal to a set threshold are marked as path node grid cells, and grid clusters with a number of grid cells greater than the set threshold are determined as grid clusters to be searched. That is, it can be assumed that for areas with a large area composed of non-path node grid cells, path search will continue to be performed to achieve full coverage.

[0128] To achieve full coverage of the planned path, the last path node grid of the planned path can be used as the current grid, and a new round of non-repeating path search can be performed in the target operation grid area, so that the indoor robot can move from the current grid to the area where the grid cluster to be searched is located.

[0129] In one embodiment, path searching in the target job grid area in step S590 includes the following steps:

[0130] Perform path search under strictness level;

[0131] If no path to any of the grid clusters to be searched can be found under the strict level, the motion constraint level is reduced to the relaxed level and the search is restarted.

[0132] If no path to any of the grid clusters to be searched is found under the relaxed level, the motion constraint level is reduced to no level and the search is restarted until a path to any of the grid clusters to be searched is found.

[0133] In this embodiment, the last path node grid of the planned path can be used as the current grid to find a path to any grid cluster to be searched, so as to complete the coverage of the area corresponding to the grid cluster to be searched.

[0134] Since the area corresponding to the grid cluster to be searched may be relatively small, a search method with kinematic constraints may not necessarily find a path. To ensure that the searched path satisfies the kinematic constraints to the greatest extent, a path search can be performed first at the strict level. If no path to any grid cluster is found at the strict level, the kinematic constraint level can be reduced to the relaxed level and the search can be restarted. If no path to any grid cluster is found at the relaxed level, the kinematic constraint level can be reduced to no level and the search can be restarted until a path to any grid cluster is found.

[0135] For example, relaxing the motion constraint level can be understood as relaxing the requirements for turning angles. When a path to any grid cluster to be searched cannot be found when the turning angle is limited to an acute angle, the requirement can be relaxed to allow right-angle turns for searching.

[0136] S5010, when a path to any raster cluster to be searched is found, the raster cluster to be searched is used as the target raster cluster for the next planning.

[0137] In this embodiment, under a certain motion constraint level, the principle of path search can be to select the grid with the largest path node number from the path set each time. If the path node numbers are the same, select the grid with the smaller potential field value. If the potential field values ​​are the same, select the grid that was added to the path set first, until a grid belonging to the grid cluster to be searched is found. The grid cluster corresponding to this grid is the target grid cluster to be planned next.

[0138] S5011, In the next path planning, a path search is performed within the target grid cluster. After the path search is completed within the target grid cluster, the last path node grid of the searched path is taken as the current grid, and the search continues to search for paths to other grid clusters to be searched. The searched grid clusters to be searched are taken as the target grid clusters for the next planning, and so on, until all grid clusters to be searched have completed the path search and the updated planned path is obtained.

[0139] In this embodiment, after the path search is completed within the target grid cluster, each grid within the target grid cluster will be covered. In order to cover other grid clusters to be searched, the last path node grid of the path found within the target grid cluster can be used as the current grid. The search continues in the same way to find paths to other grid clusters to be searched. The searched grid clusters to be searched are used as the target grid clusters for the next planning, and so on, so that all grids in all grid clusters to be searched can become grids on the planned path, thus completing the coverage.

[0140] refer to Figure 6 A schematic diagram of a fully covered planning path, from Figure 6 and Figure 4 A comparison shows that Figure 6 The number of grid cells covered by the middle path increases significantly. Since the search may be performed at a lenient or no-level scale, there may be cases with large corners. (Reference) Figure 6 , Figure 6 There are some obvious broken lines, that is, there are right angles in the planned path.

[0141] This embodiment discloses a path planning method to meet the requirement of full path coverage for outdoor robots using Ackerman chassis and improve coverage. It clusters non-path node grids according to a set grid distance, generating one or more grid clusters. The number of grids in each cluster is determined, and clusters with a number greater than a set threshold are identified as clusters to be searched. The last path node grid of the planned path can be used as the current grid. Path search is performed within the target operation grid area. When a path to any cluster to be searched is found, that cluster is used as the next search node. In the next path planning, the target grid cluster is searched for a path. After the path search is completed within the target grid cluster, the last path node grid of the searched path is taken as the current grid, and the search continues to find paths to other grid clusters to be searched. The searched grid clusters to be searched are taken as the target grid clusters for the next planning. This process continues until all grid clusters to be searched have completed the path search, and an updated planned path is obtained. Through multiple path planning, the path coverage is improved, thereby improving the tracking accuracy of the outdoor robot and ensuring the working effect of the outdoor robot.

[0142] Example 3

[0143] Figure 7 This is a flowchart of a path planning method provided in Embodiment 3 of the present invention.

[0144] The content of this embodiment is a further explanation based on Embodiment 1 and Embodiment 2.

[0145] like Figure 7 As shown, this embodiment may include the following steps:

[0146] S710, Determine the target operation grid area.

[0147] S720: Obtain the set of paths generated in real time during the path search process in the target operation grid area, and determine the current grid and the previous grid from the set of paths.

[0148] S730: In the target operation grid area, determine the optional adjacent grids of the current grid, and determine the direction coefficient of each optional adjacent grid one by one based on the current grid and the previous grid.

[0149] S740: Determine the current motion constraint level, and based on the current motion constraint level and the orientation coefficients of each optional adjacent grid, determine whether to add the optional adjacent grid to the path set.

[0150] S750 generates planned routes based on a set of routes.

[0151] In this embodiment, the specific explanation of steps S710 and S750 can be found in steps S110 and S150 of Embodiment 1.

[0152] S760 determines the path node grids and non-path node grids in the path set based on the planned path.

[0153] S770 clusters non-path node rasters according to the set raster distance, generating one or more raster clusters.

[0154] S780, determine the number of grid cells in each grid cluster, mark the grid cells in the grid clusters with a number of grid cells less than or equal to a set number threshold as path node grid cells, and determine the grid clusters with a number of grid cells greater than the set number threshold as grid clusters to be searched.

[0155] S790 uses the last path node grid of the planned path as the current grid and performs path search within the target operation grid area.

[0156] S7010: When a path to any raster cluster to be searched is found, the raster cluster to be searched is used as the target raster cluster for the next planning.

[0157] S7011, In the next path planning, a path search is performed within the target grid cluster. After the path search is completed within the target grid cluster, the last path node grid of the searched path is taken as the current grid, and the search continues to search for paths to other grid clusters to be searched. The searched grid clusters to be searched are taken as the target grid clusters for the next planning, and so on, until all grid clusters to be searched have completed the path search and the updated planned path is obtained.

[0158] In this embodiment, the specific explanation of steps S760 and S7011 can be found in steps S560 and S5011 of Embodiment 2.

[0159] S7012, start traversing from the second path node grid of the updated planned path, and determine the first rotation angle based on the currently traversed path node grid, its previous path node grid, and its next path node grid.

[0160] In this embodiment, since the path to the target grid cluster and the motion constraint level that may be used when searching within the target grid cluster are relatively lenient, the searched path may contain right-angle turns. The path can be trimmed to obtain a smooth path.

[0161] Specifically, the traversal can start from the second path node grid of the updated planned path. Based on the currently traversed path node grid, the first rotation angle corresponding to the currently traversed path node grid is calculated with respect to the previous and next path node grids. The first rotation angle is the angle along the forward direction.

[0162] S7013, if the first rotation angle is less than 90 degrees, it is determined that the current path node grid does not need to be trimmed, and the next path node grid is traversed.

[0163] In this embodiment, for the first rotation angle less than 90 degrees, the outdoor robot can complete the movement well without trimming. Therefore, when the first rotation angle is less than 90 degrees, it can continue to traverse the next path node grid.

[0164] S7014, if the first rotation angle is greater than or equal to 90 degrees, it is determined that the current path node grid needs to be trimmed, and the corresponding trimming operation is performed.

[0165] In this embodiment, for a first rotation angle greater than or equal to 90 degrees, the outdoor robot has difficulty completing the movement well, so it needs to be trimmed so that the first rotation angle is less than 90 degrees.

[0166] In one embodiment, the trimming operation includes:

[0167] Delete the current path node grid in the updated planning path and retrieve the previous path node grid.

[0168] Calculate the second rotation angle based on the previous path node grid, the previous path node grid, and the next path node grid;

[0169] If the second rotation angle is less than 90 degrees, continue traversing the next path node grid.

[0170] If the second rotation angle is greater than or equal to 90 degrees, then in the updated planning path, starting from the previous path node grid, take n consecutive path node grids as the path segments to be pruned.

[0171] Start the path search from the previous path node grid;

[0172] If a new path containing n path node grids is found, the new path replaces the path segment to be trimmed.

[0173] In this embodiment, in the specific trimming operation, the current path node grid can be deleted first, and the previous path node grid, the previous path node grid, and the next path node grid can be obtained. The second rotation angle is calculated. If the second rotation angle is less than 90 degrees, it means that the trimming is successful, and the next path node grid can be traversed.

[0174] If pruning fails, the updated planned path can start from the previous path node grid, taking n consecutive path node grids as the path segment to be pruned, and then starting the path search from the previous path node grid. For example, starting from the previous path node grid, n consecutive path node grids are taken, where n is initially 0. If the path search fails, n can be incremented by 1, where 0 <= n <= 5. If a new path containing n path node grids is found, the new path can replace the path segment to be pruned.

[0175] In implementation, if no path is found within the range of n, the path segment to be trimmed is kept and the next path node grid is traversed.

[0176] In one embodiment, the method further includes:

[0177] If there are two adjacent path nodes in the pruned planned path with an interval exceeding the set interval threshold, then linear interpolation is performed on these two adjacent path nodes.

[0178] In this embodiment, if the planned path obtained after trimming is a polyline segment and there are two adjacent path nodes with an interval exceeding a set interval threshold, linear interpolation can be performed on the two adjacent path nodes.

[0179] refer to Figure 8 The diagram shows a trimmed planned path, even though it has already trimmed angles greater than or equal to 90 degrees. Figure 8 As can be seen, there are still some broken sections in Line I. If the outdoor robot is directly tracked on these broken sections, there will still be errors.

[0180] Linear interpolation can be performed between these two adjacent path nodes to densify the path points. After interpolation, an optimization objective equation is established for the path points, and kinematic constraints are added. Gradient optimization methods can be used to smooth the path, ultimately yielding the following result: Figure 8 The smooth path shown by centerline II can be used for outdoor robots to track and perform covering tasks, such as cleaning.

[0181] This embodiment provides a path planning method. By traversing from the second path node grid of the updated planned path, a first rotation angle is determined based on the currently traversed path node grid, its previous path node grid, and its next path node grid. If the first rotation angle is less than 90 degrees, it is determined that the current path node grid does not need to be trimmed, and the traversal of the next path node grid continues. If the first rotation angle is greater than or equal to 90 degrees, it is not suitable for the outdoor robot to complete the movement, and the current path node grid needs to be trimmed. The corresponding trimming operation is then performed to obtain a planned path with high coverage and high smoothness, thereby further improving the working efficiency of the outdoor robot.

[0182] Example 4

[0183] Figure 9 This is a schematic diagram of a path planning device provided in Embodiment 4 of the present invention, as shown below. Figure 9 As shown, the device includes:

[0184] The target operation grid area determination module 910 is used to determine the target operation grid area;

[0185] The path set acquisition module 920 is used to acquire the path set generated in real time during the path search process in the target operation grid area;

[0186] The first grid determination module 930 is used to determine the current grid and the previous grid from the path set;

[0187] The second grid determination module 940 is used to determine the optional adjacent grids of the current grid in the target operation grid area;

[0188] The orientation coefficient determination module 950 is used to determine the orientation coefficient of each selectable adjacent grid cell one by one based on the current grid cell and the previous grid cell;

[0189] The current motion constraint level determination module 960 is used to determine the current motion constraint level;

[0190] The judgment module 970 is used to determine whether to add the optional adjacent grid to the path set based on the current motion constraint level and the direction coefficient of each optional adjacent grid.

[0191] The planning path generation module 980 is used to generate a planning path based on the path set.

[0192] In one embodiment, the target operation grid region determination module 910 includes the following sub-modules:

[0193] The target work area determination submodule is used to determine the target work area;

[0194] The rasterization processing submodule is used to perform rasterization processing on the target work area to determine the obstacle raster set and the non-obstacle raster set;

[0195] The closed grid region determination submodule is used to determine the closed grid region enclosed by the obstacle grids in the obstacle grid set;

[0196] The target operation grid area determination submodule is used to define the closed grid area and the grids within it as the target operation grid area.

[0197] In one embodiment, each grid in the path set carries path association information, which includes: path node number, potential field value, and addition time information of the path set.

[0198] The first grid determination module 930 includes the following sub-modules:

[0199] The path node number maximum grid cell determination submodule is used to determine the grid cell with the maximum path node number in the path set;

[0200] The first current grid determination submodule is used to determine the current grid when there is only one grid with the largest path node number.

[0201] The second current grid determination submodule is used to select the grid with the smallest potential field value from the grid with the largest path node number as the current grid when there is more than one grid with the largest path node number.

[0202] The third current grid determination submodule is used to select the grid with the earliest added time information as the current grid when there is more than one grid with the smallest potential field value in the grid with the largest path node number.

[0203] The binding submodule is used to determine the previous grid from the information of the previous grid bound to the current grid after the current grid has been determined.

[0204] In one embodiment, the direction coefficient determination module 950 includes the following sub-modules:

[0205] The first direction coefficient submodule is used to calculate the coordinate dot product of the forward direction based on the coordinates of the previous grid, the current grid, and the optional adjacent grid when the previous grid exists, and use it as the direction coefficient.

[0206] The second direction coefficient submodule is used to obtain the orientation angle of the current grid when there is no previous grid, and calculate the coordinate dot product of the forward direction based on the orientation angle, the coordinates of the current grid and the coordinates of the optional adjacent grids, as the direction coefficient.

[0207] In one embodiment, the second grid determination module 940 is specifically used for:

[0208] In the target operation grid area, determine the adjacent grids of the current grid and obtain the status of each adjacent grid;

[0209] If the adjacent grid is determined to be an obstacle grid or a grid that has been added to the path set based on the state of the adjacent grid, then the grid is determined not to be an optional adjacent grid.

[0210] If, based on the state of the adjacent grid, it is determined that the adjacent grid is a non-obstacle grid and has not been added to the path set, then the grid is determined to be an optional adjacent grid.

[0211] In one embodiment, the motion constraint level includes a strict level, a lenient level, and no level; the judgment module 970 is specifically used for:

[0212] If the motion constraint level is no level, then all optional adjacent grids are added to the path set;

[0213] If the motion constraint level is relaxed, then optional adjacent grids with a direction coefficient less than or equal to 0 are added to the path set;

[0214] If the motion constraint level is strict, then optional adjacent grids with a direction coefficient less than 0 are added to the path set.

[0215] In one embodiment, the device further includes the following modules:

[0216] The auto-increment module is used to set the path node number of the grid added to the path set based on the current grid to be incremented by 1.

[0217] In one embodiment, the device further includes the following modules:

[0218] The third grid determination module is used to determine the path node grids and non-path node grids in the path set according to the planned path, wherein the path node grids fall on the planned path and the non-path node grids do not fall on the planned path.

[0219] The clustering module is used to cluster the non-path node grids according to a set grid distance to generate one or more grid clusters;

[0220] The grid number determination module is used to determine the number of grids in each grid cluster, and to mark the grids in the grid clusters whose number of grids is less than or equal to a set number threshold as path node grids, and to determine the grid clusters whose number of grids is greater than the set number threshold as grid clusters to be searched.

[0221] The path search module is used to perform path search in the target operation grid area by taking the last path node grid of the planned path as the current grid.

[0222] The target raster cluster determination module is used to use any raster cluster to be searched as the target raster cluster for the next planning when a path to the target raster cluster is found.

[0223] The updated planning path determination module is used to perform path search within the target grid cluster during the next path planning. After completing the path search within the target grid cluster, the last path node grid of the searched path is taken as the current grid, and the search continues to search for paths to other grid clusters to be searched. The searched grid clusters to be searched are taken as the target grid clusters for the next planning, and so on, until all grid clusters to be searched have completed the path search and the updated planning path is obtained.

[0224] In one embodiment, the path search module includes the following sub-modules:

[0225] The first path search submodule is used to perform path search under strictness level;

[0226] The second path search submodule is used to reduce the motion constraint level to a relaxed level and restart the search when no path to any grid cluster to be searched can be found under the strict level.

[0227] The third path search submodule is used to reduce the motion constraint level to no level and restart the search when no path to any grid cluster to be searched is found under the relaxed level, until a path to any grid cluster to be searched is found.

[0228] In one embodiment, the device is further configured to:

[0229] Starting from the second path node grid of the updated planning path, the first rotation angle is determined based on the currently traversed path node grid, its previous path node grid, and its next path node grid. The first rotation angle is the angle along the forward direction.

[0230] If the first rotation angle is less than 90 degrees, it is determined that the current path node grid does not need to be trimmed, and the next path node grid is traversed.

[0231] If the first rotation angle is greater than or equal to 90 degrees, it is determined that the current path node grid needs to be trimmed, and the corresponding trimming operation is performed.

[0232] In one embodiment, the trimming operation includes:

[0233] Delete the current path node grid in the updated planning path, and obtain the previous path node grid of the previous path node grid;

[0234] Calculate the second rotation angle based on the previous path node grid, the previous path node grid, and the next path node grid;

[0235] If the second rotation angle is less than 90 degrees, continue traversing the next path node grid.

[0236] If the second rotation angle is greater than or equal to 90 degrees, then in the updated planning path, starting from the previous path node grid, take n consecutive path node grids as the path segments to be pruned.

[0237] The path search begins from the previous path node grid;

[0238] If a new path containing n path node grids is found, the new path replaces the path segment to be pruned.

[0239] In one embodiment, the device further includes the following modules:

[0240] The linear interpolation module is used to perform linear interpolation on two adjacent path nodes when there are two adjacent path nodes in the pruned planned path with an interval exceeding a set interval threshold.

[0241] The path planning device provided in this embodiment of the invention can implement the path planning method provided in embodiments one to three of the invention, and has the corresponding functional modules and beneficial effects of the method.

[0242] Example 5

[0243] Figure 10 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0244] like Figure 10As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0245] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0246] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as a path planning method.

[0247] In some embodiments, a path planning method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of a path planning method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform a path planning method by any other suitable means (e.g., by means of firmware).

[0248] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0249] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0250] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0251] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0252] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0253] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0254] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0255] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A path planning method, characterized in that, The method includes: Define the target operation grid area; Obtain the set of paths generated in real time during the path search process in the target operation grid area, and determine the current grid and the previous grid from the set of paths; In the target operation grid area, determine the optional adjacent grids of the current grid, and based on the current grid and the previous grid, determine the orientation coefficient of each optional adjacent grid one by one; Determine the current motion constraint level, and based on the current motion constraint level and the direction coefficient of each optional adjacent grid, determine whether to add the optional adjacent grid to the path set; A planned path is generated based on the aforementioned path set; Based on the planned path, the path node grids and non-path node grids in the path set are determined, wherein the path node grids fall on the planned path, and the non-path node grids do not fall on the planned path; The non-path node grids are clustered according to the set grid distance to generate one or more grid clusters; Determine the number of grid cells in each grid cluster, and mark the grid cells in grid clusters with a number of grid cells less than or equal to a set number threshold as path node grid cells; and determine the grid clusters with a number of grid cells greater than the set number threshold as grid clusters to be searched. The last path node grid of the planned path is used as the current grid, and path search is performed in the target operation grid area; When a path to any raster cluster to be searched is found, that raster cluster to be searched is used as the target raster cluster for the next planning step. In the next path planning, a path search is performed within the target grid cluster. After the path search is completed within the target grid cluster, the last path node grid of the searched path is taken as the current grid, and the search continues to find paths to other grid clusters to be searched. The searched grid clusters to be searched are taken as the target grid clusters for the next planning, and so on, until all grid clusters to be searched have completed the path search and the updated planned path is obtained.

2. The method according to claim 1, characterized in that, The determination of the target operation grid area includes: Determine the target work area; The target work area is rasterized to determine the obstacle raster set and the non-obstacle raster set; Determine the closed grid region enclosed by the obstacle grids in the set of obstacle grids; The closed grid area and the grids within it are taken as the target operation grid area.

3. The method according to claim 1 or 2, characterized in that, Each grid in the path set carries path association information, which includes: path node number, potential field value, and the time information of joining the path set; Determining the current grid cell from the path set includes: Determine the grid cell with the largest path node number in the path set; If there is only one grid cell with the largest path node number, then that grid cell is taken as the current grid cell. If there is more than one grid cell with the largest path node number, then select the grid cell with the smallest potential field value from the grid cells with the largest path node number as the current grid cell; If there is more than one raster with the smallest potential field value among the raster with the largest path node number, then the raster with the earliest added time information is selected as the current raster. Once the current grid is determined, the previous grid is determined from the information of the previous grid bound to the current grid.

4. The method according to claim 3, characterized in that, The step of determining the orientation coefficient of each selectable adjacent grid cell based on the current grid cell and the previous grid cell includes: If a previous grid exists, the coordinate dot product of the forward direction is calculated based on the coordinates of the previous grid, the current grid, and the optional adjacent grids, and used as the direction coefficient. If the previous grid does not exist, the orientation angle of the current grid is obtained, and the coordinate dot product of the forward direction is calculated based on the orientation angle, the coordinates of the current grid and the coordinates of the optional adjacent grids, which is used as the direction coefficient.

5. The method according to claim 1, characterized in that, Determining the possible adjacent grids of the current grid in the target operation grid area includes: In the target operation grid area, determine the adjacent grids of the current grid and obtain the status of each adjacent grid; If the adjacent grid is determined to be an obstacle grid or a grid that has been added to the path set based on the state of the adjacent grid, then the grid is determined not to be an optional adjacent grid. If, based on the state of the adjacent grid, it is determined that the adjacent grid is a non-obstacle grid and has not been added to the path set, then the grid is determined to be an optional adjacent grid.

6. The method according to claim 1, 2, or 5, characterized in that, The motion constraint levels include strict level, lenient level, and no level; The step of determining whether to add the optional adjacent grid to the path set based on the current motion constraint level and the direction coefficient of each optional adjacent grid includes: If the motion constraint level is no level, then all optional adjacent grids are added to the path set; If the motion constraint level is relaxed, then optional adjacent grids with a direction coefficient less than or equal to 0 are added to the path set; If the motion constraint level is strict, then optional adjacent grids with a direction coefficient less than 0 are added to the path set.

7. The method according to claim 1, 2, or 5, characterized in that, The method further includes: The path node number of the grid added to the path set based on the current grid is set to increment by 1.

8. The method according to claim 1, characterized in that, The path search in the target job grid area includes: Perform path search under strictness level; If no path to any of the grid clusters to be searched can be found under the strict level, the motion constraint level is reduced to the relaxed level and the search is restarted. If no path to any of the grid clusters to be searched is found under the relaxed level, the motion constraint level is reduced to no level and the search is restarted until a path to any of the grid clusters to be searched is found.

9. The method according to claim 1 or 8, characterized in that, After obtaining the updated planning path, the method further includes: Starting from the second path node grid of the updated planning path, the first rotation angle is determined based on the currently traversed path node grid, its previous path node grid, and its next path node grid. The first rotation angle is the angle along the forward direction. If the first rotation angle is less than 90 degrees, it is determined that the current path node grid does not need to be trimmed, and the next path node grid is traversed. If the first rotation angle is greater than or equal to 90 degrees, it is determined that the current path node grid needs to be trimmed, and the corresponding trimming operation is performed.

10. The method according to claim 9, characterized in that, The trimming operation includes: Delete the current path node grid in the updated planning path, and obtain the previous path node grid of the previous path node grid; Calculate the second rotation angle based on the previous path node grid, the previous path node grid, and the next path node grid; If the second rotation angle is less than 90 degrees, continue traversing the next path node grid. If the second rotation angle is greater than or equal to 90 degrees, then in the updated planning path, starting from the previous path node grid, take n consecutive path node grids as the path segments to be pruned. The path search begins from the previous path node grid; If a new path containing n path node grids is found, the new path replaces the path segment to be pruned.

11. The method according to claim 9, characterized in that, The method further includes: If there are two adjacent path nodes in the pruned planned path with an interval exceeding the set interval threshold, then linear interpolation is performed on these two adjacent path nodes.

12. A path planning device, characterized in that, The device includes: The target operation grid area determination module is used to determine the target operation grid area; The path set acquisition module is used to acquire the path set generated in real time during the path search process in the target operation grid area; The first grid determination module is used to determine the current grid and the previous grid from the path set; The second grid determination module is used to determine the optional adjacent grids of the current grid in the target operation grid area; The orientation coefficient determination module is used to determine the orientation coefficient of each selectable adjacent grid cell one by one based on the current grid cell and the previous grid cell; The current motion constraint level determination module is used to determine the current motion constraint level; The judgment module is used to determine whether to add the optional adjacent grid to the path set based on the current motion constraint level and the direction coefficient of each optional adjacent grid. A route planning generation module is used to generate planned routes based on the set of routes. The device further includes: The third grid determination module is used to determine the path node grids and non-path node grids in the path set according to the planned path, wherein the path node grids fall on the planned path and the non-path node grids do not fall on the planned path. The clustering module is used to cluster the non-path node grids according to a set grid distance to generate one or more grid clusters; The grid number determination module is used to determine the number of grids in each grid cluster, and to mark the grids in the grid clusters whose number of grids is less than or equal to a set number threshold as path node grids, and to determine the grid clusters whose number of grids is greater than the set number threshold as grid clusters to be searched. The path search module is used to perform path search in the target operation grid area by taking the last path node grid of the planned path as the current grid. The target raster cluster determination module is used to use any raster cluster to be searched as the target raster cluster for the next planning when a path to the target raster cluster is found. The updated planning path determination module is used to perform path search within the target grid cluster during the next path planning. After completing the path search within the target grid cluster, the last path node grid of the searched path is taken as the current grid, and the search continues to search for paths to other grid clusters to be searched. The searched grid clusters to be searched are taken as the target grid clusters for the next planning, and so on, until all grid clusters to be searched have completed the path search and the updated planning path is obtained.

13. An electronic device, characterized in that, The electronic device includes: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform a path planning method as described in claims 1-11.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute and implement the path planning method described in claims 1-11.

Citation Information

Patent Citations

  • Path planning method based on Ackerman constraint

    CN110954123A

  • Unmanned vehicle path planning method and device

    CN111857160A