Robot obstacle avoidance path determination method and device, robot and storage medium
By determining the global path and target path in the robot navigation and establishing a corrective planning path based on obstacle information, the problem of too many deviations from the original path when the robot avoids obstacles is solved, and more accurate obstacle avoidance path planning is achieved.
Patent Information
- Application Number
- CN202311341211.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-13
- Publication Date
- 2025-04-18
AI Technical Summary
Due to the incomplete visibility of the robot's sensor detecting obstacles, without additional constraints and restrictions, the robot continuously avoids obstacles, resulting in too many deviations from the original path, unable to effectively control the length of obstacles, and it is easy to fall into local optimality.
A method for determining the obstacle avoidance path of a robot is proposed. By determining the global path and the target path, a local map of obstacle avoidance is established in real time, obstacle information is obtained, and whether the target path node is obstructed by obstacles is determined, and whether to establish a corrective planning path is determined based on the obstacle results. Use the safe distance interval range to establish a corrective planning path, and then determine the robot's obstacle avoidance path.
Effectively control the length of obstacle avoidance paths, overcome the disadvantages of relying solely on the DWA algorithm to easily fall into local optimality, and improve the accuracy of robot obstacle avoidance path planning.
Smart Images

Figure CN119847130A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a method and device for determining a robot obstacle avoidance path, a robot, and a storage medium. Background Art
[0002] With the advancement of science and technology in recent years, robots have been widely used in various industries, such as equipment manufacturing, new materials, biomedicine, smart new energy and other high-tech industries. The integration of robots with artificial intelligence technology, advanced manufacturing technology and mobile Internet technology has promoted the transformation of human society's lifestyle.
[0003] In the process of researching and practicing related technologies, the inventors of the present application found that in the prior art, when navigating, the robot first generates a global path plan, and then performs local replanning based on obstacle information in real time, and performs local path obstacle avoidance by the DWA (dynamic window approach) algorithm. However, the limitations of the DWA algorithm can lead to some problems, such as the robot's sensors cannot fully detect obstacles, and without additional constraints, the robot will deviate too much from the original path due to continuous obstacle avoidance, and the obstacle avoidance length cannot be effectively controlled, and it is easy to fall into the shortcomings of local optimality. Summary of the invention
[0004] The embodiments of the present application provide a robot obstacle avoidance path determination method, device, robot and storage medium to solve the technical problem that due to the incomplete visibility of the robot's sensors in detecting obstacles, the robot deviates too much from the original path due to continuous obstacle avoidance without additional constraints, and the obstacle avoidance length cannot be effectively controlled, and it is easy to fall into the local optimal disadvantage.
[0005] In a first aspect, an embodiment of the present application provides a method for determining a robot obstacle avoidance path, comprising:
[0006] Determine the global path of the robot's work;
[0007] Determine a target path of a first preset length located in the global path;
[0008] According to the target path, a local map for real-time obstacle avoidance is established, wherein the local map includes the target path, and the target path includes a plurality of target path nodes;
[0009] Obtaining obstacle information in the local map;
[0010] According to the obstacle information, determining whether any of the target path nodes in the local map is blocked by an obstacle, and obtaining an obstruction result;
[0011] Determine whether to establish a corrective planning path according to the obstruction result;
[0012] When it is determined that a corrective planning path needs to be established, determining a safe distance interval between the current position of the robot and obstacles in the path of the local map;
[0013] Using the safety distance interval range, establishing a corrected planning path;
[0014] An obstacle avoidance path of the robot is determined according to the corrected planned path.
[0015] In some embodiments, determining a target path of a first preset length located in the global path includes:
[0016] According to the current position of the robot, intercepting a target path of the first preset length from the global path;
[0017] The step of establishing a local map for real-time obstacle avoidance according to the target path includes:
[0018] According to the target path, the local map of a preset size is established with the current position of the robot as the center, and the target path is located in the local map.
[0019] In some embodiments, judging whether any of the target path nodes in the local map is blocked by an obstacle according to the obstacle information and obtaining an obstruction result includes:
[0020] According to the obstacle information, the obstacle is expanded to obtain an expanded obstacle;
[0021] Determine whether any of the target path nodes is blocked by the expanded obstacle. If so, output a blocking result indicating that the target path is blocked; otherwise, output a blocking result indicating that the target path is not blocked.
[0022] In some embodiments, determining whether to establish a corrective planning path according to the obstruction result includes:
[0023] When the obstruction result is that the target path is not obstructed, determining not to establish a corrective planned path;
[0024] When the obstruction result is that the target path is obstructed, waiting for a first preset time length;
[0025] When it is detected that the obstacle disappears after the first preset time length, it is determined not to establish a corrective planned path. When it is detected that the obstacle does not disappear after the first preset time length, it is determined to establish a corrective planned path.
[0026] In some embodiments, determining a safe distance interval between the current position of the robot and an obstacle in the path of the local map includes:
[0027] Determining a safe start node and a safe target node from the plurality of target path nodes of the target path;
[0028] Among them, the safe starting node is the target path node that is closest to the obstacle before bypassing the obstacle and is not blocked by the obstacle information, and the safe target node is the target path node that is closest to the obstacle after bypassing the obstacle and is not blocked by the obstacle information.
[0029] In some embodiments, using the safety distance interval to establish a corrected planned path includes:
[0030] Deleting all target path nodes from the safe starting node to the safe target node in the target path;
[0031] Inserting the corrected planned path between the safety start node and the safety target node;
[0032] Determining the obstacle avoidance path of the robot according to the corrected planned path includes:
[0033] The obstacle avoidance path is determined according to a first subpath before the safety start node in the target path, the corrected planned path, and a second subpath after the safety target node in the target path.
[0034] In some embodiments, after determining whether to establish a corrective planning path according to the obstruction result, the method further includes:
[0035] When it is determined that there is no need to establish the corrected planned path, the robot is controlled to move along the target path for a second preset time length, and then the first node closest to the robot in the forward direction of the robot is determined according to the current position of the robot, all nodes from the starting point of the target path to the first node are deleted, and the target path is extended so that the length of the target path is the first preset length.
[0036] In some embodiments, determining the obstacle avoidance path of the robot according to the corrected planned path includes:
[0037] Determining an obstacle avoidance path to be verified according to the corrected planned path;
[0038] Taking the obstacle avoidance path to be verified as the target path, and returning to the step of establishing a local map for real-time obstacle avoidance according to the target path;
[0039] When the corrected planned path is the second corrected planned path established continuously, determine whether the absolute value of the length difference between the second corrected planned path and the previous corrected planned path is less than a second preset length. If so, use the obstacle avoidance path to be verified as the obstacle avoidance path of the robot.
[0040] In a second aspect, an embodiment of the present application provides a robot obstacle avoidance path determination device, comprising:
[0041] A first determination module is used to determine the global path of the robot's work;
[0042] A second determining module, used for determining a target path of a first preset length located in the global path;
[0043] A first establishing module is used to establish a local map for real-time obstacle avoidance according to the target path, wherein the local map includes the target path, and the target path includes a plurality of target path nodes;
[0044] An acquisition module, used to acquire obstacle information in the local map;
[0045] A judgment module, used for judging whether any of the target path nodes in the local map is blocked by an obstacle according to the obstacle information, and obtaining an obstruction result;
[0046] A third determination module is used to determine whether to establish a corrective planning path according to the obstruction result;
[0047] A fourth determination module is used to determine a safe distance interval range between the current position of the robot and an obstacle in the path of the local map when it is determined that a corrected planned path needs to be established;
[0048] A second establishing module is used to establish a corrected planned path using the safety distance interval range;
[0049] The fifth determination module is used to determine the obstacle avoidance path of the robot according to the corrected planned path.
[0050] In a third aspect, an embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program runs on a computer, the computer executes a robot obstacle avoidance path determination method as provided in any embodiment of the present application.
[0051] In a fourth aspect, an embodiment of the present application further provides a robot, comprising a processor and a memory, wherein the memory has a computer program, and the processor calls the computer program to execute the robot obstacle avoidance path determination method provided in any embodiment of the present application.
[0052] The technical solution provided by the embodiment of the present application is to determine the global path of the robot's work, determine a target path of a first preset length located in the global path, establish a local map of real-time obstacle avoidance according to the target path, wherein the local map contains the target path, and the target path includes multiple target path nodes, obtain obstacle information in the local map, determine whether any of the target path nodes in the local map is blocked by the obstacle information, and obtain the blocking result, and determine whether to establish a corrective planning path according to the blocking result. When it is determined that a corrective planning path needs to be established, determine the safe distance interval between the current position of the robot and the obstacle in the path of the local map, establish a corrective planning path using the safe distance interval, and determine the obstacle avoidance path of the robot according to the corrective planning path. The robot obstacle avoidance path determination method proposed in the present application proposes a secondary obstacle avoidance planning of an intermediate layer between global planning and local planning, that is, by establishing a corrective planning path, the length of the obstacle avoidance path can be effectively controlled, and to a certain extent, it can overcome the disadvantage that obstacle avoidance relying solely on the DWA algorithm is easy to fall into the local optimum, and can improve the accuracy of the robot's obstacle avoidance path planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0054] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0055] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.
[0056] Figure 1 It is a flow chart of a robot obstacle avoidance path determination method provided in an embodiment of the present application.
[0057] Figure 2A schematic diagram of the structure of a robot obstacle avoidance path determination device provided in an embodiment of the present application.
[0058] Figure 3 It is a schematic diagram of the structure of the robot provided in the embodiment of the present application. DETAILED DESCRIPTION
[0059] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0060] It should be understood that when used in this specification and the appended claims, the terms "include" and "comprises" indicate the presence of described features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.
[0061] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0062] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0063] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0064] In order to solve the technical problem that due to the incomplete visibility of the robot's sensors in detecting obstacles, the robot deviates too much from the original path without additional constraints due to continuous obstacle avoidance, cannot effectively control the obstacle avoidance length, and is prone to fall into the local optimum, the present application provides a robot obstacle avoidance path determination method, proposes a secondary obstacle avoidance planning of an intermediate layer between global planning and local planning, namely, secondary planning processing, which can effectively control the length of the obstacle avoidance path, and to a certain extent can overcome the disadvantage that relying solely on the DWA algorithm to avoid obstacles is easy to fall into the local optimum, and can improve the accuracy of the robot's obstacle avoidance path planning.
[0065] An embodiment of the present application provides a robot obstacle avoidance path determination method, and the executor of the robot obstacle avoidance path determination method can be a robot obstacle avoidance path determination device provided in the embodiment of the present application, or a robot integrated with the robot obstacle avoidance path determination device, wherein the robot obstacle avoidance path determination device can be implemented in hardware or software.
[0066] Figure 1 A robot obstacle avoidance path determination method provided in an embodiment of the present application includes:
[0067] S110, determining the global path of the robot's operation.
[0068] Among them, the global path refers to a driving path planned for the robot on a known global map. The robot can move in the global path, and the global path is obtained based on global planning.
[0069] In this embodiment, a global path can be planned in the global map using the Hybrid-A* algorithm.
[0070] For example, the current position of the robot in the global map can be used as the path starting point, and the preset end point can be used as the path ending point, and then a global path can be planned using the Hybrid A* algorithm.
[0071] The Hybrid A* algorithm is a graph search algorithm, which is a variation of the A* algorithm. The path points planned by the A* algorithm are all at the center of each grid, while the path points of the Hybrid A* algorithm can be at any position of the grid, and are usually connected using Reeds-Shepp curves to generate a smooth path and obtain a global path.
[0072] S120: Determine a target path of a first preset length located in the global path.
[0073] Among them, the first preset length can be selected according to actual needs and is not specifically limited here.
[0074] In this embodiment, a path of a first preset length may be intercepted from the global path as the target path.
[0075] In some embodiments, the step of “determining a target path of a first preset length located in the global path” includes:
[0076] According to the current position of the robot, a target path of the first preset length is intercepted from the global path.
[0077] In this embodiment, the current position of the robot in the global map can be used as the path initial point of the target path, and based on the path initial point, a path with a length of a first preset length is intercepted from the global path along the robot's forward direction as the target path.
[0078] S130. Establish a local map for real-time obstacle avoidance according to the target path, wherein the local map includes the target path, and the target path includes a plurality of target path nodes.
[0079] Among them, obstacle avoidance refers to the behavior of the robot to avoid obstacles.
[0080] In this embodiment, after intercepting the target path, a local map can be established with the current position of the robot as the center according to the detection distance of the robot sensor. The local map includes path information of the target path, location information of the target path nodes, and obstacle information. Then, based on the path information of the target path, location information of the target path nodes and obstacle information on the local map, it can be determined whether the robot needs to avoid obstacles if it is traveling on the target path.
[0081] Among them, the path node is one of the key concepts in the path planning algorithm. It represents a discrete state point in the path. During the path planning process, the algorithm will find the best path by searching and evaluating different path nodes. The target path node is the path node on the target path.
[0082] In some embodiments, the step of “establishing a local map for real-time obstacle avoidance according to the target path” includes:
[0083] According to the target path, the local map of a preset size is established with the current position of the robot as the center, and the target path is located in the local map.
[0084] The preset size can be set according to actual needs and is not specifically limited here.
[0085] Among them, the local map can be updated in real time based on the robot's route. The size of the created local map can be m×m, where m can be the detection distance of the robot sensor or can be smaller than the detection distance of the robot sensor. In practical applications, the value of m can be determined according to needs. For example, m can be 30 cm, 35 cm, 40 cm, 100 cm, etc.
[0086] S140: Obtain obstacle information in the local map.
[0087] In one embodiment, the robot can obtain obstacle information in the local map through sensors such as laser radar, camera, ultrasonic sensor, etc. carried by the robot.
[0088] In one embodiment, the robot can use pre-built map data to obtain obstacle information. These map data may include information such as the location, shape, and size of the obstacle.
[0089] S150. According to the obstacle information, determine whether any of the target path nodes in the local map is blocked by the obstacle information, and obtain a blocking result.
[0090] In this embodiment, after obtaining the obstacle information in the local map, the robot can judge whether any target path node in the local map is blocked by an obstacle and obtain a corresponding obstruction result. The obstruction result includes two types, one is that there is a target path node on the target path that is blocked (i.e., the target path is blocked), and the other is that there is no target path node on the target path that is blocked (i.e., the target path is not blocked).
[0091] It can be understood that when there is a target path node that is blocked on the target path, it means that there is an obstacle blocking the target path. Conversely, when there is no target path node that is blocked on the target path, it means that there is no obstacle blocking the target path.
[0092] In some embodiments, all target path nodes on the target path can be traversed, and combined with the obstacle information in the local map, it is determined whether each target path node on the target path is blocked by the obstacle on the local map. If the target path node on the target path is blocked by the obstacle on the local map, it means that the target path needs to avoid obstacles. If the target path node on the target path is not blocked by the obstacle on the local map, it means that the target path does not need to avoid obstacles.
[0093] In some embodiments, the step of “determining whether any of the target path nodes in the local map is blocked by an obstacle according to the obstacle information, and obtaining an obstruction result” includes:
[0094] According to the obstacle information, the obstacle is expanded to obtain an expanded obstacle;
[0095] Determine whether any of the target path nodes is blocked by the expanded obstacle. If so, output a blocking result indicating that the target path is blocked; otherwise, output a blocking result indicating that the target path is not blocked.
[0096] Specifically, determining whether any target path node is obstructed by the expanded obstacle includes: determining whether any target path node falls into the expanded obstacle; when the target path node falls into the expanded obstacle, determining that the target path node is obstructed by the expanded obstacle; when the target path node does not fall into the expanded obstacle, determining that the target path node is not obstructed by the expanded obstacle.
[0097] Obstacle expansion refers to expanding the boundary of the obstacle outward by a certain distance in path planning to consider the impact of the size and shape of the obstacle and the outline of the robot on path planning. The expansion distance of the obstacle is usually determined based on the size and shape of the obstacle, the outline of the robot and other information. It can be a fixed value or dynamically adjusted according to actual conditions.
[0098] In this embodiment, judging whether the target path is blocked by the expanded obstacle in the environment after the obstacle is expanded can ensure the effectiveness and safety of the path planning.
[0099] Obstacle inflation can effectively prevent the path planning algorithm from generating a path that is too close to or passes through obstacles. Path planning is performed in an environment that takes obstacle inflation into account. The path planning algorithm generates the best path to avoid obstacles based on the expanded obstacle area.
[0100] In addition, it can be understood that obstacle refers to the collision between the robot and the obstacle during its movement. When processing, the robot can be regarded as a point, but in fact the robot also has a shell and a radius, so the robot can also be expanded at the same time, and the expanded robot and the expanded obstacle can be used to determine whether an obstacle will occur.
[0101] S160: Determine whether to establish a corrective planning path based on the obstruction result.
[0102] Among them, establishing a corrective planning path refers to a secondary obstacle avoidance planning in the middle layer between global planning and local planning, which can effectively control the length of the obstacle avoidance path and prevent the robot from seriously deviating from the original path due to continuous obstacle avoidance.
[0103] In this embodiment, when the obstruction result is that there is a target path node on the target path that is obstructed, it is determined that it is necessary to establish a corrective planned path; when the obstruction result is that there is no target path node on the target path that is obstructed, there is no need to establish a corrective planned path.
[0104] In some embodiments, the step of “determining whether to establish a corrective planning path according to the obstruction result” includes:
[0105] When the obstruction result is that the target path is not obstructed, determining not to establish a corrective planned path;
[0106] When the obstruction result is that the target path is obstructed, waiting for a first preset time length;
[0107] When it is detected that the obstacle disappears after the first preset time length, it is determined not to establish a corrective planned path. When it is detected that the obstacle does not disappear after the first preset time length, it is determined to establish a corrective planned path.
[0108] Among them, the first preset time length can be set according to actual needs and is not specifically limited here.
[0109] In one example, if the target path does not require obstacle avoidance, the robot does not need to establish a corrective planned path, that is, if the target path does not require obstacle avoidance, then there is no need to establish a corrective planned path for the target path, and the robot can continue to move along the target path.
[0110] In one example, if the target path needs to avoid obstacles, it is necessary to establish a corrective planned path. At this time, you can wait for the first preset time length without establishing the corrective planned path. If the obstacle disappears after the first preset time length and no longer hinders the target path, then exit from establishing the corrective planned path. If the obstacle does not disappear after the first preset time length, then determine to establish the corrective planned path.
[0111] In some embodiments, after the step of “determining whether to establish a corrective planning path according to the obstruction result”, the step further includes:
[0112] When it is determined that there is no need to establish the corrected planned path, the robot is controlled to move along the target path for a second preset time length, and then the first node closest to the robot in the forward direction of the robot is determined according to the current position of the robot, all nodes from the starting point of the target path to the first node are deleted, and the target path is extended so that the length of the target path is the first preset length.
[0113] The second preset time length can be set according to actual needs and is not specifically limited here.
[0114] In this embodiment, when the target path is not blocked by obstacles, that is, when there is no need to establish a corrective planning path, after controlling the robot to move along the target path for a second preset time length, all path nodes between the first node closest to the robot in the robot's forward direction and the starting point of the target path are deleted to delete the path length that has been traveled, and the target length is extended based on the path length of the deleted path, so that the length of the target path remains at the first preset length. After extending the target path, a new target path is obtained, and based on the new target path, the process goes to step "establishing a local map for real-time obstacle avoidance according to the target path" to continue running.
[0115] That is to say, in this application, when the target path is not blocked by obstacles, the robot updates the target path every time it moves for the second preset time length. It is understandable that the updated target path also needs to be processed for obstacle avoidance, that is, the updated target path will be re-processed for whether it is blocked by obstacles. For the specific method of processing the target path for obstacle avoidance, please refer to the robot obstacle avoidance path determination method recorded in this application.
[0116] S170: When it is determined that a corrected planned path needs to be established, a safe distance interval between the current position of the robot and obstacles is determined in the path of the local map.
[0117] In some embodiments, the step of “determining a safe distance interval between the current position of the robot and an obstacle in the path of the local map” includes:
[0118] Determining a safe start node and a safe target node from the plurality of target path nodes of the target path;
[0119] Among them, the safe starting node is the target path node that is closest to the obstacle before bypassing the obstacle and is not blocked by the obstacle information, and the safe target node is the target path node that is closest to the obstacle after bypassing the obstacle and is not blocked by the obstacle information.
[0120] In this embodiment, a safe starting node which is closest to the obstacle but safe is selected according to the safe distance interval range, and a safe target node which is closest to the obstacle and safe after bypassing the obstacle is selected at the same time.
[0121] S180: Establish a corrected planned path using the safety distance interval.
[0122] In some embodiments, the step of “using the safety distance interval to establish a corrected planned path” includes:
[0123] Deleting all target path nodes from the safe starting node to the safe target node in the target path;
[0124] The corrected planned path is inserted between the safety start node and the safety target node.
[0125] In this embodiment, since the original target path between the safety start node and the safety target node is disturbed by obstacles, the path between the two nodes cannot be used for the robot to travel normally, so the path between the two nodes is deleted to re-plan the path between the two nodes. The corrected planned path is the re-planned path between the two nodes.
[0126] It should be noted that the corrected planned path is a path that is not blocked by obstacles.
[0127] S190: Determine an obstacle avoidance path for the robot according to the corrected planned path.
[0128] In some embodiments, the step of “determining an obstacle avoidance path of the robot according to the corrected planned path” includes:
[0129] The obstacle avoidance path is determined according to a first subpath before the safety start node in the target path, the corrected planned path, and a second subpath after the safety target node in the target path.
[0130] It can be understood that after replanning the path between the safe starting node and the safe target node, the path between the two nodes is updated to the corrected planned path. Therefore, the original target path is updated to a new target path consisting of the first sub-path before the safe starting node, the corrected planned path, and the second sub-path after the safe target node. The obstacle avoidance path is determined based on the new target path.
[0131] In some embodiments, the step of “determining an obstacle avoidance path of the robot according to the corrected planned path” includes:
[0132] Determining an obstacle avoidance path to be verified according to the corrected planned path;
[0133] Taking the obstacle avoidance path to be verified as the target path, and returning to the step of establishing a local map for real-time obstacle avoidance according to the target path;
[0134] When the corrected planned path is the second corrected planned path established continuously, determine whether the absolute value of the length difference between the second corrected planned path and the previous corrected planned path is less than a second preset length. If so, use the obstacle avoidance path to be verified as the obstacle avoidance path of the robot.
[0135] Among them, the second preset length can be set according to actual needs and is not specifically limited here.
[0136] It is understandable that when the corrected planning path needs to be established twice in succession, the length difference between the two corrected planning paths is determined. When the difference is small, that is, less than the second preset length, it means that the obstacle avoidance path has not been significantly deviated, and the obstacle avoidance path to be verified can be directly used for obstacle avoidance. When the difference is large, that is, not less than the second preset length, it means that the obstacle avoidance path determined based on the second corrected planning path will make the robot far away from the original path, and the obstacle avoidance path can be abandoned and the planning failure can be reported.
[0137] The robot obstacle avoidance path determination method proposed in this application proposes a secondary obstacle avoidance planning of an intermediate layer between global planning and local planning. That is, by establishing a corrective planning path, the length of the obstacle avoidance path can be effectively controlled, and to a certain extent, it can overcome the shortcoming that obstacle avoidance relying solely on the DWA algorithm is easy to fall into the local optimum, and can improve the accuracy of the robot's obstacle avoidance path planning.
[0138] In one embodiment, a robot obstacle avoidance path determination device is also provided. Figure 2 , Figure 2 The schematic diagram of the structure of the robot obstacle avoidance path determination device 200 provided in the embodiment of the present application. The robot obstacle avoidance path determination device 200 is applied to a robot, and the robot obstacle avoidance path determination device 200 includes: a first determination module 201, a second determination module 202, a first establishment module 203, an acquisition module 204, a judgment module 205, a third determination module 206, a fourth determination module 207, a second establishment module 208 and a fifth determination module 209, as follows:
[0139] The first determination module 201 is used to determine the global path of the robot's work;
[0140] A second determination module 202, configured to determine a target path of a first preset length located in the global path;
[0141] A first establishing module 203 is used to establish a local map for real-time obstacle avoidance according to the target path, wherein the local map includes the target path, and the target path includes a plurality of target path nodes;
[0142] An acquisition module 204 is used to acquire obstacle information in the local map;
[0143] The judging module 205 is used to judge whether any of the target path nodes in the local map is blocked by an obstacle according to the obstacle information, and obtain an obstruction result;
[0144] A third determination module 206 is used to determine whether to establish a corrective planning path according to the obstruction result;
[0145] The fourth determination module 207 is used to determine the safe distance interval between the current position of the robot and the obstacle in the path of the local map when it is determined that a corrected planned path needs to be established;
[0146] A second establishing module 208 is used to establish a corrected planned path using the safety distance interval range;
[0147] The fifth determination module 209 is used to determine the obstacle avoidance path of the robot according to the corrected planned path.
[0148] In some embodiments, the second determining module 202 may be used to:
[0149] According to the current position of the robot, a target path of the first preset length is intercepted from the global path.
[0150] In some embodiments, the first establishing module 203 may be used to:
[0151] According to the target path, the local map of a preset size is established with the current position of the robot as the center, and the target path is located in the local map.
[0152] In some embodiments, the determination module 205 may be used to:
[0153] According to the obstacle information, the obstacle is expanded to obtain an expanded obstacle;
[0154] Determine whether any of the target path nodes is blocked by the expanded obstacle. If so, output a blocking result indicating that the target path is blocked; otherwise, output a blocking result indicating that the target path is not blocked.
[0155] In some embodiments, the third determination module 206 may be configured to:
[0156] When the obstruction result is that the target path is not obstructed, determining not to establish a corrective planned path;
[0157] When the obstruction result is that the target path is obstructed, waiting for a first preset time length;
[0158] When it is detected that the obstacle disappears after the first preset time length, it is determined not to establish a corrective planned path. When it is detected that the obstacle does not disappear after the first preset time length, it is determined to establish a corrective planned path.
[0159] In some embodiments, the fourth determining module 207 may be used to:
[0160] Determining a safe start node and a safe target node from the plurality of target path nodes of the target path;
[0161] Among them, the safe starting node is the target path node that is closest to the obstacle before bypassing the obstacle and is not blocked by the obstacle information, and the safe target node is the target path node that is closest to the obstacle after bypassing the obstacle and is not blocked by the obstacle information.
[0162] In some embodiments, the second establishing module 208 may be used to:
[0163] Deleting all target path nodes from the safe starting node to the safe target node in the target path;
[0164] The corrected planned path is inserted between the safety start node and the safety target node.
[0165] In some embodiments, the fifth determining module 209 may be used to:
[0166] The obstacle avoidance path is determined according to a first subpath before the safety start node in the target path, the corrected planned path, and a second subpath after the safety target node in the target path.
[0167] In some embodiments, the third determination module 206 may also be used to:
[0168] When it is determined that there is no need to establish the corrected planned path, the robot is controlled to move along the target path for a second preset time length, and then the first node closest to the robot in the forward direction of the robot is determined according to the current position of the robot, all nodes from the starting point of the target path to the first node are deleted, and the target path is extended so that the length of the target path is the first preset length.
[0169] In some embodiments, the fifth determining module 209 may be used to:
[0170] Determining an obstacle avoidance path to be verified according to the corrected planned path;
[0171] Taking the obstacle avoidance path to be verified as the target path, and returning to the step of establishing a local map for real-time obstacle avoidance according to the target path;
[0172] When the corrected planned path is the second corrected planned path established continuously, determine whether the absolute value of the length difference between the second corrected planned path and the previous corrected planned path is less than a second preset length. If so, use the obstacle avoidance path to be verified as the obstacle avoidance path of the robot.
[0173] It should be noted that the robot obstacle avoidance path determination device provided in the embodiment of the present application and the robot obstacle avoidance path determination method in the above embodiment belong to the same concept, and any method provided in the robot obstacle avoidance path determination method embodiment can be implemented through the robot obstacle avoidance path determination device. The specific implementation process is detailed in the robot obstacle avoidance path determination method embodiment, which will not be repeated here.
[0174] In addition, in order to better implement the robot obstacle avoidance path determination method in the embodiment of the present application, based on the robot obstacle avoidance path determination method, the present application also provides a robot, please refer to Figure 3 , Figure 3 A schematic diagram of the structure of the robot 300 provided in the present application is shown. Figure 3 As shown, the robot 300 provided in the present application includes a processor 301 and a memory 302. The processor 301 is used to implement the steps of the robot obstacle avoidance path determination method in the above embodiment of the present application when executing the computer program stored in the memory 302, such as:
[0175] Determine the global path of the robot's work;
[0176] Determine a target path of a first preset length located in the global path;
[0177] According to the target path, a local map for real-time obstacle avoidance is established, wherein the local map includes the target path, and the target path includes a plurality of target path nodes;
[0178] Obtaining obstacle information in the local map;
[0179] According to the obstacle information, determining whether any of the target path nodes in the local map is blocked by an obstacle, and obtaining an obstruction result;
[0180] Determine whether to establish a corrective planning path according to the obstruction result;
[0181] When it is determined that a corrective planning path needs to be established, determining a safe distance interval between the current position of the robot and obstacles in the path of the local map;
[0182] Using the safety distance interval range, establishing a corrected planning path;
[0183] An obstacle avoidance path of the robot is determined according to the corrected planned path.
[0184] Exemplarily, the computer program may be divided into one or more modules / units, one or more modules / units are stored in the memory 302, and executed by the processor 301 to complete the embodiment of the present application. One or more modules / units may be a series of computer program instruction segments that can complete specific functions, and the instruction segments are used to describe the execution process of the computer program in the computer device.
[0185] The robot 300 may include, but is not limited to, a processor 301 and a memory 302. Those skilled in the art will appreciate that the illustration is merely an example of the robot 300 and does not constitute a limitation on the robot 300. The robot 300 may include more or fewer components than shown in the illustration, or may combine certain components, or different components. For example, the robot 300 may also include input and output devices, network access devices, buses, etc. The processor 301, the memory 302, the input and output devices, and the network access devices are connected via a bus.
[0186] The processor 301 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the robot 300, and uses various interfaces and lines to connect various parts of the entire robot 300.
[0187] The memory 302 can be used to store computer programs and / or modules. The processor 301 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 302 and calling the data stored in the memory 302. The memory 302 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the robot 300 (such as audio data, video data, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0188] Technicians in the relevant field can clearly understand that, for the convenience and conciseness of description, the specific working process of the robot obstacle avoidance path determination device, robot 300 and its corresponding units described above can refer to the description of the robot obstacle avoidance path determination method in the above embodiments of the present application, and the details will not be repeated here.
[0189] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0190] To this end, an embodiment of the present application provides a computer-readable storage medium, in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the steps in the robot obstacle avoidance path determination method in the above embodiment of the present application, such as:
[0191] Determine the global path of the robot's work;
[0192] Determine a target path of a first preset length located in the global path;
[0193] According to the target path, a local map for real-time obstacle avoidance is established, wherein the local map includes the target path, and the target path includes a plurality of target path nodes;
[0194] Obtaining obstacle information in the local map;
[0195] According to the obstacle information, determining whether any of the target path nodes in the local map is blocked by an obstacle, and obtaining an obstruction result;
[0196] Determine whether to establish a corrective planning path according to the obstruction result;
[0197] When it is determined that a corrective planning path needs to be established, determining a safe distance interval between the current position of the robot and obstacles in the path of the local map;
[0198] Using the safety distance interval range, establishing a corrected planning path;
[0199] An obstacle avoidance path of the robot is determined according to the corrected planned path.
[0200] For specific operations, please refer to the description of the robot obstacle avoidance path determination method in the above embodiments of the present application, which will not be repeated here.
[0201] The computer-readable storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0202] Since the instructions stored in the computer-readable storage medium can execute the steps in the robot obstacle avoidance path determination method in the above embodiments of the present application, the beneficial effects that can be achieved by the robot obstacle avoidance path determination method in the above embodiments of the present application can be achieved. Please see the previous description for details and will not be repeated here.
[0203] In addition, the terms "first", "second", and "third" in this application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or modules is not limited to the listed steps or modules, but some embodiments also include steps or modules that are not listed, or some embodiments also include other steps or modules inherent to these processes, methods, products, or devices.
[0204] The above is a detailed introduction to a robot obstacle avoidance path determination method, device, robot and storage medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A method for determining a robot obstacle avoidance path, characterized in that: include: Determine the global path of the robot's work; Determine a target path of a first preset length located in the global path; According to the target path, a local map for real-time obstacle avoidance is established, wherein the local map includes the target path, and the target path includes a plurality of target path nodes; Obtaining obstacle information in the local map; According to the obstacle information, determining whether any of the target path nodes in the local map is blocked by an obstacle, and obtaining an obstruction result; Determine whether to establish a corrective planning path according to the obstruction result; When it is determined that a corrective planning path needs to be established, determining a safe distance interval between the current position of the robot and obstacles in the path of the local map; Using the safety distance interval range, establishing a corrected planning path; An obstacle avoidance path of the robot is determined according to the corrected planned path.
2. The method according to claim 1, characterized in that The determining of a target path of a first preset length located in the global path comprises: According to the current position of the robot, intercepting a target path of the first preset length from the global path; The step of establishing a local map for real-time obstacle avoidance according to the target path includes: According to the target path, the local map of a preset size is established with the current position of the robot as the center, and the target path is located in the local map.
3. The method according to claim 1, characterized in that: The determining, based on the obstacle information, whether any of the target path nodes in the local map is blocked by an obstacle and obtaining an obstruction result includes: According to the obstacle information, the obstacle is expanded to obtain an expanded obstacle; Determine whether any of the target path nodes is blocked by the expanded obstacle. If so, output a blocking result indicating that the target path is blocked; otherwise, output a blocking result indicating that the target path is not blocked.
4. The method according to claim 1, characterized in that: The determining whether to establish a corrective planning path according to the obstruction result includes: When the obstruction result is that the target path is not obstructed, determining not to establish a corrective planned path; When the obstruction result is that the target path is obstructed, waiting for a first preset time length; When it is detected that the obstacle disappears after the first preset time length, it is determined not to establish a corrective planned path. When it is detected that the obstacle does not disappear after the first preset time length, it is determined to establish a corrective planned path.
5. The method according to claim 1, characterized in that Determining a safe distance interval between the current position of the robot and an obstacle in the path of the local map includes: Determining a safe start node and a safe target node from the plurality of target path nodes of the target path; Among them, the safe starting node is the target path node that is closest to the obstacle before bypassing the obstacle and is not blocked by the obstacle information, and the safe target node is the target path node that is closest to the obstacle after bypassing the obstacle and is not blocked by the obstacle information.
6. The method according to claim 5, characterized in that The using the safety distance interval to establish a corrected planned path includes: Deleting all target path nodes from the safe starting node to the safe target node in the target path; Inserting the corrected planned path between the safety start node and the safety target node; Determining the obstacle avoidance path of the robot according to the corrected planned path includes: The obstacle avoidance path is determined according to a first subpath before the safety start node in the target path, the corrected planned path, and a second subpath after the safety target node in the target path.
7. The method according to claim 1, characterized in that After determining whether to establish a corrective planning path according to the obstruction result, the method further includes: When it is determined that there is no need to establish the corrected planned path, the robot is controlled to move along the target path for a second preset time length, and then the first node closest to the robot in the forward direction of the robot is determined according to the current position of the robot, all nodes from the starting point of the target path to the first node are deleted, and the target path is extended so that the length of the target path is the first preset length.
8. The method according to claim 1, characterized in that Determining the obstacle avoidance path of the robot according to the corrected planned path includes: Determining an obstacle avoidance path to be verified according to the corrected planned path; Taking the obstacle avoidance path to be verified as the target path, and returning to the step of establishing a local map for real-time obstacle avoidance according to the target path; When the corrected planned path is the second corrected planned path established continuously, determine whether the absolute value of the length difference between the second corrected planned path and the previous corrected planned path is less than a second preset length. If so, use the obstacle avoidance path to be verified as the obstacle avoidance path of the robot.
9. A robot obstacle avoidance path determination device, characterized in that: include: A first determination module is used to determine the global path of the robot's work; A second determining module, used for determining a target path of a first preset length located in the global path; A first establishing module is used to establish a local map for real-time obstacle avoidance according to the target path, wherein the local map includes the target path, and the target path includes a plurality of target path nodes; An acquisition module, used to acquire obstacle information in the local map; A judgment module, used for judging whether any of the target path nodes in the local map is blocked by an obstacle according to the obstacle information, and obtaining an obstruction result; A third determination module is used to determine whether to establish a corrective planning path according to the obstruction result; A fourth determination module is used to determine a safe distance interval range between the current position of the robot and an obstacle in the path of the local map when it is determined that a corrected planned path needs to be established; A second establishing module is used to establish a corrected planned path using the safety distance interval range; The fifth determination module is used to determine the obstacle avoidance path of the robot according to the corrected planned path.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed on a computer, the computer is caused to execute the robot obstacle avoidance path determination method according to any one of claims 1 to 8.
11. A robot comprising a processor and a memory, wherein the memory stores a computer program, wherein: The processor is configured to execute the robot obstacle avoidance path determination method according to any one of claims 1 to 8 by calling the computer program.
Citation Information
Cited By
Robot motion control method and related device
CN120993916A