Robot path planning method and device, and robot

By acquiring and planning a map of the robot's operating range, and optimizing the path using grid maps and sensor data, the problems of stability and low efficiency of mobile robots in complex environments are solved, and more efficient area coverage planning is achieved.

CN115494834BActive Publication Date: 2026-04-10BEIJING INDEMIND TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING INDEMIND TECH CO LTD
Filing Date
2022-04-11
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing mobile robot area coverage planning methods result in low stability and low work efficiency, especially in diversified application scenarios, and traditional path planning methods are lacking in robot stability and efficiency.

Method used

The system acquires a map with a predefined work area, plans paths within the work area one by one, controls the robot to follow the planned paths through the motion control module, constructs the robot's work area using grid maps and sensor data, and optimizes the paths to improve stability and efficiency.

Benefits of technology

It improves the stability and efficiency of robots in complex environments, reduces inertial swaying when turning, optimizes path planning, and enhances work efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115494834B_ABST
    Figure CN115494834B_ABST
Patent Text Reader

Abstract

The application discloses a kind of robot path planning method, device and robot.The method comprises: obtaining map, wherein the information of predetermined robot work range is bound in the map;From the predetermined route or from predetermined position, path is planned in the work range successively, wherein the path of each time planning is the path formed by the predetermined value of the work coverage width of the last work path inflation robot work coverage to the uncovered area of the work range;After planning all paths in the map, all paths after planning are sent to the motion control module of robot, to make the motion control module control robot to track all paths after planning.The path planning method of the present application solves the area coverage planning mode in the related art, which leads to low robot stability and low work efficiency, etc., improves the robot stability and work efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of artificial intelligence, and in particular, to a robot path planning method and device. BACKGROUND

[0002] In mobile robot path planning, area coverage path planning is used in various fields, such as: sweeping robots, disinfection robots, mobile security robots, delivery robots, mowing robots, glass cleaning robots, mobile business robots, agricultural robots, special operation robots, and military robots.

[0003] Early mobile robots are relatively simple when doing area coverage path planning, and are usually composed of two actions of rotating and walking in a straight line: when the robot encounters an obstacle, it rotates by a certain angle and continues to walk in a straight line until a specified time is exceeded. This area coverage method is low in efficiency and has a large missed area, and is commonly seen in early sweeping robots.

[0004] With the application of inertial navigation technology, mobile robots have positioning functions, and area coverage planning has a new direction, which can plan a path that avoids known obstacles, such as the arch (or zigzag) path planning method.

[0005] However, due to the gradual diversification of the application scenarios of mobile robots, such as home environment, public office environment, and outdoor environment, the demand to be met is also increasingly diverse, and the above area coverage planning method cannot meet the demand.

[0006] The area coverage planning method in the related art has the following problems:

[0007] 1. There are many curves, and all of them are sharp turns, which results in a high rotation speed of the robot when turning. This has a non-negligible impact on the SLAM module of the robot. When the volume and weight of the robot are large, a large inertia is generated, which causes the load to shake greatly, greatly reducing the stability of the robot. It can be considered to reduce the speed of the robot when turning to improve the above situation, but this will introduce the problem of frequent acceleration and deceleration, and also reduce the work efficiency.

[0008] 2. Low work efficiency. The area coverage planning method in the related art is usually composed of straight lines without curves, the length of a single path is short, and the extension direction has unidirectionality (it can only extend in one fixed direction each time, and after reaching the end, it needs to stop and re-establish the starting point and direction).

[0009] 3. The application platform is single. The area coverage planning mode in the related art has good adaptability on a robot chassis with a differential control model; on a chassis with a car control model, the robot turning radius is restricted, resulting in limited cleaning distance and reduced work efficiency.

[0010] Therefore, it is urgent to propose a new area coverage planning path scheme to solve the above problems and improve the work efficiency of the robot. SUMMARY

[0011] The main purpose of the present application is to disclose a robot path planning method and device and a robot, which at least solve the problems of low stability and low work efficiency of the robot caused by the area coverage planning mode in the related art.

[0012] According to one aspect of the present application, a robot path planning method is provided.

[0013] The robot path planning method according to the present application comprises: acquiring a map, wherein the map is bound with information of a predetermined robot work range; starting from the predetermined route or from a predetermined position, planning paths in the work range one by one, wherein each planned path is a path formed by inflating a predetermined value of robot work coverage width to an uncovered area of the work range from the last work path; after planning all paths in the map, sending all planned paths to a motion control module of the robot, so that the motion control module controls the robot to track all planned paths.

[0014] According to another aspect of the present application, a robot path planning device is provided.

[0015] The robot path planning device according to the present application comprises: an acquisition module for acquiring a map, wherein the map is bound with information of a predetermined robot work range; a path planning module for starting from the predetermined route or from a predetermined position, planning paths in the work range one by one, wherein each planned path is a path formed by inflating a predetermined value of robot work coverage width to an uncovered area of the work range from the last work path; and a sending module for sending all planned paths to a motion control module of the robot after planning all paths in the map, so that the motion control module controls the robot to track all planned paths.

[0016] According to still another aspect of the present application, a robot is provided.

[0017] The robot according to the present application comprises a memory for storing computer execution instructions and a processor for executing the computer execution instructions stored in the memory, so that the robot executes the method according to any one of the above.

[0018] According to the present application, a new regional coverage planning path scheme is proposed, a map in which information of a predetermined robot working range is bound is obtained, a path is planned in the robot working range successively starting from the predetermined route or from a predetermined position, the planned path is sent to a motion control module of the robot, so that the motion control module controls the robot to track the planned path. The path planning method of the present application solves the problems of low robot stability and low work efficiency caused by the regional coverage planning mode in the related art, and improves the robot stability and work efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0019] Figure 1 is a flowchart of a robot path planning method according to an embodiment of the present application;

[0020] Figure 2 is a structural block diagram of a robot path planning device according to an embodiment of the present application;

[0021] Figure 3 is a structural schematic diagram of a robot according to an embodiment of the present application. DETAILED DESCRIPTION

[0022] The specific implementation of the present application will be described in detail below in combination with the drawings of the specification.

[0023] Figure 1 is a flowchart of a robot path planning method according to an embodiment of the present application. As shown in Figure 1 , the robot path planning method comprises:

[0024] Step S101: obtaining a map, wherein the map binds information of a predetermined robot working range;

[0025] Step S102: starting from the predetermined route or from a predetermined position, planning a path successively in the working range, wherein the path planned each time is a path formed by inflating a predetermined value of robot working coverage width to an uncovered area of the working range from the last working path;

[0026] Step S103: after all the paths are planned in the map, sending all the planned paths to a motion control module of the robot, so that the motion control module controls the robot to track all the planned paths.

[0027] The present application adoptsFigure 1 The method shown proposes a new regional coverage planning path scheme, obtains a map bound with information of a predetermined robot working range, plans paths in the working range successively from the predetermined route or from a predetermined position, sends all the planned paths to a motion control module of the robot after all the paths are planned, and controls the robot to track the planned paths by the motion control module. The path planning method of the application solves the regional coverage planning mode in the related art, improves the stability and working efficiency of the robot, and solves the problems of low stability and low working efficiency of the robot.

[0028] Preferably, before obtaining the map, the following processing can also be included: establishing a world coordinate system based on a reference point, and constructing a world map based on the world coordinate system, wherein the reference point includes: a charging pile position, an initialization object position, and a robot working start position; constructing a grid map based on the world coordinate system and the world map, wherein the grid map includes: unknown area information, obstacle area information, obstacle inflation area information, and idle area information; and determining information of a robot working range.

[0029] In the preferred implementation process, the reference point needs to be determined first, for example, the reference point can be determined by the following methods:

[0030] Method one: the robot starts from the charging pile, takes the infrared signal point on the charging pile as the reference point, and returns to the charging pile for charging / standby after the robot work is completed; in the specific implementation process, objects that interfere with the movement of the robot cannot be placed near the charging pile.

[0031] Method two: the robot takes the initialization object (the initialization object can be an object containing various feature marks such as natural features and fixed features, for example, a flat marker plate. The mark on the initialization object marker can be an apriltag, or other types of marks such as ARTag, ARToolkit, aruco, etc.) position as the starting point, and if the robot cannot find the charging pile after the work is completed, it can return to the vicinity of the initialization object. In the specific implementation process, objects that interfere with the movement of the robot cannot be placed near the initialization object.

[0032] Method three: the robot can start work at any position, so the robot working start position can be taken as the reference point, and if the robot does not find the charging pile position during work, the robot can return to the robot working start position after completing the task.

[0033] In the preferred implementation process, the grid map can be constructed based on the above world coordinate system and the above world map. The grid map is an ordered data array, which is a collection of pixels composed of many small square pixels, and each pixel does not affect each other. The grid map is divided into two-dimensional (2D) grid map and three-dimensional (3D) grid map. The 3D grid map stores more data than the 2D grid map, and requires more storage space and lower data access efficiency. For non-spatial mobile robots, the 2D grid map is generally used. For ground mobile robots, the 2D grid map meets the demand, and the following will be described by taking the 2D grid map as an example.

[0034] The storage form of the grid map includes but is not limited to the following:

[0035] The first kind: saving storage space: chain, run, block, quadtree, etc. The disadvantage is that the random read-write efficiency is low.

[0036] The second kind: high read-write efficiency: static map. The disadvantage is that the storage space size is fixed, which consumes more storage resources.

[0037] The third kind: a method that takes into account storage and read-write: dynamic map. The occupied storage space changes with the size of the valid data of the map, and still wastes a small part of the storage resources, and the read-write speed is equal to that of the static map.

[0038] From the perspective of the robot, the spatial properties in the map can be divided into: unknown (Unknown) area (area not visited by the robot), obstacle area (Obs, impassable area), obstacle expansion area (ObsExpand, non-obstacle but impassable area), free area (Free, area that the robot can pass through), and the grid value on the map can be used to represent the above several types of area information. Sometimes other special markers are also marked on the map. For example, grid value 254 represents the obstacle area, grid value 100 represents the obstacle expansion area, and grid value 0 represents the free area.

[0039] In the specific implementation process, the mapping can be performed by the following methods:

[0040] Firstly, the reference data for mapping is obtained: the robot perceives external information through sensors, which can adopt multiple sensors, including: infrared sensors, ultrasonic sensors, collision sensors, etc., which can detect obstacles at close range; laser radar, monocular or binocular camera, structured light, TOF, which can detect obstacles at a long distance; among them, the detection range of laser radar and camera is relatively large, and the robot generally mainly refers to the data of these two sensors when mapping. According to the differences of the robot function platform, the data of other sensors can also be used for mapping. For robots with high safety requirements, multiple sensors can be installed on different parts of the robot to ensure that the detection range of the sensors can cover the body, and the data of each sensor is mapped vertically to the 2D plane and filled into the grid map; or according to the height of the robot body, a 3D grid map is established, and when used, the 3D grid map is dimensionally reduced to compress the 3D grid map into a 2D grid map.

[0041] Secondly, the data filling operation is performed, including: firstly, filtering and denoising the sensor data; the data obtained from the sensor is vector data with distance and direction, and after vector data rasterization processing, the grid coordinates of the target point (obstacle) relative to the sensor can be obtained. After translating the grid coordinates of the target point to the grid coordinates of the robot, the grid coordinates of the target point relative to the origin of the map can be obtained. The grid attribute of the target point in the map is set as an obstacle area, the non-obstacle area around the obstacle is set as an inflation area, and the non-inflation area between the target point and the grid coordinates of the robot is set as an idle area. As for the error, the error of the grid map includes two kinds: the measurement error of the sensor and the error of the rasterization itself. The size of the error depends on the accuracy of the sensor and the resolution of the grid map. The higher the sensor measurement accuracy, the higher the map resolution, and the smaller the information error feedback by the map, but the larger the data volume of the map, and the longer the time consumed when making decisions. Generally, the accuracy of the sensor is fixed and cannot be changed; the resolution of the map can be set according to actual needs, but generally will not be higher than the measurement error of the sensor. The grid map filled with multiple sensor data includes: unknown area, obstacle area, obstacle inflation area, and idle area.

[0042] Under normal circumstances, due to different robot platforms, the demand for maps is diverse, and the built map also needs to be optimized and corrected. The optimization and correction methods include but are not limited to: noise reduction, smoothing, straightening, map direction correction, etc.

[0043] Preferably, the world coordinate system is established based on the reference point, and the world map is constructed based on the world coordinate system. The construction of the world map includes at least one of the following: (1) in response to the operation of the user controlling the robot to move in the target area until the construction of the world map is completed; (2) when the robot moves in the target area to build a map autonomously until the construction of the world map is completed; (3) when the robot tracks a preset specific mark or a moving object to build a map until the construction of the world map is completed; (4) in response to cloud operation, when one or more robots move in the target area to build a map until the construction of the world map is completed. That is, any one of the above methods, or a combination of any two methods, or a combination of any two methods, or a combination of the above four methods can be used to establish the world coordinate system based on the reference point and construct the world map based on the world coordinate system.

[0044] In the preferred implementation process, the robot mapping operation can be performed in at least one of the following ways:

[0045] 1. In response to the operation of the user controlling the robot to move in the target area until the construction of the world map is completed; for example, using remote control, handle, direct pushing, etc. to move the robot in the target area until the mapping is completed. Alternatively, the robot tracks a specified target (e.g., a user) to complete the scanning and mapping of the working environment, which is suitable for human-robot hybrid operation and cross-category robot hybrid operation scenarios.

[0046] 2. Robot autonomous mapping: the robot moves autonomously in the target area until the mapping is completed. Specifically, the following processes are included: (1) the robot starts; (2) the robot scans the surrounding environment; (3) the robot finds a target point near the nearest unknown area; (4) the robot reaches the target point through navigation and then returns to step (2) for continuous execution; (5) until no target point is found in step (3), the mapping is completed.

[0047] 3. Target object guidance: a specific mark (e.g., a two-dimensional code, etc.) with a pointing direction is placed in the working scene of the robot, or a specific object feature (e.g., a flat marker plate, etc.) is set for the robot, and the robot will track the mark or feature to scan and map the surrounding environment.

[0048] 4. Cloud control: when one or more robots move in the target area to build a map, the robots are remotely / centrally controlled by the cloud. Cluster management of the robots can be achieved, which is suitable for large-scale site multi-robot collaborative mapping scenarios.

[0049] It should be noted that the above methods can be used in any one of the above methods, a combination of any two methods, a combination of any three methods, and a combination of the above four methods.

[0050] The mapping content can be various information scanned and recorded by different robots according to specific working environment and use for future use, such as robot trajectory information, scene obstacle information, robot business operation information, environmental feature information, semantic recognition information, and falling information.

[0051] Preferably, the information for determining the robot working range can include at least one of:

[0052] In response to an operation of the user controlling the movement of the robot, a range surrounded by the grid corresponding to the movement trajectory of the robot is taken as the working range.

[0053] In response to a setting operation of the user on the map through the man-machine interaction interface, a range surrounded by a route set by the user is taken as the working range.

[0054] After the robot completes the construction of the grid map by moving autonomously in the target area, an idle area connected to the starting point is found in the grid map, and the position information of the idle area is saved to a first list. The first list is traversed, the position information in the first list is expanded to a non-idle area by N layers, and the grid of the Nth layer is determined as the outermost grid of the robot working range. The grid map is traversed, and the position information of all the outermost grids is stored in a second list. The N is a boundary depth, which is determined by positioning error, mapping error, and robot related information.

[0055] The robot determines the working range according to a predetermined marker or predetermined feature information in the grid map.

[0056] That is, any one of the above methods can be used, or a combination of any two of the above methods can be used, or a combination of any three of the above methods can be used, or a combination of four methods can be used to determine the robot working range.

[0057] In the preferred implementation process, when the technical solutions provided by the embodiments of the present application are implemented, a map (for example, a grid map) needs to be acquired first. If there is no map that has been constructed at present, the way to acquire the map includes: constructing the map by using the above-mentioned mapping method. Of course, if there is a map that has been constructed at present, the way to acquire the map includes: directly importing the constructed map. That is, the robot does not need to construct the map again, and can directly use the constructed map. For example, in a scene, there are multiple robots, and only one of the robots needs to construct the map, and the other robots can share the map data; or, the same robot needs to work in multiple scenes, and the robot can store the map after completing the mapping in a scene for next time use. In addition, when multiple robots work in a cluster, the robots can share the map with each other; or the map constructed by each robot can be uploaded to the cloud, the multiple uploaded maps are merged in the cloud background, and then the merged map is distributed to the robot cluster.

[0058] In addition, the robot generally works in a limited space range, and the working range of the robot needs to be determined, that is, the information of the predetermined working range of the robot bound in the above-mentioned map. Specifically, the information of the working range of the robot can be determined by at least one of the following ways:

[0059] The first way: in response to the operation of the user controlling the movement of the robot, the range surrounded by the grid corresponding to the movement track of the robot is taken as the above-mentioned working range; for example, the user uses a remote controller to control the robot to travel along a specified route, and the range surrounded by the grid corresponding to the track of the robot is taken as the above-mentioned working range, and the robot is not allowed to exceed the grid corresponding to the track in the subsequent working process. The range determined by this way has certain limitations, and some areas that the robot cannot enter cannot be included in the working range of the robot.

[0060] The second way: in response to the setting operation of the user on the map through the human-computer interaction interface, the range surrounded by the route set by the user is taken as the above-mentioned working range; for example, after the robot completes the autonomous mapping in a known closed area, the working range is manually determined on the map through the human-computer interaction interface. This way can flexibly determine the working range.

[0061] The third way: after the robot completes the autonomous mapping in a known closed area, the working range is autonomously determined. The determined range is relatively comprehensive, and can maximize the determination of the working range of the robot. Specifically, the following steps are included:

[0062] Step 1: autonomously mapping by using the above-mentioned mapping method to complete the construction of the grid map (hereinafter referred to as WorldMap).

[0063] Step 2: autonomously determining the working range:

[0064] (1) Find the reachable area of the robot in the WorldMap and store it in ilist.

[0065] (2) Determine the boundary depth N (number of grids). Wherein, N1 is the sum of the maximum error of mapping and the maximum error of robot positioning; N2 is the body radius of the robot; N3 is the control error of the robot. The value of N can be determined by converting the sum of N1, N2 and N3 into the number of grids and adding 1.

[0066] (3) Traverse ilist1, and perform N-layer inflation on the coordinates in ilist1 to the non-free area (non-free area), and mark the grid value of the Nth layer as FlgSide1.

[0067] (4) Traverse WorldMap, and store the grid coordinates of FlgSide1 in tlist1. The data in tlist1 is the outermost data of the above working range.

[0068] Method four: Set special markers in the environment where the robot works, or set specific natural features for the robot. The robot determines the above working range in the above grid map according to the marker or predetermined feature information.

[0069] It should be noted that any of the above methods, a combination of any two methods, a combination of any three methods, or a combination of four methods can be used to determine the working range of the robot. For example, after the robot completes autonomous mapping and autonomously determines the working range, the working range can be adjusted in response to user setting operations on the map through a human-computer interaction interface.

[0070] Preferably, after constructing the grid map based on the above world coordinate system and the above world map, at least one of the following can be included:

[0071] In response to user forbidden area setting operations, set a forbidden area in the above grid map where the robot is prohibited from entering;

[0072] In response to user virtual wall setting operations, set a virtual wall in the above grid map where the robot is prohibited from passing through;

[0073] In response to user core (key) coverage area setting operations, set an area in the above grid map that needs to be fully covered or repeatedly covered by the robot;

[0074] In response to user ignore coverage area setting operations, set an area in the above grid map that needs to be passed through by the robot but does not need to be covered;

[0075] In response to a user safety coverage area setting operation, an area in which the robot needs to maintain a predetermined safety distance from obstacles when passing through the area is set in the above-mentioned grid map; that is, the robot is not allowed to pass too close to obstacles when working in the area, and needs to maintain a set safety distance.

[0076] In response to a user setting operation on a specific area, a specific area is set in the above-mentioned grid map according to area attribute information. For example, a carpet area, a depression area, a convex area, a height-limited area, a width-limited area, a weight-limited area, a quiet area, a dry area, a water accumulation area, a non-flat road surface area, a dark area, a strong light area, a static object area, and a dynamic object area; the robot will adjust the working mode according to the set area attribute when passing through these areas.

[0077] Preferably, in the above-mentioned step S102, the path is planned in the above-mentioned working range from the above-mentioned predetermined route (first planning mode) can include the following processing: when planning the first path, the information of the above-mentioned grid map is imported into the first newly created map, wherein the above-mentioned first newly created map includes: area information outside the above-mentioned boundary information, obstacle and obstacle inflation layer area information, free area information, boundary information, unknown area information; the information of the current working covered area information that can be imported into the free area of the above-mentioned first newly created map is imported into the above-mentioned first newly created map; the position information corresponding to the above-mentioned boundary information in the above-mentioned first newly created map is stored in a third list; the position information of the obstacle and the obstacle inflation layer area adjacent to the current working covered area adjacent to the free area, and the obstacle and the obstacle inflation layer area adjacent to the obstacle and the obstacle inflation layer area are stored in the above-mentioned third list, and the area corresponding to the position information stored in the third list in the first newly created map is reset to an obstacle identification area; the position information of the free area within M layers of grids adjacent to the current working covered area adjacent to the free area is stored in the above-mentioned third list, and the area corresponding to the position information stored in the third list in the first newly created map is reset to a free area identification area, wherein the M is half of the single working coverage width of the robot plus 1; the position information of the area adjacent to the free area, the obstacle and the obstacle inflation layer area in the area corresponding to the position information saved in the above-mentioned third list is saved in a fourth list, and the grid attribute corresponding to the position information saved in the above-mentioned fourth list in the above-mentioned first newly created map is determined as a target path point.

[0078] Preferably, the step S102 of planning the path in the working range from the predetermined position (second planning mode) can further include the following processes: when planning the first path, importing the information of the grid map into a first new map, wherein the first new map includes the region information outside the boundary information, the obstacle and obstacle inflation layer region information, the free region information, the boundary information, and the unknown region information; importing the information of the current working covered region that can be imported into the free region of the first new map into the first new map; traversing the first new map, storing the position information of the free region within M layers of grids adjacent to the predetermined position into the third list, and resetting the region corresponding to the position information stored into the third list in the first new map as the free region identification area, wherein M is half of the single working coverage width of the robot plus 1; storing the position information of the obstacle and obstacle inflation layer region adjacent to the current working covered region adjacent to the free region and the obstacle and obstacle inflation layer region adjacent to the obstacle and obstacle inflation layer region into the third list, and resetting the region corresponding to the position information stored into the third list in the first new map as the obstacle identification area; storing the position information of the free region within M layers of grids adjacent to the current working covered region adjacent to the free region into the third list; traversing the third list, storing the position information of the region adjacent to the free region, the obstacle and obstacle inflation layer region in the region corresponding to the position information stored in the third list into the fourth list, and determining the grid attribute corresponding to the position information stored in the fourth list in the first new map as the target path point.

[0079] Preferably, for the two planning modes, after determining the grid attribute corresponding to the position information stored in the fourth list in the first new map as the path point, further optimization operation is required to delete the path points that do not meet the requirements, and thus the method can further include the following processes: traversing the fourth list, reserving the multiple grid points adjacent to the free region identification area, the obstacle identification area, the obstacle and obstacle inflation layer region, or the region outside the boundary information in the grid point corresponding to the position information stored in the fourth list, and deleting the other grid points in the grid point corresponding to the position information stored in the fourth list except the multiple grid points; traversing the fourth list, deleting the isolated points, end points, and intersection points with the grid attribute of path point in the third list and the fourth list. Determining all the grid points with the grid attribute of path point in the first new map as the final target path point.

[0080] Preferably, after determining the target path point, a corresponding disassembling operation needs to be performed to obtain a planned path, and the path is saved in a list. After all paths are planned, the planned path information is sent to the motion control module, so that the motion control module controls the robot to track the planned path.

[0081] Corresponding to the first path planning mode, the corresponding disassembling operation includes the following processing: when searching for a disassembling point for the first time, searching for a target path point closest to the current robot position in the first newly created map as a disassembling point; when searching for a disassembling point for the first time, searching for a target path point closest to the last path point of the last path as a disassembling point; selecting one of the two adjacent grid points of the disassembling point as a starting point, searching adjacent target path points one by one, and storing each target path point searched in the fifth list one by one; judging whether the storage order of the target path points in the fifth list meets the predetermined path direction requirement, and if not, adjusting the storage order; and storing the target path points in the fifth list in the sixth list.

[0082] Preferably, after storing the target path points in the fifth list in the sixth list, the following processing can also be included: resetting the idle area identification area in the first newly created map to an idle area, resetting the obstacle identification area in the first newly created map to an obstacle area, and resetting the grid attribute of the area in the first newly created map to a path point to an idle area; expanding the current obtained path by P layers, and importing the information in the expanded information that can be imported into the idle area of the first newly created map into the first newly created map, wherein P is half of the single operation coverage width of the robot; returning to the step of traversing the first newly created map and storing the position information corresponding to the boundary information in the third list, and repeatedly executing the step and the subsequent steps until the target path point closest to the last path point of the last path cannot be searched in the first newly created map; and saving all paths in the sixth list as the planned paths.

[0083] The above preferred embodiments are further described below in conjunction with examples.

[0084] The first planning mode is to start from the predetermined route (for example, the outermost grid of the working range) and plan the path in the working range step by step. The premise is that the mapping (WorldMap) has been completed, and the boundary division has been completed. The information in the grid map WorldMap includes: Obs (obstacle) information, ObsExpand (obstacle expansion layer) information, Unknown (unknown) information, Free (free) information. A new cover map CoverMap is recorded to record the current working coverage information.

[0085] Step 1: Extract the data of WorldMap to a temporary map map, replace ObsExpand with Obs; The information contained in map1 includes: Outside, Obs, Cover, Free, Side, Unknown. Then fill the boundary information into map1, and the filling value is Side; Fill the area outside the working range in map1 as Outside.

[0086] Step 2: Fill the coverage information in CoverMap into map1, and the filling value is Cover. It needs to be explained that: only the information in covermap that can be imported into the free area in map1 is imported into the free area in map1.

[0087] Step 3: Traverse map1, store the coordinates of Side in map1 to ilist1, and store the coordinates of Cover adjacent to Free to slist1.

[0088] Step 4: Traverse slist1, store the grid coordinates of Obs around slist1 and the Obs connected to slist1 to ilist1, and reset the corresponding Obs in map to FlgObs.

[0089] Step 5: Traverse slist1, store the grid coordinates of Free within M layers of grids around slist1 to ilist1. The value of M is half of the single coverage width of the robot plus 1, for example, if the single coverage width of the robot is 10 grids, then the value of N is 6.

[0090] Step 6: Traverse ilist1, reset the corresponding grid value in map1 to FlgFree.

[0091] Step 7: Traverse ilist1, record the grid coordinates adjacent to Free and Obs in ilist1 to plist1, and reset the corresponding grid attribute in map1 to Path.

[0092] Step 8: Loop through plistl, remove isolated points, end points, intersection points (when there are more than 2 Path grids in the Path grid neighborhood (for example, 8-neighborhood), the point is determined as an intersection point) from plistl and ilistl.

[0093] Step 9: The Path grid points in mapl are taken as preliminary target path points.

[0094] Step 10: If it is the first time to find a disassembling point, search for the closest Path grid point to the current robot position in mapl as the disassembling point ps2, if it is not the first time to find a disassembling point, search for the closest target path point to the last path point of the previous path in the mapl as the disassembling point; if no disassembling point is found, it is considered that the current area has no covering path that meets the requirements. After ps2 is not found, it is necessary to perform a leak repair.

[0095] It should be noted that since the path is planned from the boundary information to the uncovered area of the work range, after all the paths are planned in the map, the planned paths are sent to the motion control module of the robot, so that the motion control module controls the robot to track the planned paths. Therefore, before the path planning is completed, the position of the robot will not change. In the path planning process, for the first planned path, when searching for the disassembling point of the path, the closest target path point to the current robot position in the above first newly created map is searched as the disassembling point; for each path other than the first path, when searching for the disassembling point of the path, the last path point of the previously planned path is taken as the reference point.

[0096] Step 11: Determine the path: the Path grid points in mapl are all 8-neighborhood single connections. Reset the ps2 point in mapl to Free, randomly take one of the two points around ps2 as the starting point, search for the Path points in mapl and store them to pathlistl.

[0097] Step 12: Adjust the path direction: clockwise determine pathlistl, if it is opposite to the set direction, the pathlistl can be sorted in reverse.

[0098] Step 13: Store the target path points in pathlistl to tlistl.

[0099] Step 14: Reset FlgFree in mapl to Free, reset FlgObs to Obs, and reset Path to Free.

[0100] Step 15: the current obtained path is expanded P layers and filled into the map1, it is to be noted that only the grid with the grid value of Free is covered in the filling process. Wherein, P is half of the width of single operation of the robot, for example, if the width of single operation of the robot is 10 grids, then the value of N is 5.

[0101] Step 16: return to step 3, and execute steps 3 to 15 in a loop until the target path point closest to the last path point of the last path is not searched in the map1, then the loop is exited. After the loop is exited, the path composed of all path points stored in the tlist1 is taken as the planned all paths.

[0102] Corresponding to the second path planning mode described above, the corresponding disassembling operation includes the following processing: when searching for the disassembling point for the first time, searching for the target path point closest to the predetermined position in the first newly built map as the disassembling point, when searching for the disassembling point for the first time, searching for the target path point closest to the last path point of the last path in the first newly built map as the disassembling point; selecting one of the two grid points adjacent to the disassembling point as the starting point, searching for adjacent target path points one by one, and storing each target path point searched into the fifth list one by one; judging whether the storage order of the target path points in the fifth list meets the predetermined path direction requirement, if not, adjusting the storage order; storing the target path points in the fifth list into the sixth list.

[0103] It is to be noted that since the path is planned in the working range from the predetermined position one by one, after all the paths are planned in the map, the planned all paths are sent to the motion control module of the robot, so that the motion control module controls the robot to track the planned all paths. Therefore, before the path planning is completed, the position of the robot will not change, and for each path, the last path point of the last planned path is taken as the reference point when searching for the disassembling point of the path.

[0104] Preferably, after storing the target path points in the fifth list into the sixth list, the following processing can also be included: resetting the free area identification area in the first newly created map as a free area, resetting the obstacle identification area in the first newly created map as an obstacle area, and resetting the area with the grid attribute of a path point in the first newly created map as a free area; expanding the current obtained path by P layers, and importing the information in the expanded information that can be imported into the free area in the first newly created map into the first newly created map, wherein P is half of the single operation coverage width of the robot; returning to the step of traversing the first newly created map, storing the position information of the free area within M layers of grids adjacent to the predetermined position into the third list, and cyclically executing the step and the subsequent steps until a target path point closest to the position of the last path point of the previous path cannot be searched in the first newly created map; and storing all the paths saved in the sixth list as the planned paths.

[0105] For the second planning mode, that is, the path is planned in the above operation range from the above predetermined position. Different from the above steps, when planning the first path, the above step 3 needs to be changed to: traverse map1, and store the coordinates of the Free within M layers around the predetermined position ps1 into ilist1. When planning the non-first path, step 3 is not changed, that is, traverse map1, store the coordinates of the Side in map1 into ilist1, and store the coordinates of the Cover adjacent to the Free into slist1; in step 10, when searching for the disassembling point for the first time, search for a target path point closest to the predetermined position in the first newly created map as the disassembling point, and when searching for the disassembling point for the non-first time, search for a target path point closest to the position of the last path point of the previous path in the first newly created map as the disassembling point. Other steps are described above and will not be repeated here.

[0106] Preferably, the above method can further comprise: importing information of the above grid map into a second newly created map, wherein the second newly created map comprises: region information outside the boundary information, obstacle and obstacle inflation layer region information, free region information, boundary information, unknown region information; importing information capable of being imported into the free region of the second newly created map in the current operation covered region information into the second newly created map; identifying the grid attribute of the second newly created map as a free region and resetting it as a free identification area; counting the number of grid points of the free identification area connected together in the second newly created map, and resetting the grid attribute of the free identification area with a grid point number less than a predetermined number as a free region; taking feature points (for example, points on the symmetry axis of the symmetric region can be taken as feature points) of the free identification area in the second newly created map, resetting the feature points as path points, identifying the end points of at least one path formed by the path points; searching for the end point of the at least one path closest to the current position of the robot as a starting point, and gradually searching for adjacent free identification areas and path points, saving the searched grid point region, determining the longest path connected with the starting point according to the searched grid point region, saving the longest path, and judging whether the searched grid point region and / or the longest path meet a preset condition, if not, repeating the step until the searched grid point region and / or the longest path meet the preset condition; determining the grid point region and / or the longest path meeting the preset condition as a robot operation leakage area, and sending information of the leakage area to a motion control module of the robot to control the robot to operate in the leakage area.

[0107] The above preferred embodiments are further described in combination with examples.

[0108] In the preferred implementation process, it is necessary to supplement the area where the path cannot be generated. Specifically, the following steps are included:

[0109] Step 1: extract the current partition data in the grid map WorldMap to the temporary map map2; fill the boundary information into map2, and fill the area outside the operation range in map2 as Outside.

[0110] Step 2: fill the cover information corresponding to the current partition in the cleaning cover map CoverMap into map2, and import the information capable of being imported into the free region of map2 into map2; at this time, the information contained in map2 includes: Outside, Obs, Cover, Free, Side, Unknown.

[0111] Step 3: Mark the area of map2 with grid attribute Free, and reset it as FlgFree. Count the number of FlgFree in each connected piece in map2, and reset the piece with number less than n (minimum patch number) as Free.

[0112] Step 4: Take feature points (for example, the points on the symmetry axis of the symmetric area can be taken as feature points) in the FlgFree area of map2, and reset the feature points as path points.

[0113] Step 5: Take the grid with grid attribute Path in the current map2 as patch path points.

[0114] Step 6: Mark the end point of each path point.

[0115] Step 7: Find the end point ps3 closest to the current position of the robot.

[0116] Step 8: Take ps3 as the starting point, find all the FlgFree and Path points connected to it and store them in slist2; find all the path points connected to it and store them in tlist1. At this time, a patch curve path can be obtained.

[0117] Step 9: Judge the data in slist2 and tlist1. If the data in one of the tables meets the predetermined condition, output tlist1, otherwise, reset the grid attribute in slist2 as Free, and then run steps 7 to 9 in a loop until the condition in step 9 is met, or ps3 cannot be found in step 7, then exit the loop.

[0118] Preferably, during the operation of the robot, at least one of the following processes can be included:

[0119] When the spatial information at different time points in the same area changes, the above motion control module controls the above robot to execute the escape decision processing, and in the case that the above robot cannot escape, the above robot executes the abnormal report processing;

[0120] When the spatial information at the same time point in different areas changes, the above robot executes the corresponding decision processing according to the historical record information and the observation data of the current sensor.

[0121] In the preferred implementation process, the prerequisite for robot decision planning is perception, which can be perceived and responded to. The degree of intelligence of the robot depends on the perception ability. Sensor detection, Internet of Things data sharing, machine learning, state prediction, etc. are all the perception abilities of the robots, but not all robot platforms have these abilities. When the robot encounters situations beyond the perception ability, it is difficult for the robot to make reasonable and effective responses.

[0122] The change of spatial information at the same place and different time points causes the normal workflow of the robot to be interrupted, and in this case, it is impossible to make reasonable decision planning. For example, after the robot enters a room, the door of the room is closed, and the robot wants to leave the current room, but the robot cannot know the next time when the door is opened. The opening and closing state of the door at different time points may be different, and the robot can detect the opening or closing of the door, but the robot cannot know the opening and closing state of the door at the next time node. If the robot is required to wait in the room for the door to open, then new problems will be introduced: where should the robot wait in the room; whether the robot affects the normal work of other objects (such as other robots) in the room during the waiting period; whether the robot is regarded as an obstacle by other objects (such as other robots); whether the robot needs to change position during the waiting period; whether the robot can timely perceive that the door is opened, how the robot knows the waiting time, and how to deal with the low battery of the robot during the waiting period, etc. In the case where there is no reasonable response to realize the escape, the robot can issue an alarm and wait for manual intervention, so as to avoid making the robot make decision planning from the time dimension.

[0123] At the same time point, the change of different spatial information also has certain limitations for the decision planning of the robot. Affected by the detection range of the sensor, the perception of the robot to the space environment is limited, and only the change of the local environment can be detected. For the environmental change beyond the perception range of the robot, the robot can only make decision planning according to the historical information. When the robot executes the decision task, the decision planning can be adjusted in real time according to the current perception information. For example, a new obstacle is detected on the planned path, the robot can try to bypass the obstacle, and if it is found that the obstacle cannot be bypassed, the path is re-planned.

[0124] Preferably, the above method further comprises: after the robot completes all the work (for example, the coverage path cannot be regenerated, and the leakage repairing path also cannot be regenerated, which can be considered as completing all the work), the robot work coverage area is counted to obtain the area of the actual work coverage area of the robot, and the work coverage rate of the robot is calculated according to the area of the actual work coverage area and the area of the predetermined robot work range.

[0125] Preferably, the method further comprises: when the robot completes all the tasks, performing a path planning operation to plan a path for the robot to return to the charging pile position, the initialization object position, or the robot task starting position; and the robot returns to the charging pile position, the initialization object position, or the robot task starting position according to the planned path, and sends the currently saved map information, the area information of the actual task coverage area, and the robot task related information (for example, robot task state information, task duration information, consumable information, etc.) to a local or cloud backup.

[0126] According to an embodiment of the present application, a robot path planning device is also provided.

[0127] Figure 2 is a structural block diagram of the robot path planning device according to an embodiment of the present application. As shown in Figure 2 , the robot path planning device comprises: an acquisition module 20 configured to acquire a map in which information of a predetermined robot task range is bound; a path planning module 22 configured to plan a path in the task range successively from the boundary information or from a predetermined position, wherein each planned path is a path formed by inflating a last task path by a predetermined value of a robot task coverage width to an uncovered area of the task range; and a sending module 24 configured to send all the planned paths to a motion control module of a robot after planning all the paths in the map, so that the motion control module controls the robot to track all the planned paths.

[0128] The device shown in Figure 2 proposes a new regional coverage planning path scheme. The acquisition module 20 acquires a map in which information of a predetermined robot task range is bound. The path planning module 22 plans a path in the task range successively from the boundary information or from a predetermined position. The sending module 24 sends all the planned paths to a motion control module of a robot after the path planning module plans all the paths, so that the motion control module controls the robot to track all the planned paths. The path planning device of the present application solves the problem of low robot stability and low work efficiency caused by the regional coverage planning mode in the related art, and improves the robot stability and work efficiency.

[0129] It should be noted that the preferred embodiments of the modules and units in the above device can refer to the description of Figure 1 , which will not be repeated here.

[0130] According to an embodiment of the present application, a robot is also provided.

[0131] Figure 3is a structural block diagram of a robot according to an embodiment of the present application. As shown in Figure 3 The robot according to the present application comprises a memory 30 for storing computer execution instructions, and a processor 32 for executing the computer execution instructions stored in the memory, so that the robot performs the path planning method of the robot provided in the above embodiments.

[0132] The processor 32 can be a central processing unit (CPU). The processor 52 can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. chips, or a combination of the above chips.

[0133] The memory 30 is a non-transitory computer readable storage medium, which can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as the program instructions / modules corresponding to the robot relocation method in the embodiments of the present application. The processor executes various functional applications and data processing of the processor by running the non-transitory software programs, instructions and modules stored in the memory.

[0134] The memory 30 can include a program storage area and a data storage area, wherein the program storage area can store an operating system and at least one application required by a function; the data storage area can store data created by the processor, etc. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory 30 can optionally include a memory remotely arranged with respect to the processor, which can be connected to the processor through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.

[0135] The one or more modules are stored in the above-mentioned memory 30, and when executed by the above-mentioned processor 32, the robot path planning method in the above-mentioned embodiment is executed. Figure 1

[0136] The specific details of the above-mentioned robot can be understood by referring to the corresponding related descriptions and effects in the above-mentioned embodiments, which will not be repeated here. Figure 1 ​​

[0137] To sum up, by means of the above-mentioned embodiments provided by the present application, a new regional coverage planning path scheme is proposed, a map with information of a predetermined robot working range is acquired, a path is planned in the working range successively from the predetermined route or from a predetermined position, the planned path is sent to a motion control module of the robot, so that the motion control module controls the robot to track the planned path. The scheme provided by the embodiment of the present application has a better smoothness of the planned route and a high working coverage efficiency, solves the problems of the regional coverage planning mode in the related art, such as low robot stability and low working efficiency, and improves the robot stability and the working efficiency. After the path is planned, a leakage supplement scheme is designed, which further increases the working coverage rate, and the present scheme is not constrained by the robot turning radius and can be applied to various mobile robot platforms.

[0138] The above disclosure is only several specific embodiments of the present application, but the present application is not limited thereto, and any changes that can be thought of by those skilled in the art shall fall within the protection scope of the present application.

Claims

1. A robot path planning method, characterized by, The method comprises: acquiring a map, wherein information of a predetermined robot working range is bound in the map; planning paths in the working range successively starting from a predetermined route or from a predetermined position, wherein each planned path is a path formed by inflating a previous working path to a predetermined value of a robot working coverage width in an uncovered area of the working range, and the planning paths in the working range successively starting from the predetermined route further comprises: when planning a first path, importing information of a grid map into a first newly created map, wherein the first newly created map comprises: area information outside the working range, obstacle and obstacle inflation layer area information, free area information, boundary information, unknown area information; importing information of a current working covered area that can be imported into a free area of the first newly created map into the first newly created map; traversing the first newly created map, storing position information corresponding to the boundary information to a third list; storing position information of a current working covered area adjacent to the free area, an obstacle and an obstacle inflation layer area adjacent to the current working covered area, and an obstacle and an obstacle inflation layer area adjacent to the obstacle and the obstacle inflation layer area to the third list, and resetting areas corresponding to the position information stored in the third list to obstacle identification areas in the first newly created map; storing position information of a free area within M layers of grids adjacent to the current working covered area adjacent to the free area to the third list, and resetting areas corresponding to the position information stored in the third list to free area identification areas in the first newly created map, wherein M is half of a single robot working coverage width plus 1; traversing the third list, storing position information of areas adjacent to the free area, the obstacle and the obstacle inflation layer area in areas corresponding to the position information stored in the third list to a fourth list, and determining grid attributes corresponding to the position information stored in the fourth list as path points in the first newly created map; after planning all paths in the map, sending all planned paths to a motion control module of the robot, so that the motion control module controls the robot to track the all planned paths.

2. The method of claim 1, wherein, Before acquiring the map, the method further comprises: establishing a world coordinate system based on reference points, and constructing a world map based on the world coordinate system, wherein the reference points comprise: a charging pile position, an initialization object position, and a robot working start position; constructing a grid map based on the world coordinate system and the world map, wherein the grid map comprises: unknown area information, obstacle area information, obstacle inflation area information, and free area information; determining information of a robot working range.

3. The method of claim 2, wherein, The establishing a world coordinate system based on reference points and constructing a world map based on the world coordinate system comprises at least one of: responding to an operation of a user controlling the robot to move in a target area until the construction of the world map is completed; autonomously moving the robot in the target area to build a map until the construction of the world map is completed; When the robot tracks a preset specific marker or a moving object to build a map, until the construction of the world map is completed; In response to cloud operation, when one or more robots move in the target area to build a map, until the construction of the world map is completed.

4. The method of claim 2, wherein, The information for determining the robot working range includes at least one of the following: In response to the operation of moving the robot by the user, the range surrounded by the grid corresponding to the moving track of the robot is taken as the working range; In response to the setting operation of the user on the map through the human-computer interaction interface, the range surrounded by the route set by the user is taken as the working range; After the robot autonomously moves in the target area to complete the construction of the grid map, an idle area connected with the starting point is searched in the grid map, and the position information of the idle area is saved into a first list; The position information in the first list is iterated, the position corresponding to the position information in the first list is expanded to N layers of non-idle areas, and the grid in the Nth layer is determined as the outermost grid of the robot working range, the position information of all the outermost grids is stored into a second list, and N is a boundary depth determined by a positioning error, a mapping error and robot related information; The robot delimits the working range in the grid map according to a predetermined marker or predetermined feature information.

5. The method of claim 2, wherein, After the grid map is constructed based on the world coordinate system and the world map, at least one of the following is further included: In response to the forbidden area setting operation of the user, a forbidden area in which the robot is prohibited to enter is set in the grid map; In response to the virtual wall setting operation of the user, a virtual wall through which the robot is prohibited to pass is set in the grid map; In response to the core coverage area setting operation of the user, an area in which the robot needs to achieve full coverage or multiple coverage is set in the grid map; In response to the ignore coverage area setting operation of the user, an area in which the robot needs to pass but does not need to achieve coverage is set in the grid map; In response to the safe coverage area setting operation of the user, an area in which the robot needs to keep a predetermined safe distance from an obstacle when passing is set in the grid map; In response to the setting operation of the user on a specific area, a specific area is set in the grid map according to area attribute information.

6. The method of claim 1, wherein, The path is planned in the working range from the predetermined position in sequence, including: When planning the first path, the information of the grid map is imported into a first newly created map, wherein the first newly created map includes: area information outside the boundary information, obstacle and obstacle expansion layer area information, idle area information, boundary information, unknown area information; The information of the current working covered area information that can be imported into the idle area of the first newly created map is imported into the first newly created map; The position information of the idle area within M layers of grids adjacent to the predetermined position is stored into a third list by iterating the first newly created map, and the area corresponding to the position information stored into the third list in this step is reset as an idle area identification area in the first newly created map, wherein M is half of the single working coverage width of the robot plus 1. The location information of obstacles and obstacle expansion layer areas adjacent to the currently covered area of ​​the free area, as well as the location information of obstacles and obstacle expansion layer areas adjacent to the obstacle and obstacle expansion layer areas, are stored in the third list. In the first newly created map, the area corresponding to the location information stored in the third list in this step is reset as an obstacle identification area. The location information of the free areas within the M-layer grid adjacent to the currently covered area of ​​the free area is stored in the third list; Traverse the third list, save the location information of the regions adjacent to the free area, obstacles and obstacle expansion layer regions in the region corresponding to the location information saved in the third list to the fourth list, and determine the grid attribute corresponding to the location information saved in the fourth list as a path point in the first newly created map.

7. The method according to claim 1 or 6, characterized in that, After determining the raster attributes corresponding to the location information saved in the fourth list as path points in the first newly created map, the method further includes: Traverse the fourth list, retain multiple grid points in the grid points corresponding to the location information stored in the fourth list that are adjacent to the free area marker area, obstacle marker area, obstacle and obstacle expansion layer area, or the area outside the boundary information, and delete other grid points in the grid points corresponding to the location information stored in the fourth list except for the multiple grid points. Traverse the fourth list and delete isolated points, endpoints, and intersections with the raster attribute of path point in the third and fourth lists; All grid points in the first newly created map whose grid attribute is path point are determined as the final target path points.

8. The method according to claim 1 or 7, characterized in that, Also includes: When searching for a dismantling point for the first time, the target path point closest to the current robot location is searched in the first newly created map as the dismantling point. When searching for a dismantling point for other times, the target path point closest to the last path point of the previous path is searched in the first newly created map as the dismantling point. Select one of the two grid points adjacent to the disassembly point as the starting point, search for adjacent target path points one by one, and store each target path point found into the fifth list. Determine whether the storage order of the target path points in the fifth list meets the predetermined path direction requirements. If not, adjust the storage order. Store the target path points in the fifth list into the sixth list.

9. The method of claim 8, wherein, After storing the target path points in the fifth list into the sixth list, the process also includes: Reset the free area markers in the first newly created map to free areas, reset the obstacle markers in the first newly created map to obstacle areas, and reset the areas in the first newly created map with the grid attribute of path points to free areas. Expand the currently obtained path by P layers, and import the information of the expanded information that can be imported into the free area of ​​the first newly created map into the first newly created map, wherein P is half of the coverage width of a single operation of the robot; Returning to the step of traversing the first newly built map, storing the position information of the idle area within the M layers of grids adjacent to the predetermined position into the third list, and cyclically executing the step and the subsequent steps until the target path point closest to the last path point of the last path is searched in the first newly built map; Storing all the paths saved in the sixth list as the planned paths.

10. The method of claim 6 or 7, wherein, Further comprising: When searching the disassembling point for the first time, searching the target path point closest to the predetermined position in the first newly built map as the disassembling point, and when searching the disassembling point for the second time, searching the target path point closest to the last path point of the last path in the first newly built map as the disassembling point; Selecting one of the two grid points adjacent to the disassembling point as the starting point, searching the adjacent target path points one by one, and storing each target path point searched into the fifth list one by one; Judging whether the storage order of the target path points in the fifth list meets the predetermined path direction requirement, and adjusting the storage order if it does not meet the requirement; Storing the target path points in the fifth list into the sixth list.

11. The method of claim 10, wherein, After storing the target path points in the fifth list into the sixth list, further comprising: Resetting the idle area identification area in the first newly built map as an idle area, resetting the obstacle identification area in the first newly built map as an obstacle area, and resetting the area of the grid attribute as a path point in the first newly built map as an idle area; Expanding the current path by P layers, and importing the information capable of being imported into the idle area in the first newly built map into the first newly built map, wherein P is half of the single operation coverage width of the robot; Returning to the step of traversing the first newly built map, storing the position information of the idle area within the M layers of grids adjacent to the predetermined position into the third list, and cyclically executing the step and the subsequent steps until the target path point closest to the last path point of the last path is searched in the first newly built map; Storing all the paths saved in the sixth list as the planned paths.

12. The method of claim 2, wherein, Further comprising: Importing the information of the grid map into a second newly built map, wherein the second newly built map comprises: area information outside the boundary information, obstacle and obstacle expansion layer area information, idle area information, boundary information, unknown area information; Importing the information capable of being imported into the idle area in the second newly built map into the second newly built map from the current operation covered area information; Identifying the grid attribute as an idle area in the second newly built map, and resetting it as an idle identification area; Counting the number of grid points of the idle identification area in which a plurality of grid points are connected together in the second newly built map, and resetting the grid attribute of the idle identification area whose number of grid points is less than a predetermined number as an idle area; Taking a feature point from the idle identification area in the second newly built map, resetting the feature point as a path point, and identifying the end point of at least one path formed by the path point; searching an end point of the at least one path closest to a current position of the robot as a starting point, searching adjacent idle identification areas and path points step by step, saving a searched grid point area, determining a longest path connected with the starting point according to the searched grid point area, saving the longest path, judging whether the searched grid point area and / or the longest path meets a preset condition, and if not, performing the step cyclically until the searched grid point area and / or the longest path meets the preset condition; determining the grid point area and / or the longest path meeting the preset condition as a robot operation repair area, and sending information of the repair area to a motion control module of the robot, so that the motion control module controls the robot to operate in the repair area.

13. The method according to any one of claims 1 to 12, characterized in that, Further comprising at least one of: during the robot operation, when spatial information of a same area changes at different time points, the motion control module controls the robot to perform a trouble-removing decision processing, and in a case that the robot cannot remove the trouble, the robot performs an abnormality reporting processing; during the robot operation, when spatial information of different areas changes at a same time point, the robot performs a corresponding decision processing according to historical record information and observation data of a current sensor.

14. The method according to any one of claims 1 to 12, characterized in that, Further comprising: after the robot tracks all the planned paths to complete all operations, counting the robot operation coverage area to obtain an area of an actual robot operation coverage area, and calculating a robot operation coverage rate according to the area of the actual robot operation coverage area and an area of the pre-determined robot operation range.

15. The method according to any one of claims 1 to 12, characterized in that, Further comprising: performing a path planning operation at a position of the robot when the robot completes all operations, and planning a path for the robot to return to a charging pile position, an initialization object position, or a robot operation starting position; the robot returns to the charging pile position, the initialization object position, or the robot operation starting position according to the planned path, and sends current saved map information, area information of the actual robot operation coverage area, and robot operation related information to a local or cloud backup.

16. A robot path planning apparatus characterized by comprising: comprising: an acquisition module configured to acquire a map, wherein information of a pre-determined robot operation range is bound in the map; The path planning module is configured to plan paths in the working range successively starting from a predetermined route or a predetermined position, wherein each planned path is a path formed by expanding the last working path to a predetermined value of the robot working coverage width in the uncovered area of the working range. When planning the first path, the path planning module is further configured to: import information of the grid map into a first newly created map, wherein the first newly created map includes: area information outside the working range, obstacle and obstacle expansion layer area information, idle area information, boundary information, and unknown area information; import information of the current working covered area that can be imported into the idle area of the first newly created map into the first newly created map; traverse the first newly created map, and store position information corresponding to the boundary information in a third list; store position information of the current working covered area adjacent to the idle area, the obstacle and the obstacle expansion layer area adjacent to the current working covered area, and the obstacle and the obstacle expansion layer area adjacent to the obstacle and the obstacle expansion layer area in the third list, and reset the area corresponding to the position information stored in the third list in the first newly created map as an obstacle identification area; store position information of the idle area within M layers of grids adjacent to the current working covered area adjacent to the idle area in the third list, and reset the area corresponding to the position information stored in the third list in the first newly created map as an idle area identification area, wherein M is half of the single working coverage width of the robot plus 1; traverse the third list, store position information of the area adjacent to the idle area and the obstacle and the obstacle expansion layer area in the area corresponding to the position information stored in the third list in a fourth list, and determine the grid attribute corresponding to the position information stored in the fourth list in the first newly created map as a path point; The sending module is configured to send all the planned paths to a motion control module of the robot after planning all the paths in the map, so that the motion control module controls the robot to track the planned paths.

17. A robot comprising: The memory and the processor are characterized in that, The memory is configured to store computer execution instructions. The processor is configured to execute the computer execution instructions stored in the memory, so that the robot executes the method in any one of claims 1 to 14.

Citation Information

Patent Citations

  • Full-coverage path planning method and full-coverage path planning system

    CN108120441A

  • Comprehensive coverage method and system, and an operation robot

    CN111061270A