A path planning method and device, and a robot

CN117762123BActive Publication Date: 2026-11-03HANGZHOU EZVIZ SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211124883.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-15
Publication Date
2026-11-03
Estimated Expiration
2042-09-15

AI Technical Summary

Technical Problem

In existing technologies, planning a fully covered path for a mobile robot in a designated area takes a long time and is inefficient.

Method used

By adding waypoints to a pre-defined binary tree structure and utilizing map information acquired in real time by the mobile robot, a fully covered path can be planned while exploring, avoiding the need to plan a path only after a full exploration.

Benefits of technology

It improves the efficiency of planning full-coverage routes and saves time in exploring designated areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117762123B_ABST
    Figure CN117762123B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a path planning method and device and a robot, and relate to the technical field of robots. A starting position of a mobile robot in a specified area and initial map information are determined; a current parent node of a preset binary tree structure and a child node of the current parent node are determined; the mobile robot is controlled to move along a current moving direction and add path points in the current parent node and the child node of the current parent node; when there is no unvisited path point belonging to the current parent node in the current moving direction, a specified unvisited path point is determined and the mobile robot is controlled to move to the specified path point; a node to which the specified path point belongs is determined as the current parent node and a new current moving direction is determined, and the step of controlling the mobile robot to move along the current moving direction is returned to until there is no unvisited path point in all added path points. Compared with related technologies, application of the scheme provided by the embodiments of the present application can improve the planning efficiency of full-coverage paths.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotics, and in particular to a path planning method, apparatus, and robot. Background Technology

[0002] With the continuous development of robotics technology, robots are widely used in various scenarios of production and daily life to perform full-coverage tasks in designated areas. For example, in a home, robots are used to clean the living room floor; in engineering projects, robots are used to carry out construction work on designated areas. When a robot performs such a full-coverage task, its movement path needs to be planned so that it can move along the planned path and complete the full-coverage task.

[0003] In related technologies, the mobile robot is usually first controlled to move within a designated area to explore the area and determine the target area. Then, based on the environmental information of the designated area obtained from the exploration, a path covering the target area is planned for the mobile robot.

[0004] However, in existing technologies, the process of exploring a designated area takes a long time, which results in a long time and low efficiency in planning a full-coverage path for the mobile robot in the designated area. Summary of the Invention

[0005] The purpose of this invention is to provide a path planning method, apparatus, and robot to improve the efficiency of planning a full-coverage path for a specified area. The specific technical solution is as follows:

[0006] In a first aspect, embodiments of the present invention provide a path planning method, the method comprising:

[0007] Determine the starting position of the mobile robot in a designated area, and the initial map information of the area surrounding the starting position;

[0008] Based on the initial map information and the preset current movement direction, the current parent node of the preset binary tree structure and the child nodes of the current parent node are determined, and the starting position is determined as the starting path point in the current parent node;

[0009] Control the mobile robot to move along the current direction of movement, and add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement.

[0010] When there is no untraveled path point belonging to the current parent node in the current direction of movement, determine the untraveled designated path point from all added path points, and control the mobile robot to move to the designated path point.

[0011] The node to which the specified path point belongs is determined as the new current parent node, and the preset specified direction is determined as the new current movement direction. The process returns to the step of controlling the mobile robot to move along the current movement direction until there are no unvisited path points among all the added path points.

[0012] Optionally, in one specific implementation, before determining the specified untraveled path point from all added path points when there is no untraveled path point belonging to the current parent node in the current movement direction, the method further includes:

[0013] When the mobile robot detects an obstacle, it determines the volume of the obstacle;

[0014] If the volume is not greater than a preset volume threshold, the mobile robot is controlled to bypass the obstacle and continue moving in the current direction of movement.

[0015] If the volume is greater than the volume threshold, then it is determined that there is no untraveled path point belonging to the current parent node in the current movement direction.

[0016] Optionally, in one specific implementation, determining the unvisited specified path point from all added path points includes:

[0017] The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

[0018] Optionally, in one specific implementation, determining the unvisited specified path point from all added path points includes:

[0019] Determine each target node traversed by the mobile robot;

[0020] If there are untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, then the untraveled path points among the path points included in each target node whose distance from the current position of the mobile robot is less than the preset distance are determined as designated path points.

[0021] Optionally, in one specific implementation, if there are no untraveled path points among the target nodes whose distance to the current position of the mobile robot is less than a preset distance, the step of determining the specified untraveled path point from all added path points includes:

[0022] If there are untraveled path points among the child nodes of the current parent node, then those untraveled path points among the child nodes of the current parent node are determined as the specified path points; or,

[0023] The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

[0024] Optionally, in one specific implementation, the method further includes:

[0025] During the movement of the mobile robot, the mobile robot is controlled to perform a preset task.

[0026] Secondly, embodiments of the present invention provide a path planning device, the device comprising:

[0027] The location determination module is used to determine the starting position of the mobile robot in a specified area, as well as the initial map information of the area surrounding the starting position;

[0028] The node determination module is used to determine the current parent node and the child nodes of the current parent node in a preset binary tree structure based on the initial map information and the preset current movement direction, and to determine the starting position as the starting path point in the current parent node.

[0029] The control module is used to control the mobile robot to move along the current direction of movement, and to add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement.

[0030] The designated path point determination module is used to determine an unvisited designated path point from all added path points when there is no unvisited path point belonging to the current parent node in the current movement direction, and control the mobile robot to move to the designated path point.

[0031] The return module is used to determine the node to which the specified path point belongs as the new current parent node, and to determine the preset specified direction as the new current movement direction, thereby triggering the control module.

[0032] Optionally, in one specific implementation, the apparatus further includes:

[0033] The detection module is used to determine the volume of an obstacle when the mobile robot detects an obstacle before determining the specified untraveled path point from all added path points when there is no untraveled path point belonging to the current parent node in the current direction of movement;

[0034] A mobility module is used to control the mobile robot to bypass the obstacle and continue moving along the current direction of movement if the volume is not greater than a preset volume threshold.

[0035] The determination module is used to determine, if the volume is greater than the volume threshold, that there is no untraveled path point belonging to the current parent node in the current movement direction.

[0036] Optionally, in one specific implementation, the specified path point determination module is specifically used for:

[0037] The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

[0038] Optionally, in one specific implementation, the specified path point determination module is specifically used for:

[0039] Determine each target node traversed by the mobile robot;

[0040] If there are untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, then the untraveled path points among the path points included in each target node whose distance from the current position of the mobile robot is less than the preset distance are determined as designated path points.

[0041] Optionally, in one specific implementation, if there are no untraveled path points among the target nodes whose distance to the current position of the mobile robot is less than a preset distance, the designated path point determination module is specifically used for:

[0042] If there are untraveled path points among the child nodes of the current parent node, then those untraveled path points among the child nodes of the current parent node are determined as the specified path points; or,

[0043] The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

[0044] Optionally, in one specific implementation, the apparatus further includes:

[0045] The task execution module is used to control the mobile robot to perform preset tasks while the mobile robot is moving.

[0046] Thirdly, embodiments of the present invention provide a robot, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;

[0047] Memory, used to store computer programs;

[0048] When a processor executes a program stored in memory, it implements the steps of any of the above method embodiments.

[0049] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the above method embodiments.

[0050] Fifthly, embodiments of the present invention also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of any of the above method embodiments.

[0051] Beneficial effects of the embodiments of the present invention:

[0052] As can be seen from the above, when planning a full-coverage path for a mobile robot in a designated area using the solution provided in this embodiment of the invention, the mobile robot can first be placed at any location in the designated area. Then, the starting position of the mobile robot in the designated area and the initial map information of the area surrounding the starting position can be determined. Then, based on the initial map information and the preset current movement direction, the current parent node and the child nodes of the current parent node of the preset binary tree structure can be determined, and the starting position can be determined as the starting path point in the current parent node. Furthermore, the mobile robot can be controlled to move along the current movement direction, and based on the current map information of the area surrounding the path points obtained during the movement, path points can be added to the current parent node and the child nodes of the current parent node. In this way, when there are no unvisited path points belonging to the current parent node in the current movement direction, the unvisited specified path point can be determined from all the added path points, and the mobile robot can be controlled to move to the specified path point. The node to which the specified path point belongs can be determined as the new current parent node, and the preset specified direction can be determined as the new current movement direction. The process of controlling the mobile robot to move along the current movement direction is repeated until there are no unvisited path points among all the added path points.

[0053] Based on this, by applying the solution provided in this embodiment of the invention, when planning a full-coverage path for a mobile robot over a specified area, path points can be continuously added to each node of a preset binary tree structure based on map information obtained during the robot's movement. Thus, while controlling the mobile robot's movement, a full-coverage path can be planned for the mobile robot based on the map information obtained during the exploration of the specified area. Therefore, when the exploration of the specified area is completed, the planning of the full-coverage path is also completed. This eliminates the need to fully explore the specified area before planning a full-coverage path for the mobile robot, saving exploration time and improving the efficiency of planning a full-coverage path over the specified area. Attached Figure Description

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

[0055] Figure 1 A flowchart illustrating the path planning method provided in an embodiment of the present invention;

[0056] Figure 2 This is a schematic diagram of the area surrounding the mobile robot provided in an embodiment of the present invention;

[0057] Figure 3 Example diagrams illustrating specific instances of the initial location and initial map information provided in embodiments of the present invention;

[0058] Figure 4 This is a schematic diagram of a cleaning line within a specified area provided in an embodiment of the present invention;

[0059] Figure 5 This is a schematic diagram of a preset binary tree structure provided in an embodiment of the present invention;

[0060] Figure 6 An example diagram illustrating a specific instance of a mobile robot detecting an obstacle, as provided in an embodiment of the present invention;

[0061] Figures 7(a)-(b) are schematic diagrams of specific examples of S104 provided in the embodiments of the present invention;

[0062] Figure 8 A flowchart illustrating a specific example of the path planning method provided in an embodiment of the present invention;

[0063] Figure 9 A schematic diagram of a reference map of a specified area provided in an embodiment of the present invention;

[0064] Figure 10 This is a schematic diagram of a partial coverage map of a specified area provided in an embodiment of the present invention;

[0065] Figure 11 This is a schematic diagram of a full-coverage map of a specified area provided in an embodiment of the present invention;

[0066] Figure 12 This is a schematic diagram of the structure of a path planning device provided in an embodiment of the present invention;

[0067] Figure 13 This is a schematic diagram of the structure of a robot provided in an embodiment of the present invention. Detailed Implementation

[0068] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of the present invention.

[0069] In related technologies, the mobile robot is usually first controlled to move within a designated area to explore the area and determine the target area. Then, based on the environmental information of the designated area obtained from the exploration, a path covering the target area is planned for the mobile robot.

[0070] However, in existing technologies, the process of exploring a designated area takes a long time, which results in a long time and low efficiency in planning a full-coverage path for the mobile robot in the designated area.

[0071] To address the aforementioned technical problems, embodiments of the present invention provide a path planning method.

[0072] This method is applicable to various application scenarios involving planning a full-coverage path for a mobile robot over a specified area. For example, in a home, it can plan a full-coverage path for a cleaning robot over a designated room's floor area; in engineering projects, it can plan a full-coverage path for a construction robot over a surface area to be worked on. Furthermore, this method can be applied to mobile robots, for example, by equipping the mobile robot with a path planning device to execute the method; it can also be applied to other electronic devices communicating with the mobile robot, such as a server providing path planning solutions for the mobile robot. Therefore, this embodiment of the invention does not specifically limit the application scenarios or the executing entity of the method.

[0073] A path planning method provided by an embodiment of the present invention may include the following steps:

[0074] Determine the starting position of the mobile robot in a designated area, and the initial map information of the area surrounding the starting position;

[0075] Based on the initial map information and the preset current movement direction, the current parent node of the preset binary tree structure and the child nodes of the current parent node are determined, and the starting position is determined as the starting path point in the current parent node;

[0076] Control the mobile robot to move along the current direction of movement, and add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement.

[0077] When there is no untraveled path point belonging to the current parent node in the current direction of movement, determine the untraveled designated path point from all added path points, and control the mobile robot to move to the designated path point.

[0078] The node to which the specified path point belongs is determined as the new current parent node, and the preset specified direction is determined as the new current movement direction. The process returns to the step of controlling the mobile robot to move along the current movement direction until there are no unvisited path points among all the added path points.

[0079] As can be seen from the above, when planning a full-coverage path for a mobile robot in a designated area using the solution provided in this embodiment of the invention, the mobile robot can first be placed at any location in the designated area. Then, the starting position of the mobile robot in the designated area and the initial map information of the area surrounding the starting position can be determined. Then, based on the initial map information and the preset current movement direction, the current parent node and the child nodes of the current parent node of the preset binary tree structure can be determined, and the starting position can be determined as the starting path point in the current parent node. Furthermore, the mobile robot can be controlled to move along the current movement direction, and based on the current map information of the area surrounding the path points obtained during the movement, path points can be added to the current parent node and the child nodes of the current parent node. In this way, when there are no unvisited path points belonging to the current parent node in the current movement direction, the unvisited specified path point can be determined from all the added path points, and the mobile robot can be controlled to move to the specified path point. The node to which the specified path point belongs can be determined as the new current parent node, and the preset specified direction can be determined as the new current movement direction. The process of controlling the mobile robot to move along the current movement direction is repeated until there are no unvisited path points among all the added path points.

[0080] Based on this, by applying the solution provided in this embodiment of the invention, when planning a full-coverage path for a mobile robot over a specified area, path points can be continuously added to each node of a preset binary tree structure based on map information obtained during the robot's movement. Thus, while controlling the mobile robot's movement, a full-coverage path can be planned for the mobile robot based on the map information obtained during the exploration of the specified area. Therefore, when the exploration of the specified area is completed, the planning of the full-coverage path is also completed. This eliminates the need to fully explore the specified area before planning a full-coverage path for the mobile robot, saving exploration time and improving the efficiency of planning a full-coverage path over the specified area.

[0081] The path planning method provided by an embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

[0082] Figure 1 This is a flowchart illustrating a path planning method provided in an embodiment of the present invention, as shown below. Figure 1 As shown, the method may include the following steps S101-S105.

[0083] S101: Determine the starting position of the mobile robot in the specified area, and the initial map information of the area surrounding the starting position;

[0084] When planning a full-coverage path for a mobile robot over a specified area, you can first determine the starting position of the mobile robot in that specified area, as well as the initial map information of the area surrounding that starting position.

[0085] The mobile robot can be equipped with at least one image acquisition device to obtain map information of the area surrounding the mobile robot.

[0086] In other words, when planning a full-coverage path for a mobile robot within a designated area, the robot can first be placed at any location within the designated area by controlling its movement or by transporting it. This location can then be used as the robot's initial position within that area. Subsequently, initial map information of the area surrounding the mobile robot can be obtained using the image acquisition equipment mounted on the robot.

[0087] The surrounding area refers to the region within a certain range centered on the mobile robot.

[0088] like Figure 2 As shown, Figure 2The black circular area in the middle is the area where the mobile robot 102 is located. The annular area 101 surrounding the mobile robot 102 with the mobile robot 102 as the center can be regarded as the surrounding area of ​​the mobile robot 102.

[0089] Optionally, the mobile robot can be controlled to rotate once in place at the initial position, and the environmental information collected by the image acquisition device on the mobile robot during the rotation can be used as the initial map information of the surrounding area of ​​the initial position.

[0090] Optionally, the mobile robot is equipped with multiple image acquisition devices, which are placed at intervals and whose image acquisition range can cover the area around the mobile robot. In this way, the environmental information acquired by the image acquisition devices on the mobile robot can be used as the initial map information of the area around the initial position.

[0091] Figure 3 This is a diagram illustrating the initial position of the mobile robot in a designated area, such as... Figure 3 As shown in the figure, the gray area 310 can represent the unexplored area in the specified area, the black circular area A can represent the initial position of the mobile robot in the specified area, the white area 320 is the surrounding area explored by the mobile robot after rotating once in place at the initial position, and the white area 320 can represent the passable area in the specified area.

[0092] like Figure 3 As shown, when the mobile robot is at its initial position A, the arrow points in the direction the robot is moving forward, which is also its direction of movement. After the mobile robot rotates once in place, the initial map information of the areas in front of, behind, to the left of, and to the right of the robot can be explored. Figure 3 The area to the right of the mobile robot's direction of movement may be an area containing obstacles or walls, thus the right-side area is not a passable area.

[0093] S102: Based on the initial map information and the preset current movement direction, determine the current parent node and child nodes of the preset binary tree structure, and determine the starting position as the starting path point in the current parent node;

[0094] A binary tree structure can be used to assist in planning a full-coverage path for a mobile robot over a specified area.

[0095] A binary tree is a tree-like data structure where each node can include at most two subtrees, left and right. The node can be the parent node, and the left and right subtrees can be the two child nodes of the parent node, namely the left child node and the right child node. The left and right subtrees can be defined by the user.

[0096] To better understand the principle of using a binary tree structure to plan a full-coverage path for a mobile robot, the following section will combine... Figure 4 and Figure 5 Please provide a detailed explanation.

[0097] like Figure 4 As shown, when planning a full-coverage path for a mobile robot over a specified area, it can be assumed that the specified area is divided into multiple planning lines according to a preset interval. Then, the mobile robot can be controlled to traverse each planning line sequentially. The preset interval can be set based on the shape and coverage radius of the mobile robot; it can be the radius of the mobile robot's body, its diameter, or its coverage radius—all are reasonable and not specifically limited in this embodiment of the invention.

[0098] The aforementioned planning lines can form a full-coverage path for a specified area. Furthermore, by discretizing each of the planning lines, multiple path points can be obtained. Thus, the discretized path points can be used as all path points on the full-coverage path.

[0099] When using a binary tree structure to plan a path for a mobile robot, the current parent node can be considered as the current planned path where the mobile robot is located, and the child nodes of this current parent node can be planned paths adjacent to this current planned path. Thus, as... Figure 5 As shown, path points in the current planning line can be added to the current parent node. Furthermore, the distances between the current parent node and its child nodes can be preset. This allows path points to be added to each node of the binary tree based on the current map information collected by the image acquisition device on the mobile robot during its movement.

[0100] The preset interval between each path point can be set according to actual needs. This preset interval can be 0.1 meters, 0.3 meters, or 0.5 meters, all of which are reasonable and are not specifically limited in this embodiment of the invention. For example, the initial position of the mobile robot can be used as the starting point, and positions in all directions around the initial position that are 0.3 meters away from the initial position can be set as path points. Then, each time the mobile robot moves to a path point, a position 0.3 meters away from that path point can be used as a path point.

[0101] Furthermore, the distance between the current parent node and each child node should correspond to the preset distance between each path point. That is, when the preset distance between each path point is 0.3 meters, the distance between the current parent node and its child nodes is also 0.3 meters.

[0102] It should be noted that the current parent node can change as the mobile robot moves. For example, when the mobile robot is at node A, node A is the current parent node, and node B is the right child node of the current parent node; when the mobile robot moves to node B, then node B is the current parent node, and node A is the left child node of the current parent node.

[0103] After determining the starting position and initial map information of the mobile robot, the current parent node and its child nodes in a preset binary tree structure can be determined based on the initial map information and the preset current movement direction. Then, the starting position can be used as the starting path point in the current parent node.

[0104] The aforementioned current movement direction can be any direction from the current location of the mobile robot. The current movement direction can be determined based on actual needs, which is reasonable. In this embodiment of the invention, the aforementioned current movement direction is not specifically limited.

[0105] Among them, such as Figure 3 As shown, when the mobile robot is at position A, the area to the right of the direction indicated by the arrow is a non-passable area. Therefore, the direction in front, behind, or to the left of the direction indicated by the arrow can be taken as the current direction of movement.

[0106] S103: Control the mobile robot to move along the current direction of movement, and add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement.

[0107] After determining the initial position and current direction of movement, the mobile robot can be controlled to move from the initial position along the aforementioned direction. During its movement, the mobile robot explores a designated area, and its onboard image acquisition device can acquire real-time map information of the area surrounding each path point. Based on this map information, path points can be continuously added to the current parent node and its child nodes.

[0108] In other words, after determining the current parent node, the mobile robot will move sequentially to each path point that the current parent node has not yet passed in the current direction of movement. When the mobile robot moves to any path point, its onboard image acquisition device can acquire the current map information of the area around the path point in real time, and continuously determine new path points based on the current map information. Then, the new path points can be added to the current parent node and the child nodes of the current parent node.

[0109] S104: When there is no untraveled path point belonging to the current parent node in the current movement direction, determine the untraveled specified path point from all added path points, and control the mobile robot to move to the specified path point.

[0110] When a mobile robot moves along its current direction, it may stop moving if there are no untraveled path points in that direction or if it detects a wall in the path ahead. Therefore, during the robot's movement, there may be situations where it reaches a certain position and cannot continue moving along its current direction. In such cases, it can be assumed that there are no untraveled path points belonging to the current parent node in the current direction.

[0111] When there is no untraveled path point belonging to the current parent node in the current direction of movement, the specified untraveled path point can be determined from all added path points. Then, the mobile robot can be controlled to move from the current position to the determined specified path point.

[0112] For example, when the mobile robot has passed all the path points of the current parent node in the current direction of movement, it can be determined that there are no unpassed path points belonging to the current parent node in the current direction of movement; when the mobile robot detects an insurmountable obstacle while moving along the current direction of movement, it can be determined that there are no unpassed path points belonging to the current parent node in the current direction of movement. These are all reasonable and are not specifically limited in the embodiments of the present invention.

[0113] If there is no untraveled path point belonging to the current parent node in the current direction of movement, the mobile robot can be controlled to move to a specified untraveled path point.

[0114] For example, the specified path point can be determined from all added path points, from unvisited path points in the current parent node, or from unvisited path points in all visited nodes. All of these are reasonable. For clarity, examples of how to determine the specified path point from unvisited path points will be provided later.

[0115] During the process of controlling the movement of a mobile robot, the path points traversed by the mobile robot can be recorded.

[0116] Optionally, the mobile robot can add a visited marker to each waypoint it passes through. Then, the waypoint that has not been marked as visited and is closest to the current position of the mobile robot can be selected as the designated waypoint.

[0117] Optionally, each time the mobile robot passes through a waypoint, the waypoint can be recorded in the list of already passed waypoints. Thus, the waypoint that is not stored in the list of already passed waypoints and is closest to the current position of the mobile robot can be selected as the designated waypoint.

[0118] Optionally, the path points can be divided into two sets: those that have been visited and those that have not been visited. As the mobile robot moves, the path points in each set are adjusted in real time. Thus, the path point that is located in the set that has not been visited and is closest to the current position of the mobile robot can be selected as the designated path point.

[0119] Optionally, after determining the specified path points, a preset path planning algorithm can be used to plan a movement path for the mobile robot, starting from its current position and ending at the specified path points.

[0120] The path planning algorithm mentioned above can be the A* algorithm or other path planning algorithms, which is reasonable and is not specifically limited in this implementation.

[0121] During the process of controlling the movement of the mobile robot, the image acquisition equipment or other detection devices carried by the mobile robot can detect the map information of the area around the location of the mobile robot in real time.

[0122] For a mobile robot, when an obstacle is detected, if the obstacle is small, the mobile robot can cross the obstacle, and the image acquisition device on the mobile robot can cross the obstacle to obtain map information on the path ahead; if the obstacle is large, the mobile robot may choose an alternative path because it cannot cross the obstacle.

[0123] Therefore, when planning a full-coverage path for a mobile robot, a preset volume threshold can be set in advance. In this way, when the mobile robot detects an obstacle, it can determine whether it can bypass the obstacle and continue moving in the current direction based on the relationship between the size of the obstacle and the preset volume threshold.

[0124] Optionally, in one specific implementation, before step S104 above, the method provided by the embodiments of the present invention may further include the following steps 11-13:

[0125] Step 11: When the mobile robot detects an obstacle, determine the volume of the obstacle;

[0126] Step 12: If the volume is not greater than the preset volume threshold, control the mobile robot to bypass the obstacle and continue moving in the current direction;

[0127] Step 13: If the volume is greater than the volume threshold, then determine that there is no untraveled path point belonging to the current parent node in the current movement direction.

[0128] In this specific implementation, as the mobile robot moves along its current direction, the image acquisition device or other detection device mounted on the mobile robot can detect in real time whether there are obstacles ahead. When the image detection device or other detection device on the mobile robot detects an obstacle, the mobile robot can determine the volume of the detected obstacle, and then compare the volume of the obstacle with the aforementioned preset volume threshold to determine the numerical relationship between the volume of the obstacle and the aforementioned preset volume threshold.

[0129] If the volume of the obstacle is not greater than the preset volume threshold, the mobile robot can be controlled to bypass the obstacle and continue moving in the current direction. If the volume of the obstacle is greater than the preset volume threshold, the mobile robot cannot be controlled to bypass the obstacle. Therefore, it can be determined that the mobile robot cannot be controlled to continue moving in the current direction. Furthermore, it can be determined that there is no untraveled path point belonging to the current parent node in the current direction.

[0130] The preset volume threshold can be either 0.1 cubic meters or 1 cubic meter, both of which are reasonable and are not specifically limited in this embodiment of the invention.

[0131] like Figure 6 As shown, when the mobile robot moves sequentially along the current direction to each unvisited path point added by the current parent node, the camera on the mobile robot can detect obstacles within its detection range. Then, the volume of the obstacle can be determined and compared with a preset volume threshold. If the volume of the obstacle is determined to be less than the preset volume threshold, the mobile robot can be controlled to bypass the obstacle and continue moving along the current direction.

[0132] S105: Determine the node to which the specified path point belongs as the new current parent node, and determine the preset specified direction as the new current movement direction. Return to step S103 above and control the mobile robot to move along the current movement direction until there are no unvisited path points among all the added path points.

[0133] When controlling the mobile robot to move to the specified path point, the node to which the specified path point belongs can be determined as the new current parent node, and the preset specified direction can be determined as the new current moving direction. Then, return to step S103 above and continue to control the mobile robot to move along the new current moving direction. Based on the current map information of the area around the path point obtained during the movement, add path points to the current parent node and the child nodes of the current parent node. Repeat this process until there are no unvisited path points among all the added path points.

[0134] When planning a full-coverage path for a mobile robot over a specified area, the area can be explored while adding path points to each node of a binary tree structure based on the acquired map information. Then, based on these added path points, the mobile robot can be controlled to move sequentially to any unvisited path points. When no unvisited path points exist in any node of the binary tree, it can be confirmed that the mobile robot has traversed all path points of the full-coverage path for the specified area, meaning there are no path points in the specified area that the mobile robot has not covered.

[0135] Optionally, in one specific implementation, the path planning method provided in this embodiment of the invention may further include the following step 21:

[0136] Step 21: While the mobile robot is moving, control the mobile robot to perform a preset task.

[0137] In this specific implementation, the mobile robot can be controlled to perform preset tasks during its movement.

[0138] The aforementioned preset tasks can be cleaning tasks, construction tasks, or security inspection tasks, all of which are reasonable. In this embodiment of the invention, no specific limitations are imposed on the aforementioned preset tasks.

[0139] Optionally, the aforementioned mobile robot can be a cleaning robot, and the aforementioned preset task can be a cleaning task.

[0140] As can be seen from the above, by applying the solution provided in this embodiment of the invention, when planning a full-coverage path for a mobile robot over a specified area, path points can be continuously added to each node of a preset binary tree structure based on map information obtained during the robot's movement. Thus, while the mobile robot is exploring the specified area, a full-coverage path can be planned based on the map information obtained during the exploration. Therefore, the planning of the full-coverage path is completed simultaneously with the completion of the exploration of the specified area. This eliminates the need to fully explore the specified area before planning a full-coverage path for the mobile robot, saving exploration time and improving the efficiency of planning a full-coverage path over the specified area.

[0141] The following example illustrates the specific implementation of step S104 above, which involves determining the specified path points that have not been traversed.

[0142] Optionally, in one specific implementation, step S104 above, determining the unvisited specified path points from all added path points, may include the following step 31:

[0143] Step 31: Among all the added path points, the unvisited path point that is closest to the current position of the mobile robot is identified as the designated path point.

[0144] In this specific implementation, in order to save planning time and improve planning efficiency, when there is no untraveled path point belonging to the current parent node in the current movement direction, the untraveled path point with the closest distance to the current position of the mobile robot can be used as the designated path point.

[0145] In other words, when there is no untraveled path point belonging to the current parent node in the current movement direction, all added path points can be traversed to determine at least one untraveled path point. Then, the untraveled path point that is closest to the current position of the mobile robot can be determined as the specified path point.

[0146] Therefore, after determining the specified node, the mobile robot can be controlled to move to the specified path point.

[0147] Figure 7(a) is an environmental map of the designated area. White circles represent unvisited path points, and black circles represent visited path points. The mobile robot is located at path point G.

[0148] As shown in Figure 7(a), since there are unavoidable obstacles on the cleaning line D, it can be assumed that there are no untraveled path points belonging to the current parent node in the current movement direction. Thus, from all the added path points, the untraveled path point K with the closest distance to the current position G of the mobile robot can be determined as the designated path point, and the mobile robot can be controlled to move to path point K.

[0149] Optionally, in one specific implementation, step S104 above, determining the unvisited specified path points from all added path points, may include the following steps 41-42:

[0150] Step 41: Determine each target node that the mobile robot will pass through;

[0151] Step 42: If there are untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, then the untraveled path points among the path points included in each target node whose distance from the current position of the mobile robot is less than a preset distance are determined as designated path points.

[0152] In this specific implementation, for each node in the binary tree, when the mobile robot passes through that node, there may be cases where it has not traversed all the path points within that node. For example, due to the detection of an obstacle, the mobile robot moves to another node, in which case there may be multiple path points in that node that the mobile robot has not traversed. Therefore, to avoid missing path points, when determining the specified untraversed path points, we can first traverse all the nodes traversed by the mobile robot to determine whether there are any untraversed path points among the aforementioned target points.

[0153] Meanwhile, in order to save movement time and improve movement efficiency, when determining a designated waypoint, a preset distance can be set in advance, and unvisited waypoints whose distance from the current position of the mobile robot is less than the preset distance can be used as designated waypoints.

[0154] When there are no untraveled path points belonging to the current parent node in the current direction of movement, we can first determine all the nodes that the mobile robot has traversed and designate them as target nodes. Then, among these target nodes, we can determine if there are any untraveled path points whose distance from the mobile robot's current position is less than a preset distance. If so, these untraveled path points among the target nodes whose distance from the mobile robot's current position is less than the preset distance can be designated as path points.

[0155] The preset distance can be 1 meter or 10 meters, both of which are reasonable and are not specifically limited in this embodiment of the invention.

[0156] Furthermore, the target nodes traversed by the mobile robot include the current parent node. Therefore, it can be determined first whether there are any untraveled path points in the current parent node whose distance from the current position of the mobile robot is less than a preset distance.

[0157] Optionally, it can be determined whether there are any untraveled path points in the current parent node whose distance from the current position of the mobile robot is less than a preset distance. If so, these untraveled path points in the path points included in the current parent node whose distance from the current position of the mobile robot is less than the preset distance are designated as specified path points. If there are no untraveled path points in the current parent node, it can be determined whether there are any untraveled path points in the node with the smallest interval distance from the current parent node whose distance from the current position of the mobile robot is less than the preset distance; alternatively, it can be determined whether there are any untraveled path points in the child nodes that the mobile robot has already passed by the current parent node whose distance from the current position of the mobile robot is less than the preset distance.

[0158] As shown in Figure 7(a), the nodes corresponding to cleaning lines C and D are the nodes that the mobile robot has already passed, and cleaning line D corresponds to the current parent node.

[0159] Since there are unavoidable obstacles on cleaning line D, it can be assumed that there are no untraveled path points belonging to the current parent node in the current direction of movement. Therefore, the target nodes D and C traversed by the mobile robot can be determined.

[0160] When the preset distance is the straight-line distance between point G and point L, among each target node, there is an untraveled path point K whose distance from the current position of the mobile robot is less than the preset distance. The untraveled path point K is determined as the designated path point.

[0161] When the preset distance is the straight-line distance between point G and point M, among each target node, there are untraveled path points K and L whose distance from the current position of the mobile robot is less than the preset distance. Therefore, untraveled path points K and L can be determined as designated path points. If the untraveled path point with the closest distance to the current position of the mobile robot is taken as the designated path point, then untraveled path point K can be taken as the designated path point.

[0162] If we first determine whether the current parent node contains any untraveled path points, and then use the untraveled path points in the current parent node as the specified path points, then path point H will be used as the specified path point.

[0163] Optionally, in one specific implementation, if there are no untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, the above step S104, determining the untraveled specified path point from all added path points, may include the following step 51:

[0164] Step 51: If there are untraveled path points among the child nodes of the current parent node, then determine the untraveled path points among the child nodes of the current parent node as the specified path points.

[0165] In this specific implementation, in order to save the movement time of the mobile robot and improve the planning efficiency of the full coverage path, when there are no untraveled path points in each target node that are less than the current position of the mobile robot, the path points in the child nodes of the current parent node can be traversed first to determine whether there are untraveled path points in the child nodes of the current parent node. If there are untraveled path points in the child nodes of the current parent node, the untraveled path points in the child nodes of the current parent node can be determined as the specified path points.

[0166] Optionally, in one specific implementation, if there are no untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, the above step S104, determining the untraveled specified path point from all added path points, may include the following step 52:

[0167] Step 52: Among all the added path points, the unvisited path point that is closest to the current position of the mobile robot is identified as the designated path point.

[0168] In this specific implementation, when it is determined that there are no untraveled path points among the target nodes traversed by the mobile robot that are less than a preset distance from the current position of the mobile robot, the untraveled path point with the closest distance to the current position among all the added path points can be further determined as the designated path point.

[0169] Optionally, in one specific implementation, if there are no untraveled path points among the target nodes that are less than a preset distance from the current position of the mobile robot, it can first be determined whether there are untraveled path points among the child nodes of the current parent node. If there are, the untraveled path points among the child nodes of the current parent node are determined as the specified path points; if there are no, the untraveled path point with the closest distance to the current position of the mobile robot among all the added path points can be determined as the specified path point.

[0170] Optionally, when the current parent node has two child nodes, left and right, it can be determined in a preset order whether there are any untraveled path points among the child nodes, and the first untraveled path point determined is taken as the specified path point; wherein, the above-mentioned specified order can be left to right or right to left; both are reasonable and are not specifically limited in the specific implementation of the present invention.

[0171] Optionally, all untraveled path points among the child nodes of the current parent node can be determined, and the untraveled path point with the closest distance to the current position of the mobile robot among all the determined untraveled path points can be used as the specified path point;

[0172] Optionally, all untraveled path points among the child nodes of the current parent node can be determined, and the untraveled path point with the greatest distance from the current position of the mobile robot among all the determined untraveled path points can be used as the designated path point.

[0173] After determining the specified path point, the node where the specified path point is located can be used as the new current parent node, and the preset specified direction can be used as the new current movement direction. The mobile robot can be controlled to continue moving along the current movement direction. In this way, by moving to each unvisited path point, it can be ensured that there are no unvisited specified path points in the specified area, thereby completing the full coverage of the specified area.

[0174] As shown in Figure 7(b), since there are obstacles on the cleaning line D that cannot be bypassed, it can be assumed that there are no untraveled path points belonging to the current parent node in the current movement direction.

[0175] If there are no untraveled path points among the target nodes traversed by the mobile robot, it can be determined whether there are untraveled path points among the child nodes of the current parent node. If there are untraveled path points M and N among the right child nodes of the current parent node corresponding to cleaning line E, then the untraveled path point M with the closest distance to the current position of the mobile robot is determined as the designated path point.

[0176] If there are no untraveled path points among the target nodes traversed by the mobile robot, the untraveled path points among all the added path points can be determined, that is, path points M, N, O, P and Q can be determined. When the untraveled path point with the closest distance to the current position of the mobile robot is determined as the designated path point, the untraveled path point O can be used as the designated path point.

[0177] To facilitate understanding of the process of controlling a mobile robot to fully cover a designated area, the following will use... Figure 8 Let's take an example to illustrate. Figure 8The flowchart of a specific example of the path planning method provided in the embodiments of the present invention may include the following steps S801-S8011.

[0178] S801: One spin;

[0179] S802: Select a direction and clean forward in a straight line;

[0180] S803: Determine if an obstacle has been encountered; if not, proceed to step S804; if yes, proceed to step S805.

[0181] S804: Continue cleaning;

[0182] S805: Determine if it can be bypassed; if yes, proceed to step S804; otherwise, proceed to step S806.

[0183] S806: Determine if additional scanning is needed behind the vehicle; if yes, proceed to step S804; otherwise, proceed to step S807.

[0184] S807: Determine whether to rescan previously missed points; if yes, proceed to step S808; otherwise, proceed to step S809.

[0185] S808: A* Planned navigation to the destination;

[0186] S809: Determine whether to clean the left child node; if yes, proceed to step S808; otherwise, proceed to step S8010.

[0187] S8010: Determine whether to clean the right child node; if yes, proceed to step S808; otherwise, proceed to step S8011.

[0188] S8011: Traverse and search to determine if there are any uncleaned points; if so, proceed to step S808; otherwise, end the cleaning process.

[0189] like Figure 8 As shown, when the cleaning robot is placed at any location within a designated area, that location can be determined as the robot's starting position within that area. The robot can then be controlled to rotate once from this starting position to determine the initial map information of the surrounding area. Based on this initial map information, the current parent node and its child nodes in a preset binary tree structure can then be determined. This initial position is then used as the starting path point within the current parent node, and path points are added to the current parent node and its child nodes based on the initial map information.

[0190] In this way, a direction can be selected as the current movement direction, and the cleaning robot can be controlled to clean in a straight line along the current movement direction. During the movement of the cleaning robot, the current map information of the surrounding area of ​​the path points can be continuously acquired, and path points can be continuously added to the current parent node and the child nodes of the current parent node based on the current map information.

[0191] During the cleaning robot's movement, it can detect obstacles in its path in real time. When an obstacle is detected, its volume is determined and compared with a preset volume threshold to determine if it can be bypassed. If the obstacle's volume is smaller than the preset volume threshold, it can be bypassed and cleaning can continue. If the obstacle's volume is not smaller than the preset volume threshold, it can be determined that there are no untraveled path points belonging to the current parent node in the current direction of movement.

[0192] Next, it can be determined whether additional cleaning is needed behind the current node. Specifically, it checks if there are any uncleaned path points in the current parent node whose distance from the cleaning robot's current position is no greater than a preset distance threshold. If so, the cleaning robot is controlled to turn around and continue cleaning the uncleaned path points in the current parent node. If not, the various target nodes traversed by the cleaning robot are identified, and it is determined whether any missed points need to be cleaned within these target nodes. If a missed point needs to be cleaned, it can be used as the target point, and an A* programming algorithm is used to plan a movement path starting from the cleaning robot's current position and ending at the target point. The cleaning robot is then controlled to travel along this path to the target point. If no missed points need to be cleaned, it can be determined whether there are any uncleaned path points in the left child node of the current parent node to decide whether to clean the left child node.

[0193] If there are uncleaned path points in the left child node, the uncleaned path point in the left child node that is closest to the current position of the cleaning robot is taken as the target point. The A* programming algorithm is used to plan a movement path starting from the current position of the cleaning robot and ending at the target point. The cleaning robot is then controlled to move along the movement path to the target point. If there are no uncleaned path points in the left child node, it is determined whether there are uncleaned path points in the right child node of the current parent node to determine whether the right child node should be cleaned.

[0194] If the right child node has an uncleaned path point, the closest uncleaned path point in the right child node to the cleaning robot's current position is selected as the target point. An A* programming algorithm is used to plan a movement path from the cleaning robot's current position to the target point, and the cleaning robot is controlled to travel along this path to the target point. If the right child node does not have an uncleaned path point, all added path points are traversed to determine if an uncleaned path point exists. If it does, the closest uncleaned path point to the cleaning robot's current position is selected as the target point, and an A* programming algorithm is used to plan a movement path from the cleaning robot's current position to the target point, and the cleaning robot is controlled to travel along this path to the target point. If no uncleaned path point exists, the cleaning process ends.

[0195] like Figure 9 The image shows a baseline map of the designated area, with black area 330 representing obstacles. During the process of controlling the cleaning robot to fully cover the designated area, as the cleaning robot achieves full coverage, the following will be obtained: Figure 10 The map shown is a partial coverage map of the specified area, and as shown in the image. Figure 11 The map shown represents the complete coverage of the specified area. Figure 10 and Figure 11 In the diagram, the white area 320 represents the explored passable area, the gray straight line represents the cleaning robot's cleaning trajectory, and the gray area 310 represents the unexplored area.

[0196] Based on the same inventive concept, and corresponding to the embodiments of the present invention provided above... Figure 1 The present invention provides a path planning device in addition to the path planning method shown in the embodiment of the invention.

[0197] Figure 12 This is a schematic diagram of the structure of a path planning device provided in an embodiment of the present invention, as shown below. Figure 12 As shown, the device may include the following modules:

[0198] The location determination module 1210 is used to determine the starting position of the mobile robot in a specified area, as well as the initial map information of the area surrounding the starting position;

[0199] The node determination module 1220 is used to determine the current parent node and the child nodes of the current parent node in a preset binary tree structure based on the initial map information and the preset current movement direction, and to determine the starting position as the starting path point in the current parent node;

[0200] The control module 1230 is used to control the mobile robot to move along the current moving direction, and to add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement.

[0201] The designated path point determination module 1240 is used to determine an unvisited designated path point from all added path points when there is no unvisited path point belonging to the current parent node in the current movement direction, and control the mobile robot to move to the designated path point.

[0202] The return module 1250 is used to determine the node to which the specified path point belongs as the new current parent node and to determine the preset specified direction as the new current movement direction, thereby triggering the control module 1230.

[0203] As can be seen from the above, by applying the solution provided in this embodiment of the invention, when planning a full-coverage path for a mobile robot over a specified area, path points can be continuously added to each node of a preset binary tree structure based on map information obtained during the robot's movement. Thus, while the mobile robot is exploring the specified area, a full-coverage path can be planned based on the map information obtained during the exploration. Therefore, the planning of the full-coverage path is completed simultaneously with the completion of the exploration of the specified area. This eliminates the need to fully explore the specified area before planning a full-coverage path for the mobile robot, saving exploration time and improving the efficiency of planning a full-coverage path over the specified area.

[0204] Optionally, in one specific implementation, the apparatus further includes:

[0205] The detection module is used to determine the volume of an obstacle when the mobile robot detects an obstacle before determining the specified untraveled path point from all added path points when there is no untraveled path point belonging to the current parent node in the current direction of movement;

[0206] A mobility module is used to control the mobile robot to bypass the obstacle and continue moving along the current direction of movement if the volume is not greater than a preset volume threshold.

[0207] The determination module is used to determine, if the volume is greater than the volume threshold, that there is no untraveled path point belonging to the current parent node in the current movement direction.

[0208] Optionally, in one specific implementation, the specified path point determination module 1240 is specifically used for:

[0209] The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

[0210] Optionally, in one specific implementation, the specified path point determination module 1240 is specifically used for:

[0211] Determine each target node traversed by the mobile robot;

[0212] If there are untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, then the untraveled path points among the path points included in each target node whose distance from the current position of the mobile robot is less than the preset distance are determined as designated path points.

[0213] Optionally, in one specific implementation, if there are no untraveled path points among the target nodes whose distance to the current position of the mobile robot is less than a preset distance, the designated path point determination module 1240 is specifically used for:

[0214] If there are untraveled path points among the child nodes of the current parent node, then the untraveled path points among the child nodes of the current parent node are determined as the specified path points.

[0215] or,

[0216] The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

[0217] Optionally, in one specific implementation, the apparatus further includes:

[0218] The task execution module is used to control the mobile robot to perform preset tasks while the mobile robot is moving.

[0219] This invention also provides a robot, such as... Figure 13 As shown, it includes a processor 1301, a communication interface 1302, a memory 1303, and a communication bus 1304. The processor 1301, the communication interface 1302, and the memory 1303 communicate with each other through the communication bus 1304.

[0220] Memory 1303 is used to store computer programs;

[0221] When the processor 1301 executes the program stored in the memory 1303, it implements any of the method steps provided in the above embodiments of the present invention.

[0222] The communication bus mentioned above for the robot can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0223] The communication interface is used for communication between the robot and other devices.

[0224] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0225] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be 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, or discrete hardware components.

[0226] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above method embodiments.

[0227] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform the steps of any of the above method embodiments.

[0228] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).

[0229] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0230] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device embodiments, robot embodiments, computer-readable storage medium embodiments, and computer program product embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0231] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.

Claims

1. A path planning method, characterized in that, The method includes: Determine the starting position of the mobile robot in a designated area, and the initial map information of the area surrounding the starting position; Based on the initial map information and the preset current movement direction, the current parent node and the child nodes of the current parent node are determined in the preset binary tree structure, and the starting position is determined as the starting path point in the current parent node; wherein, the current parent node is the current planning line where the mobile robot is located, the child nodes of the current parent node are the planning lines adjacent to the current planning line, and multiple planning lines are divided according to preset intervals; Control the mobile robot to move along the current direction of movement, and add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement. When there is no untraveled path point belonging to the current parent node in the current direction of movement, determine the untraveled designated path point from all added path points, and control the mobile robot to move to the designated path point. The node to which the specified path point belongs is determined as the new current parent node, and the preset specified direction is determined as the new current movement direction. The process returns to the step of controlling the mobile robot to move along the current movement direction until there are no unvisited path points among all the added path points.

2. The method according to claim 1, characterized in that, Before determining the specified untraveled path point from all added path points when there is no untraveled path point belonging to the current parent node in the current movement direction, the method further includes: When the mobile robot detects an obstacle, it determines the volume of the obstacle; If the volume is not greater than a preset volume threshold, the mobile robot is controlled to bypass the obstacle and continue moving in the current direction of movement. If the volume is greater than the volume threshold, then it is determined that there is no untraveled path point belonging to the current parent node in the current movement direction.

3. The method according to claim 1, characterized in that, The step of determining the specified unvisited path point from all added path points includes: The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

4. The method according to claim 1, characterized in that, The step of determining the specified unvisited path point from all added path points includes: Determine each target node traversed by the mobile robot, wherein the target node is all the nodes traversed by the mobile robot; If there are untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, then the untraveled path points among the path points included in each target node whose distance from the current position of the mobile robot is less than the preset distance are determined as designated path points.

5. The method according to claim 4, characterized in that, If none of the target nodes have an untraveled path point whose distance to the current position of the mobile robot is less than a preset distance, the step of determining the untraveled specified path point from all added path points includes: If there are untraveled path points among the child nodes of the current parent node, then those untraveled path points among the child nodes of the current parent node are determined as the specified path points; or, The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

6. The method according to any one of claims 1-5, characterized in that, The method further includes: During the movement of the mobile robot, the mobile robot is controlled to perform a preset task.

7. A path planning device, characterized in that, The device includes: The location determination module is used to determine the starting position of the mobile robot in a specified area, as well as the initial map information of the area surrounding the starting position; The node determination module is used to determine the current parent node and the child nodes of the current parent node in a preset binary tree structure based on the initial map information and the preset current movement direction, and to determine the starting position as the starting path point in the current parent node; wherein, the current parent node is the current planning line where the mobile robot is located, the child nodes of the current parent node are the planning lines adjacent to the current planning line, and multiple planning lines are divided according to a preset interval; The control module is used to control the mobile robot to move along the current direction of movement, and to add path points to the current parent node and the child nodes of the current parent node based on the current map information of the area around the path points obtained during the movement. The designated path point determination module is used to determine an unvisited designated path point from all added path points when there is no unvisited path point belonging to the current parent node in the current movement direction, and control the mobile robot to move to the designated path point. The return module is used to determine the node to which the specified path point belongs as the new current parent node, and to determine the preset specified direction as the new current movement direction, thereby triggering the control module.

8. The apparatus according to claim 7, characterized in that, The device further includes: The detection module is used to determine the volume of an obstacle when the mobile robot detects an obstacle before determining the specified untraveled path point from all added path points when there is no untraveled path point belonging to the current parent node in the current direction of movement; A mobility module is used to control the mobile robot to bypass the obstacle and continue moving along the current direction of movement if the volume is not greater than a preset volume threshold. The determination module is used to determine, if the volume is greater than the volume threshold, that there is no untraveled path point belonging to the current parent node in the current movement direction.

9. The apparatus according to claim 7, characterized in that, The specified path point determination module is specifically used for: The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

10. The apparatus according to claim 7, characterized in that, The specified path point determination module is specifically used for: Determine each target node traversed by the mobile robot, wherein the target node is all the nodes traversed by the mobile robot; If there are untraveled path points among the target nodes whose distance from the current position of the mobile robot is less than a preset distance, then the untraveled path points among the path points included in each target node whose distance from the current position of the mobile robot is less than the preset distance are determined as designated path points.

11. The apparatus according to claim 10, characterized in that, If none of the target nodes have an untraveled path point whose distance to the current position of the mobile robot is less than a preset distance, the designated path point determination module is specifically used for: If there are untraveled path points among the child nodes of the current parent node, then those untraveled path points among the child nodes of the current parent node are determined as the specified path points; or, The unvisited path point that is closest to the current position of the mobile robot among all the added path points is determined as the designated path point.

12. The apparatus according to any one of claims 7-11, characterized in that, The device further includes: The task execution module is used to control the mobile robot to perform preset tasks while the mobile robot is moving.

13. A robot, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the steps of the method described in any one of claims 1-6.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1-6.

Citation Information

Patent Citations

  • Unmanned aerial vehicle route planning method

    CN103697896A