Robot path planning method and device, and robot

By planning paths on a map and utilizing a motion control module, the problems of stability and low efficiency of mobile robots in complex environments were solved, achieving more efficient area coverage planning.

CN114911228BActive Publication Date: 2026-08-04BEIJING 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-08-04

AI Technical Summary

Technical Problem

Existing mobile robot area coverage planning methods result in low stability and low work efficiency, especially in diverse application scenarios, and traditional path planning methods limit the stability and efficiency of robots.

Method used

By acquiring a map with a pre-defined work area, a path is planned successively within the work area. The motion control module controls the robot to track the planned path. Detailed environmental information is constructed using grid maps and sensor data, and the path is optimized to improve stability and efficiency.

Benefits of technology

It improves the stability and efficiency of robots in complex environments, reduces inertial swaying when turning, and optimizes path planning to adapt to diverse application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114911228B_ABST
    Figure CN114911228B_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 map is bound with the information of predetermined robot work range;From the predetermined route or from predetermined position, path is planned in the work range successively, wherein the path planned each time 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 each planning path, the planned path is sent to the motion control module of robot, to make the motion control module control robot to track the planned path.Using the path planning method of the present application, the area coverage planning mode in the related art is solved, 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] This invention relates to the field of artificial intelligence, and more specifically, to a robot path planning method, apparatus, and robot. Background Technology

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

[0003] Early mobile robots used a relatively simple method for area coverage path planning, typically consisting of two actions: rotational movement and straight-line movement. When the robot encountered an obstacle, it would rotate at a certain angle and continue moving in a straight line until a predetermined time limit was exceeded. This method of area coverage was inefficient and resulted in large missed areas, and was quite common in early robotic vacuum cleaners.

[0004] With the application of inertial navigation technology, mobile robots have acquired positioning capabilities, and area coverage planning has a new direction. It is possible to plan paths that avoid known obstacles, such as the zigzag path planning method.

[0005] However, as the application scenarios of mobile robots become increasingly diversified, including home environments, public office environments, and outdoor environments, the needs they need to address are also becoming more diverse, and the above-mentioned regional coverage planning methods can no longer meet the needs.

[0006] The regional coverage planning methods in related technologies mainly have the following problems:

[0007] 1. The course has many curves, all of which are sharp turns, resulting in high rotational speeds for the robot when turning. This has a significant impact on the robot's SLAM module. When the robot is large and heavy, it generates considerable inertia, causing significant swaying of the load and greatly reducing the robot's stability. Reducing the robot's turning speed could be considered to improve this situation, but this would introduce frequent acceleration and deceleration, thus reducing work efficiency.

[0008] 2. Low work efficiency. The area coverage planning methods in related technologies are usually composed of straight lines, without curves, with short single path lengths and unidirectional extension direction (each time it can only extend in a fixed direction, and after reaching the end, it must stop and re-establish the starting point and direction).

[0009] 3. Limited application platform. The area coverage planning method in related technologies is well adapted to robot chassis with differential speed control models; however, it is constrained by the robot's turning radius on chassis with car control models, resulting in limited cleaning spacing and reduced work efficiency.

[0010] Therefore, there is an urgent need to propose a new regional coverage planning path scheme to solve the above problems and improve the working efficiency of robots. Summary of the Invention

[0011] The main objective of this invention is to disclose a robot path planning method, apparatus, and robot, so as to at least solve the problems of low robot stability and low work efficiency caused by using the area coverage planning method in related technologies.

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

[0013] The robot path planning method according to the present invention includes: acquiring a map, wherein the map is bound with information of a predetermined robot operating range; planning a path successively within the robot operating range, starting from a predetermined route or a predetermined position, wherein each planned path is a path formed by expanding the uncovered area of ​​the operating range by a predetermined value of the robot operating coverage width of the previous operating path; and after each path planning, sending the planned path to the robot's motion control module so that the motion control module controls the robot to follow the planned path.

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

[0015] The robot path planning device according to the present invention includes: an acquisition module for acquiring a map, wherein the map is bound with information of a predetermined robot operating range; a path planning module for planning a path successively within the robot operating range, starting from a predetermined route or a predetermined position, wherein each planned path is a path formed by expanding the uncovered area of ​​the operating range by a predetermined value of the robot operating coverage width of the previous operating path; and a sending module for sending the planned path to the robot's motion control module after each path planning, so that the motion control module controls the robot to follow the planned path.

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

[0017] The robot according to the present invention includes: a memory and a processor, the memory being used to store computer-executable instructions; the processor being used to execute the computer-executable instructions stored in the memory, causing the robot to perform the method as described in any of the preceding claims.

[0018] According to the present invention, a novel area coverage path planning scheme is proposed. This scheme involves acquiring a map currently bound to a predetermined robot operating range, and planning a path sequentially within the robot's operating range, starting from the predetermined route or a predetermined location. The planned path is then sent to the robot's motion control module, enabling the motion control module to control the robot to follow the planned path. This path planning method solves the problems of low robot stability and inefficient operation caused by area coverage planning methods in related technologies, thereby improving robot stability and efficiency. Attached Figure Description

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

[0020] Figure 2 This is a schematic diagram of a raster map after multi-data filling according to an embodiment of the present invention;

[0021] Figure 3 This is a structural block diagram of a robot path planning device according to an embodiment of the present invention;

[0022] Figure 4 This is a schematic diagram of the structure of a robot according to an embodiment of the present invention. Detailed Implementation

[0023] The specific implementation of the present invention will now be described in detail with reference to the accompanying drawings.

[0024] Figure 1 This is a flowchart of a robot path planning method according to an embodiment of the present invention. Figure 1 As shown, the robot path planning method includes:

[0025] Step S101: Obtain a map, wherein the map contains information about the predetermined robot operating range;

[0026] Step S102: Starting from a predetermined route or a predetermined position, plan a path successively within the robot's working range, wherein each planned path is a path formed by expanding the robot's working coverage width to a predetermined value in the uncovered area of ​​the working range from the previous working path.

[0027] Step S103: After each path planning, the planned path is sent to the robot's motion control module so that the motion control module controls the robot to follow the planned path.

[0028] use Figure 1 The method described herein proposes a novel area coverage path planning scheme. It acquires a map bound to information about a pre-determined robot operating range, and plans a path sequentially within the robot's operating range, starting from a predetermined route or a predetermined location. The planned path is then sent to the robot's motion control module, enabling the module to control the robot to follow the planned path. This path planning method solves the problems of low robot stability and inefficient operation caused by area coverage planning methods in related technologies, thereby improving robot stability and efficiency.

[0029] Preferably, such as Figure 2 As shown, before acquiring the map, the following processing may also be included: establishing a world coordinate system based on reference points, and constructing a world map based on the aforementioned world coordinate system, wherein the aforementioned reference points include: charging pile location, initialization object location, and robot operation start location; constructing a grid map based on the aforementioned world coordinate system and the aforementioned world map, wherein the aforementioned grid map includes: unknown area information, obstacle area information, obstacle expansion area information, and free area information; and determining information on the robot's operating range.

[0030] In the process of optimizing the implementation, it is first necessary to determine the reference point. For example, the reference point can be determined in the following ways:

[0031] Method 1: The robot starts from the charging station, using the infrared signal point on the charging station as a reference point. After the robot finishes its work, it returns to the charging station to charge / standby. In practice, no objects that may interfere with the robot's movement should be placed near the charging station.

[0032] Method 2: The robot uses the location of an initialization object (which can be an object containing various feature markers such as natural features and fixed features, for example, a flat marking board. The markers on the initialization object can be Apriltag or other types of markers, such as ARTag, ARToolkit, Aruco, etc.) as its starting point. If the robot cannot find a charging station after completing its task, it can return to the vicinity of the initialization object. During implementation, objects that interfere with the robot's movement should not be placed near the initialization object.

[0033] Method 3: The robot can start its work from any location. Therefore, the robot's starting position can be used as a reference point. If the robot does not find a charging station during its work, it can return to the starting position after completing the task.

[0034] In the preferred implementation process, a raster map can be constructed based on the aforementioned world coordinate system and world map. A raster map is an ordered data array, a collection of pixels composed of many small square pixels, each independent of the others. Raster maps are divided into two-dimensional (2D) raster maps and three-dimensional (3D) raster maps. 3D raster maps store more data and require more storage space than 2D raster maps, resulting in relatively lower data access efficiency. For non-spatial mobile robots, 2D raster maps are generally used. For ground mobile robots, since 2D raster maps already meet the requirements, the following explanation will use 2D raster maps as an example.

[0035] Raster maps can be stored in the following formats, including but not limited to:

[0036] The first type, which saves storage space, includes linked lists, run-length access trees, block trees, and quadtrees. The disadvantage is that random read / write efficiency is relatively low.

[0037] The second type, with relatively high read / write efficiency, includes static graphs. The disadvantage is that they occupy a fixed amount of storage space and consume more storage resources.

[0038] The third approach balances storage and read / write speeds: dynamic maps. The storage space occupied varies depending on the size of the map's effective data, and a small portion of storage resources will still be wasted. However, the read / write speed is equal to that of static maps.

[0039] From a robot's perspective, the spatial attributes of a map can be divided into: Unknown areas (areas the robot has not yet visited), Obstacle areas (obs, impassable areas), ObsExpanded areas (non-obstacle but impassable areas), and Free areas (areas the robot can pass through). Grid values ​​on the map can represent these types of areas, and sometimes other special markers are added. For example, grid value 254 represents an obstacle area, grid value 100 represents an obscured area, and grid value 0 represents a free area.

[0040] In the specific implementation process, the map can be created in the following ways:

[0041] First, obtain reference data for mapping: Robots perceive external information through sensors, which can be multiple sensors, including infrared sensors, ultrasonic sensors, and collision sensors. These sensors can detect obstacles at close range. LiDAR, monocular or binocular cameras, structured light, and Time-of-Flight (TOF) sensors can detect obstacles at long range. LiDAR and cameras have relatively large detection ranges, and robots generally refer to data from these two types of sensors when mapping. Depending on the robot's functional platform, data from other sensors can also be used for mapping. For robots with high safety requirements, multiple sensors can be installed in different parts of the robot to ensure that the sensor detection range covers the robot body. The data from each sensor is then vertically mapped onto a 2D plane to fill the grid map. Alternatively, a 3D grid map can be created based on the robot's height, and then compressed into a 2D grid map during use.

[0042] Secondly, data filling operations are performed, including: firstly, filtering and noise reduction processing of the sensor data; the data obtained from the sensor is all vector data with distance and orientation. After rasterization of the vector data, the raster coordinates of the target point (obstacle) relative to the sensor can be obtained. After translating the raster coordinates of the target point to the raster coordinates of the robot, the raster coordinates of the target point relative to the map origin can be obtained. The raster attribute of the target point in the map is set to the obstacle region, the non-obstacle region around the obstacle is set to the expanded region, and the non-expanded region between the target point and the robot's raster coordinates is set to the empty region. Regarding errors, the errors of the raster map include two types: sensor measurement error and rasterization error itself. The magnitude of the error depends on the accuracy of the sensor and the resolution of the raster map. The higher the sensor measurement accuracy, the higher the map resolution, and the smaller the error in the information fed back by the map, but the larger the map data volume, the longer the time consumed in decision-making. Generally, the accuracy of the sensor is fixed and cannot be changed; the map resolution can be set according to actual needs, but it generally will not exceed the sensor measurement error. A raster map populated with multi-sensor data can be seen in [reference]. Figure 2 The example shown includes: an unknown area 20 (shaded area in the image), an obstacle area 21 (white area in the image), an obstacle expansion area 22 (gray area in the image), and an empty area 23 (black area in the image).

[0043] Typically, different robot platforms have varying map requirements, necessitating map optimization and correction after creation. Optimization methods include, but are not limited to, noise reduction, smoothing, straightening, and map orientation correction.

[0044] Preferably, establishing a world coordinate system based on reference points and constructing a world map based on the aforementioned world coordinate system includes at least one of the following: responding to user-controlled robot movement within a target area until the world map is constructed; mapping while the robot autonomously moves within the target area until the world map is constructed; mapping while the robot tracks preset specific markers or moving objects until the world map is constructed; and mapping while responding to cloud operations when one or more robots move within the target area until the world map is constructed. That is, any one of the above methods, a combination of any two methods, a combination of any two methods, or a combination of all four methods can be used to establish a world coordinate system based on reference points and construct a world map based on the aforementioned world coordinate system.

[0045] In the preferred implementation process, robot mapping operations can be performed using at least one of the following methods:

[0046] 1. Respond to user commands to move the robot within the target area until the world map is constructed; for example, using remote control, handles, or direct push to move the robot within the target area until mapping is completed. Alternatively, the robot can track a designated target (e.g., a user) to complete the scanning and mapping of the work environment, suitable for scenarios involving human-robot hybrid operations and cross-type robot hybrid operations.

[0047] 2. Autonomous mapping method of robot: The robot moves autonomously within the target area until mapping is completed. Specifically, it includes the following processes: (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) to continue execution; (5) Mapping is completed until the target point cannot be found in step (3).

[0048] 3. Target object guidance: Place specific directional markers (e.g., QR codes, etc.) in the robot's working environment, or set specific object features for the robot (e.g., flat marking boards, etc.). The robot will track the above markers or features to scan and map the surrounding environment.

[0049] 4. Cloud Control: Mapping is performed as one or more of the aforementioned robots move within the target area, and the robots can be remotely / centrally controlled via the cloud. This enables cluster management of robots and is suitable for scenarios involving multi-robot collaborative mapping in large-scale environments.

[0050] It should be noted that any one of the above methods, any combination of two, any combination of three, or a combination of all four methods can be used to create a map.

[0051] The mapping content mentioned above can include various information that different robots need to scan and record during mapping, based on their specific working environment and purpose, for future use. Examples include: robot trajectory information, scene obstacle information, robot operational information, environmental feature information, semantic recognition information, and fall information.

[0052] Preferably, the information for determining the robot's operating range may include at least one of the following:

[0053] In response to the user's operation to move the robot, the area enclosed by the grid corresponding to the robot's movement trajectory is defined as the working area.

[0054] In response to user settings on the map via the human-computer interaction interface, the area enclosed by the user-defined route is taken as the aforementioned work area.

[0055] After the robot autonomously moves within the target area to complete the construction of the grid map, it searches for empty areas connected to the starting point in the grid map and saves the location information of the empty areas to a first list. It then traverses the first list and expands the positions corresponding to the location information in the first list to non-empty areas by N layers, and determines the grid of the Nth layer as the outermost grid of the robot's working range. It then traverses the grid map and stores the location information of all the outermost grids in a second list. Here, N is the boundary depth, which is determined by the positioning error, mapping error, and robot association information.

[0056] The robot delineates the work area in the grid map based on predetermined markers or predetermined feature information.

[0057] That is, the robot's operating range can be determined by using any one of the above methods, any combination of any two of the above methods, any combination of any three of the above methods, or a combination of all four methods.

[0058] In the preferred implementation process, when executing the technical solution provided in the embodiments of the present invention, it is necessary to first obtain a map (e.g., a raster map). If there is no existing map, the map can be obtained by constructing a map using the above-mentioned mapping method. Of course, if there is already a constructed map, the map can be obtained by directly importing the constructed map. That is, the robot does not need to rebuild the map and can directly use the existing map. For example, if there are multiple robots in a scene, only one robot needs to build the map, and the other robots can share the map data; or, if the same robot needs to work in multiple scenes, the robot can store the map after completing the mapping in one scene for future use. In addition, when multiple robots work in a cluster, each robot can share the map with each other; the maps built by each robot can also be uploaded to the cloud, and the uploaded multiple maps can be merged in the cloud backend, and then the merged map can be redistributed to the robot cluster.

[0059] Furthermore, robots typically operate within a limited space, so it's necessary to define the boundaries of their work area—that is, the pre-defined robot operating range information bound to the map mentioned above. Specifically, the robot operating range information can be determined using at least one of the following methods:

[0060] Method 1: Responding to user commands to move the robot, the grid corresponding to the robot's movement trajectory is used as information about the work area. For example, the user guides the robot to circle around a designated area boundary, using the robot's trajectory as the boundary. The robot is not allowed to exceed this boundary during subsequent work. This method has limitations; some areas inaccessible to the robot cannot be included in its work area.

[0061] Method 2: Respond to user map settings via the human-computer interaction interface, using the area enclosed by the user-defined route as the aforementioned work area; for example, after the robot autonomously completes mapping within a known closed area, the boundaries can be manually delineated on the map via the human-computer interaction interface. This method allows for flexible boundary delineation.

[0062] Method 3: After autonomously mapping within a known closed area, the robot autonomously determines its boundaries. The mapped area is relatively comprehensive, maximizing the robot's working range. This includes the following steps:

[0063] Step 1: Use the above mapping method to independently build a raster map (hereinafter referred to as WorldMap).

[0064] Step 2: Determine the boundary independently:

[0065] (1) Find the areas that the robot can reach in the WorldMap and store them in ilist.

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

[0067] (3) Traverse ilist1, expand the coordinates in ilist1 to the non-free area (non-free area) by N layers, and mark the grid value of the Nth layer as FlgSide1.

[0068] (4) Traverse the WorldMap and store the grid coordinates of FlgSide1 into tlist1. The data in tlist1 is the data of the boundary mentioned above.

[0069] Method 4: Set special markers in the robot's working environment, or set specific natural features for the robot. The robot delineates the above-mentioned working area in the grid map based on the markers or predetermined feature information.

[0070] It should be noted that any one, any combination of two, any combination of three, or any combination of four of the above methods can be used to determine the robot's operating range. For example, after the robot completes autonomous mapping and determines its boundaries, it can respond to user operations on map settings through the human-computer interaction interface, adjusting boundary information, etc.

[0071] Preferably, after constructing the raster map based on the aforementioned world coordinate system and world map, it may further include at least one of the following:

[0072] In response to the user's action to set restricted areas, restricted areas that prevent the aforementioned robots from entering are set in the grid map mentioned above;

[0073] In response to the user's virtual wall setting operation, a virtual wall is set on the above grid map to prevent robots from passing through;

[0074] In response to the user's core (key) coverage area setting operation, set the area in the above grid map that the robot needs to achieve full or multiple coverage of the operation;

[0075] In response to the user's action of ignoring the coverage area setting, the area that the robot needs to pass through but does not need to be covered is set in the above grid map;

[0076] In response to the user's safe coverage area setting operation, the robot is set in the above grid map to maintain a predetermined safe distance from obstacles when passing through; that is, the robot is not allowed to get too close to obstacles when working in this area, and must maintain the set safe distance.

[0077] In response to user settings for specific areas, the robot sets up those areas in the grid map according to their attribute information. Examples include carpeted areas, depressions, raised areas, height-restricted areas, width-restricted areas, weight-restricted areas, quiet areas, dry areas, waterlogged areas, uneven road surfaces, shaded areas, brightly lit areas, static object areas, and dynamic object areas. When the robot passes through these areas, it adjusts its working methods based on the set area attributes.

[0078] Preferably, in step S102 above, planning a path sequentially within the robot's operating range starting from the predetermined route (first planning method) may include the following processing: importing the information of the grid map 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, free area information, boundary information, and unknown area information; importing the information of free areas that can be imported into the first newly created map from the currently covered area information into the first newly created map; traversing the first newly created map and storing the location information corresponding to the boundary information in a third list; and placing adjacent currently covered areas that are adjacent to free areas. The location information of obstacles and obstacle expansion layer areas, as well as the location information of obstacles and obstacle expansion layer areas adjacent to such obstacles and obstacle expansion layer areas, is stored in the third list mentioned above; the location information of the free areas within M grid layers adjacent to the currently covered areas of the free areas is stored in the third list mentioned above, where M is half the coverage width of a single robot operation plus 1; the third list is traversed, and the location information of the areas adjacent to the free areas, obstacles and obstacle expansion layer areas in the areas corresponding to the location information stored in the third list is saved in the fourth list, and the grid attributes corresponding to the location information saved in the fourth list are determined as target path points in the first newly created map.

[0079] Preferably, in step S102 above, the path planning (second planning method) starting from the predetermined position and sequentially within the robot's working range may further include the following processing: importing the information of the grid map 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, free area information, boundary information, and unknown area information; importing the information of free areas that can be imported into the first newly created map from the currently covered area information into the first newly created map; traversing the first newly created map and storing the location information of free areas within M grid layers adjacent to the predetermined position into the third list, wherein M is the robot's single... The next operation covers half the width plus 1; the location information of obstacles and obstacle expansion layer areas adjacent to the currently covered area of ​​the idle area, as well as the location information of obstacles and obstacle expansion layer areas adjacent to the current operation covered area, are stored in the third list mentioned above; the location information of the idle area within the M-layer grid adjacent to the currently covered area of ​​the idle area is stored in the third list mentioned above; the third list is traversed, and the location information of the area adjacent to the idle area, obstacles and obstacle expansion layer areas in the area corresponding to the location information stored in the third list is saved in the fourth list, and the grid attribute corresponding to the location information saved in the fourth list is determined as the target path point in the first newly created map.

[0080] Both of the above path planning methods can include the following processing:

[0081] After storing the location information of obstacles and obstacle expansion layer areas adjacent to the currently covered area of ​​the free area, as well as obstacles and obstacle expansion layer areas connected to the obstacles and obstacle expansion layer areas, into the third list mentioned above, the method further includes: resetting the area corresponding to the location information stored in the third list in this step to an obstacle identification area in the first newly created map.

[0082] The process of storing the location information of the free area within the M-layer grid adjacent to the currently covered area of ​​the free area into the third list mentioned above also includes: resetting the area corresponding to the location information stored in the third list in this step to the free area identification area in the first newly created map.

[0083] Preferably, for the aforementioned target path points, further optimization operations are required to delete path points that do not meet the requirements. Therefore, the above method may further include: traversing the fourth list, retaining multiple grid points in the grid points corresponding to the location information stored in the fourth list that are adjacent to free area marker areas, obstacle marker areas, obstacle and obstacle expansion layer areas, or areas outside the aforementioned boundary information, and deleting other grid points in the grid points corresponding to the location information stored in the fourth list except for the aforementioned multiple grid points; traversing the fourth list, deleting isolated points, endpoints, and intersections in the third and fourth lists whose grid attribute is path point. All grid points in the first newly created map whose grid attribute is path point are determined as the final target path points.

[0084] The preferred embodiments described above are further described below with reference to examples.

[0085] For the first planning method, starting from the predetermined route (e.g., the outermost grid of the work area), paths are planned sequentially towards the interior of the work area. This requires that a WorldMap has been created and boundaries defined. The WorldMap contains information including: Obs (obstacles), ObsExpand (obstacle expansion layer) information, Unknown information, and Free information. A new CoverMap is created to record the current work coverage information.

[0086] Step 1: Extract the WorldMap data into a temporary map (map), replacing ObsExpand with Obs; map1 contains the following information: Outside, Obs, Cover, Free, Side, Unknown. Then fill the boundary lines into map1 with the fill value "Side"; fill the areas outside the boundary lines in map1 with "Outside".

[0087] Step 2: Fill the coverage information in CoverMap into map1 with the value Cover. It should be noted that only the information in CoverMap that can be imported into the free area in map1 is imported into the coverage information and filled into the free area in map1.

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

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

[0090] Step 5: Traverse slist1 and store the coordinates of the Free grid cells within M grid layers surrounding slist1 into ilist1. The value of M is half the robot's single coverage width plus 1. For example, if the robot's single coverage width is 10 grid cells, then the value of N is 6.

[0091] Step 6: Iterate through ilist1 and reset the corresponding raster value in map1 to FlgFree.

[0092] Step 7: Traverse ilist1, record the grid coordinates of ilist1 that are adjacent to Free and Obs into plist1, and reset the corresponding grid attributes in map1 to Path.

[0093] Step 8: Loop through plist1 and delete isolated points, endpoints, and intersections with grid value Path from plist1 and ilist1 (a point is considered an intersection when its grid neighborhood (e.g., eight-neighborhood) contains more than two grids with grid value Path).

[0094] Step 9: Use the points in map1 with the raster value Path as the initial target path points.

[0095] For the second planning method, starting from the predetermined position, paths are planned sequentially within the robot's operating range. The difference from the previous steps is that when planning the first path, step 3 needs to be changed to: traversing map1 and storing the grid coordinates of the Free elements within M layers surrounding the predetermined position ps1 into ilist1. Other steps are detailed in the example above and will not be repeated here.

[0096] Preferably, after determining the target path point, a corresponding disassembly operation needs to be performed to obtain a planned path. Then, the planned path is sent to the robot's motion control module so that the motion control module can control the robot to follow the planned path.

[0097] Corresponding to the first path planning method described above, the corresponding dismantling operation includes the following processing: searching for the target path point closest to the current robot location in the first newly created map as the dismantling point; selecting one of the two grid points adjacent to the dismantling point as the starting point, searching for adjacent target path points one by one, and storing each target path point found into the fifth list; determining whether the storage order of the target path points in the fifth list meets the predetermined path direction requirements, and if not, adjusting the storage order.

[0098] The preferred embodiments described above are further described below with reference to examples.

[0099] Step 1: Select the breakpoint: Search in map1 for the grid point with the value Path that is closest to the robot's current position as the breakpoint ps2. If no such point is found, it is assumed that there is no coverage path that meets the requirements in the current area. If ps2 cannot be found, it needs to be filled in.

[0100] It should be noted that, since the robot sequentially plans paths within the work area starting from a predetermined route, its current position is used as the reference point when searching for a path's breakpoint. Each time a path is found, the robot is controlled to follow this planned path. Therefore, the robot's position changes after each path is planned. The next time a path breakpoint is found, the robot's current position after the change is still used as the reference point.

[0101] Step 2: Determine the path: At this point, all points in map1 with the raster attribute "Path" are mutually connected by eight neighborhoods. Reset the point ps2 to "Free" in map1, and take any two points around ps2 as the starting point. Search for Path points in map1 and store them in pathlist1.

[0102] Step 3: Adjust the path direction: Check pathlist1 clockwise. If it is opposite to the set direction, sort pathlist1 in reverse order.

[0103] Corresponding to the second path planning method described above, the corresponding decomposition operation includes the following processing: When searching for the decomposition point for the first time, the target path point closest to the predetermined location is searched in the first newly created map as the decomposition point; one of the two grid points adjacent to the decomposition point is selected as the starting point, and adjacent target path points are searched one by one, and each target path point found is stored in the fifth list; it is determined whether the storage order of the target path points in the fifth list meets the predetermined path direction requirements, and if not, the storage order is adjusted.

[0104] The preferred embodiments described above are further described below with reference to examples.

[0105] Step 1: Selecting the breakpoint: During the initial search for the breakpoint ps2, the nearest grid point with the value Path to the predetermined location ps1 is searched in map1 as the breakpoint ps2. If no such point is found, it is assumed that there is no coverage path that meets the requirements in the current area. If ps2 cannot be found, it needs to be filled in.

[0106] It should be noted that, since the path is planned sequentially from a predetermined position into the work area, the predetermined position is used as the reference point when finding the first path's breakpoint. After finding this path, the robot is controlled to follow the planned path. Therefore, the robot's position changes after each path is planned. When finding the next path's breakpoint, the robot's current position after the position change is still used as the reference point.

[0107] Step 2: Determine the path: At this point, all points in map1 with the raster attribute "Path" are mutually connected by eight neighborhoods. Reset the point ps2 to "Free" in map1, and take any two points around ps2 as the starting point. Search for Path points in map1 and store them in pathlist1.

[0108] Step 3: Adjust the path direction: Check pathlist1 clockwise. If it is opposite to the set direction, sort pathlist1 in reverse order.

[0109] Preferably, the above method further includes: importing the information of the grid map into a second newly created map, wherein the second newly created map includes: area information outside the boundary information, obstacle and obstacle expansion layer area information, free area information, boundary information, and unknown area information; importing the information of the currently covered area that can be imported into the second newly created map into the second newly created map; marking the grid attributes of the second newly created map as free areas and resetting them to free marked areas; counting the number of grid points in the second newly created map where multiple grid points are connected together as free marked areas, and resetting the grid attributes of the free marked areas where the number of grid points is less than a predetermined number to free areas; taking feature points from the free marked areas in the second newly created map (for example, taking points on the axis of symmetry of a symmetrical area as feature points), and... Feature points are reset as path points, and the endpoints of at least one path formed by these path points are marked. The endpoint of the at least one path closest to the robot's current position is searched as the starting point, and adjacent free marked areas and path points are searched step by step. The searched grid point areas are saved. The longest path connected to the starting point is determined based on the searched grid point areas, and the longest path is saved. It is determined whether the searched grid point areas and / or the longest path meet the preset conditions. If not, this step is repeated until the searched grid point areas and / or the longest path meet the preset conditions. The grid point areas and / or the longest path that meet the preset conditions are determined as the robot's work gap-filling areas. The information of the gap-filling areas is sent to the robot's motion control module so that the motion control module controls the robot to work in the gap-filling areas.

[0110] The preferred embodiments described above are further described below with reference to examples.

[0111] During the optimized implementation process, it is necessary to fill in the gaps in areas where paths cannot be generated. The fill-in path is a single curve. Specifically, this includes the following steps:

[0112] Step 1: Extract the current partition data from the raster map WorldMap into the temporary map map2; fill the partition boundary information into map2, and fill the area outside the partition boundary in map2 as Outside.

[0113] Step 2: Fill the coverage information corresponding to the current partition in the CoverMap into map2, and import the information of the free area in map2 that covermap can import into map2; at this time, the information contained in map2 includes: Outside, Obs, Cover, Free, Side, Unknown.

[0114] Step 3: Mark the areas in map2 with the raster attribute "Free" and reset them to "FlgFree". Count the number of connected "FlgFree" areas in map2, and reset the entire raster area with a value less than n (minimum number of missing areas) to "Free".

[0115] Step 4: Extract feature points from the FlgFree region in map2 (for example, points on the axis of symmetry of a symmetrical region can be used as feature points), and reset the feature points to path points.

[0116] Step 5: Use the raster with the grid attribute "Path" in the current map2 as the missing path points.

[0117] Step 6: Mark the endpoints of each path point.

[0118] Step 7: Find the endpoint ps3 that is closest to the robot's current position.

[0119] Step 8: Starting from ps3, find all FlgFree and Path points connected to it and store them in slist2; find all path points connected to it and store them in tlist1. This will give you a path for filling in the gaps in the curve.

[0120] Step 9: Determine the data in slist2 and tlist1. If the data in either table meets the predetermined condition, output tlist1. Otherwise, reset the grid properties in slist2 to Free. Then, loop through steps 7 to 9 until the condition in step 9 is met, or if ps3 is not found in step 7, exit the loop.

[0121] Preferably, the robot operation process may further include at least one of the following processes:

[0122] When spatial information changes at different points in time within the same area, the motion control module controls the robot to make an escape decision. If the robot is unable to escape, it will perform an anomaly reporting.

[0123] When spatial information changes at the same point in time in different regions, the robot makes corresponding decisions based on historical records and current sensor data.

[0124] In the optimal implementation process, perception is a prerequisite for robot decision-making and planning; only with perception can a robot respond. The level of robot intelligence depends on its perception capabilities. Sensor detection, IoT data sharing, machine learning, and state prediction are all aspects of a robot's perception capabilities, but not all robot platforms possess these capabilities. When a robot encounters situations beyond its perception capabilities, it struggles to make a reasonable and effective response.

[0125] Changes in spatial information at different times within the same location can disrupt a robot's normal workflow, making it impossible to make reasonable decision-making. For example, a robot enters a room, the door closes, and the robot wants to leave, but it cannot know when the door will reopen. The door's open / closed state may differ at different times; the robot can detect when the door is open or closed, but it cannot know the door's state at the next point in time. If the robot is required to wait for the door to open, new problems arise: Where should the robot wait in the room? Will the robot interfere with the normal operation of other objects (e.g., other robots) while waiting? Will the robot be perceived as an obstacle by other objects (e.g., other robots)? Should the robot change position while waiting? Can the robot detect when the door opens in time? How does the robot know the waiting time? What if the robot's battery runs low during the waiting period? Without a reasonable way to escape the predicament, the robot can issue an alarm and wait for human intervention, thus avoiding making decision-making based solely on time considerations.

[0126] At any given moment, changes in spatial information limit a robot's decision-making and planning capabilities. Due to the limitations of sensor detection range, a robot's perception of its spatial environment is restricted; it can only detect changes in a localized area. For environmental changes beyond its perception range, the robot must rely on historical information to make decisions and plans. However, when executing a decision-making task, a robot can adjust its plans in real time based on current sensory information. For example, if a new obstacle is detected on the planned path, the robot can attempt to avoid it; if it finds that avoidance is impossible, it will replan the path.

[0127] Preferably, the above method further includes: after the robot completes all tasks (for example, the coverage path can no longer be generated, and the missing path can no longer be generated, so it can be considered that all tasks have been completed), the robot's task coverage area is statistically analyzed to obtain the area of ​​the robot's actual task coverage area, and the robot's task coverage rate is calculated based on the area of ​​the actual task coverage area and the area of ​​the robot's predetermined task range.

[0128] Preferably, the above method further includes: at the position where the robot completes all 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 operation start position; the robot returns to the charging pile position, the initialization object position, or the robot operation start position according to the planned path, and sends the currently saved map information, the area information of the actual operation coverage area, and the robot operation association information (e.g., robot operation status information, operation duration information, consumable information, etc.) to local or cloud backup.

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

[0130] Figure 3 This is a structural block diagram of a robot path planning device according to an embodiment of the present invention. Figure 3 As shown, the robot path planning device includes: an acquisition module 30 for acquiring a map, wherein the map is bound with information of a predetermined robot operating range; a path planning module 32 for planning a path sequentially within the robot operating range, starting from the predetermined route or a predetermined position, wherein each planned path is a path formed by expanding the uncovered area of ​​the operating range by a predetermined value of the robot's operating coverage width from the previous operating path; and a sending module 34 for sending the planned path to the robot's motion control module after each path planning, so that the motion control module controls the robot to follow the planned path.

[0131] use Figure 3The device shown proposes a novel area coverage path planning scheme. The acquisition module 30 acquires a map bound to information about a predetermined robot operating range. The path planning module 32 plans a path sequentially within the robot's operating range, starting from the predetermined route or a predetermined location. The sending module 34 sends the planned path to the robot's motion control module, enabling the motion control module to control the robot to follow the planned path. Using the path planning device of this application solves the problems of low robot stability and low work efficiency caused by area coverage planning methods in related technologies, thus improving robot stability and work efficiency.

[0132] It should be noted that the preferred embodiments of each module and unit in the above-mentioned device can be referred to Figures 1 to 2 The description will not be repeated here.

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

[0134] Figure 4 This is a structural block diagram of a robot according to an embodiment of the present invention. Figure 4 As shown, the robot according to the present invention includes: a memory 40 and a processor 42. The memory 40 is used to store computer execution instructions; the processor 42 is used to execute the computer execution instructions stored in the memory, causing the robot to perform the path planning method of the robot provided in the above embodiment.

[0135] Processor 42 can be a central processing unit (CPU). Processor 52 can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.

[0136] The memory 40, as a non-transitory computer-readable storage medium, 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 this embodiment of the invention. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory.

[0137] The memory 40 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 40 may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0138] One or more of the above modules are stored in the memory 40, and when executed by the processor 42, they perform actions such as... Figures 1 to 2 The robot path planning method in the illustrated embodiment.

[0139] For specific details about the aforementioned robots, please refer to the relevant documentation. Figures 1 to 2 The relevant descriptions and effects in the illustrated embodiments are for understanding purposes only and will not be repeated here.

[0140] In summary, using the embodiments provided by this invention, a novel area coverage planning path scheme is proposed. This scheme acquires a map bound to information about a predetermined robot operating range, and plans a path sequentially into the operating range, starting from the predetermined route or a predetermined location. The planned path is then sent to the robot's motion control module, enabling the motion control module to control the robot to follow the planned path. The route planned by the scheme provided by this invention has good smoothness and high operating coverage efficiency, solving the problems of low robot stability and low work efficiency caused by related area coverage planning methods, thus improving robot stability and work efficiency. After planning the path, a gap-filling scheme is also designed to further increase the operating coverage rate. Furthermore, this scheme is not constrained by the robot's turning radius and can be applied to various mobile robot platforms.

[0141] The above-disclosed embodiments are merely a few specific examples of the present invention. However, the present invention is not limited thereto, and any variations that can be conceived by those skilled in the art should fall within the protection scope of the present invention.

Claims

1. A robot path planning method, characterized in that, include: Obtain a map, wherein the map is bound with information about the robot's operating range that has been predetermined; Starting from a predetermined route or a predetermined location, a path is planned sequentially within the robot's operating range. Each planned path is formed by expanding the robot's operating coverage width to a predetermined value in the uncovered areas of the operating range from the previous operating path. After each path is planned, the planned path is sent to the robot's motion control module so that the motion control module can control the robot to follow the planned path. The process of planning a path sequentially within the robot's operating range, starting from the predetermined route, includes: Import the information from the raster map into the first newly created map, wherein the first newly created map includes: area information outside the boundary information, obstacle and obstacle expansion layer area information, free area information, boundary information, and unknown area information; Import information about available areas in the newly created map that can be imported from the currently covered area information into the newly created map; Traverse the first newly created map and store the location information corresponding to the boundary information into the third list; 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. The location information of the free area within M layers of grid adjacent to the currently covered area of ​​the free area is stored in the third list, where M is half the coverage width of a single robot operation plus 1. 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 the target path point in the first newly created map.

2. The method according to claim 1, characterized in that, Before obtaining the map, the following is also included: A world coordinate system is established based on reference points, and a world map is constructed based on the world coordinate system. The reference points include: the location of the charging pile, the location of the initialization object, and the location where the robot operation starts. Based on the world coordinate system and the world map, a raster map is constructed, wherein the raster map includes: unknown area information, obstacle area information, obstacle expansion area information, and free area information; Information to determine the robot's operating range.

3. The method according to claim 2, characterized in that, Establishing a world coordinate system based on a reference point and constructing a world map based on the world coordinate system includes at least one of the following: Respond to user commands to move the robot within the target area until the world map is constructed; The robot autonomously moves and maps within the target area until the world map is completed; The robot tracks and maps based on preset specific markers or moving objects until the world map is completed. In response to cloud operations, the robot creates a map as it moves within the target area, until the world map is fully constructed.

4. The method according to claim 2, characterized in that, Information that determines the robot's operating range includes at least one of the following: In response to the user's operation to move the robot, the area enclosed by the grid corresponding to the robot's movement trajectory is defined as the working area; In response to the user's map settings via the human-computer interaction interface, the area enclosed by the route set by the user is taken as the work area; After the robot autonomously moves within the target area to complete the construction of the grid map, it searches for an empty area connected to the starting point in the grid map and saves the location information of the empty area to a first list. Traverse the first list, expand the positions corresponding to the position information in the first list to the non-idle area in N layers, and determine the grid of the Nth layer as the outermost grid of the robot's working range. Traverse the grid map and store the position information of all the outermost grids in the second list, where N is the boundary depth, and N is determined by the positioning error, mapping error, and robot association information. The robot delineates the work area in the grid map based on predetermined markers or predetermined feature information.

5. The method according to claim 2, characterized in that, After constructing the raster map based on the world coordinate system and the world map, it also includes at least one of the following: In response to the user's action to set a restricted area, a restricted area is set in the grid map to prevent the robot from entering; In response to the user's virtual wall setting operation, a virtual wall is set on the grid map to prevent robots from passing through; In response to the user's core coverage area setting operation, the area that the robot needs to achieve full or multiple coverage of the operation is set in the grid map; In response to the user's action of ignoring the coverage area setting, the area that the robot needs to pass through but does not need to be covered is set in the grid map; In response to the user's safe coverage area setting operation, the area in the grid map where the robot needs to maintain a predetermined safe distance from obstacles when passing through is set; In response to the user's setting operation for a specific area, the specific area is set in the grid map according to the area attribute information.

6. The method according to claim 1, characterized in that, Starting from the predetermined position, the path planning process within the robot's operating range includes: Import the information from the raster map into the first newly created map, wherein the first newly created map includes: area information outside the boundary information, obstacle and obstacle expansion layer area information, free area information, boundary information, and unknown area information; Import information about available areas in the newly created map that can be imported from the currently covered area information into the newly created map; When planning the first path, the first newly created map is traversed, and the location information of the free area within M layers of grid adjacent to the predetermined position is stored in the third list, where M is half of the robot's single operation coverage width 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. 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, and match the regions corresponding to the location information stored in the third list with free regions and obstacles. The location information of the areas adjacent to the obstacle and obstacle expansion layer area is saved to the fourth list, and the grid attribute corresponding to the location information saved in the fourth list is determined as the target path point in the first newly created map.

7. The method according to claim 1 or 6, characterized in that, After storing the location information of obstacles and obstacle expansion layer areas adjacent to the currently covered area of ​​the idle area, as well as obstacles and obstacle expansion layer areas connected to the obstacle and obstacle expansion layer areas, into the third list, the method further includes: resetting the area corresponding to the location information stored in the third list in this step to an obstacle identification area in the first newly created map. The process of storing the location information of the free area within the M-layer grid adjacent to the currently covered area of ​​the free area into the third list further includes: resetting the area corresponding to the location information stored in the third list in this step to a free area identifier area in the first newly created map.

8. The method according to claim 7, characterized in that, Also 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.

9. The method according to claim 1 or 8, characterized in that, After determining the target waypoint, the process also includes: Search the first newly created map for the target path point closest to the current robot location 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.

10. The method according to claim 6 or 8, characterized in that, After determining the target waypoint, the following is also included: During the initial search for the dismantling point, the target path point closest to the predetermined location 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.

11. The method according to claim 2, characterized in that, Also includes: The information of the grid map is imported into the second newly created map, wherein the second newly created map includes: area information outside the boundary information, obstacle and obstacle expansion layer area information, free area information, boundary information, and unknown area information; Import information about available areas in the newly created map that can be imported from the currently covered area information into the newly created map; Mark the grid areas with the free grid attribute in the second newly created map, and reset them to free marked areas; Count the number of grid points in the empty marker area where multiple grid points are connected in the second newly created map, and then... The grid properties of free marker areas with fewer grid points than the predetermined number are reset to free areas; Feature points are taken from the free marked area in the second newly created map, and the feature points are reset as path points. The endpoints of at least one path formed by the path points are marked. The robot searches for the endpoint of the nearest path to its current position as the starting point, progressively searches for adjacent free marker areas and path points, saves the searched grid point areas, determines the longest path connected to the starting point based on the searched grid point areas, and saves the longest path. It then determines whether the searched grid point areas and / or the longest path meet preset conditions. If not, this step is repeated until the searched grid point areas and / or the longest path meet the preset conditions. The grid point area and / or the longest path that meet the preset conditions are determined as the robot's work area for patching. The information of the patching area is sent to the robot's motion control module so that the motion control module controls the robot to work in the patching area.

12. The method according to any one of claims 1 to 11, characterized in that, It also includes at least one of the following: During the robot's operation, when the spatial information of the same area changes at different times, the motion control module controls the robot to perform an escape decision. If the robot is unable to escape, the robot performs an anomaly reporting. During the robot's operation, when spatial information changes at the same point in time in different areas, the robot performs corresponding decision-making based on historical data and current sensor observation data.

13. The method according to any one of claims 1 to 11, characterized in that, Also includes: After the robot completes all its tasks, the area covered by the robot's operations is statistically analyzed to obtain the area of ​​the robot's actual operations coverage. Based on the area of ​​the actual operations coverage and the area of ​​the predetermined robot's operating range, the robot's operation coverage rate is calculated.

14. The method according to any one of claims 1 to 11, characterized in that, Also includes: At the position where the robot has completed all its tasks, a path planning operation is performed to plan the path for the robot to return to the charging pile position, the initialization object position, or the robot's task start position; The robot returns to the charging pile location, the initialization object location, or the robot operation start location according to the planned path, and sends the currently saved map information, the area information of the actual operation coverage area, and the robot operation association information to the local machine or cloud for backup.

15. A robot path planning device, characterized in that, include: An acquisition module is used to acquire a map, wherein the map is bound with information about a pre-determined robot operating range; The path planning module is used to plan a path within the robot's operating range one by one, starting from a predetermined route or a predetermined location. Each planned path is formed by expanding the robot's operating coverage width to a predetermined value in the uncovered area of ​​the operating range from the previous operating path. The sending module is used to send the planned path to the robot's motion control module after each path planning, so that the motion control module controls the robot to follow the planned path; The path planning module is further configured to perform the following processing: Import the information from the raster map into the first newly created map, wherein the first newly created map includes: area information outside the boundary information, obstacle and obstacle expansion layer area information, free area information, boundary information, and unknown area information; Import information about available areas in the newly created map that can be imported from the currently covered area information into the newly created map; Traverse the first newly created map and store the location information corresponding to the boundary information into the third list; 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. The location information of the free area within M layers of grid adjacent to the currently covered area of ​​the free area is stored in the third list, where M is half the coverage width of a single robot operation plus 1. 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 the target path point in the first newly created map.

16. A robot comprising: Memory and processor, characterized in that, The memory is used to store computer-executed instructions; The processor is configured to execute computer execution instructions stored in the memory, causing the robot to perform the method as described in any one of claims 1 to 14.