A robot dynamic obstacle avoidance method, device, robot and storage medium

By translating the robot's route and planning the obstacle avoidance path, the problem of the robot stagnation when obstacles are beyond the detection range is solved, and effective obstacle avoidance and continuity of task execution in a dynamic environment are achieved.

CN117707182BActive Publication Date: 2025-09-26GUANGZHOU SAITE INTELLIGENCE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311798983.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-25
Publication Date
2025-09-26
Estimated Expiration
2043-12-25

AI Technical Summary

Technical Problem

In complex environments, traditional robot obstacle avoidance algorithms can easily cause the robot to stagnate and be unable to move forward when obstacles are beyond the detection range. Especially in dynamic environments, it is difficult for the robot to effectively avoid obstacles and return to the original route.

Method used

The robot's original route is translated left and right to generate a translation route. An obstacle avoidance path with a path length greater than a preset threshold and close to the original route is determined in the translation route. The robot travels along the obstacle avoidance path to a position with a preset path length ratio, and determines whether it has returned to the starting point of the original route. If not, the route is replanned.

Benefits of technology

It effectively prevents the robot from stagnating when obstacles are beyond the detection range, ensures that the robot can avoid obstacles without straying away from the original route, and gradually return to the original route, ensuring the effective execution of the task.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117707182B_ABST
    Figure CN117707182B_ABST
Patent Text Reader

Abstract

The present invention discloses a robot dynamic obstacle avoidance method, device, robot and storage medium, comprising: controlling the robot to travel along the first position point on the original route, and determining whether the obstacle area on the route ahead is beyond the detection range; if so, translating the original route left and right to obtain a translation route containing the original route; starting from the robot's current position point, determining an obstacle avoidance path whose path length is greater than a preset length threshold and close to the original route among the position points on the translation route; controlling the robot to travel to a position with a preset path length ratio in the obstacle avoidance path; determining whether the position with a preset path length ratio in the obstacle avoidance path is the first position point; if so, re-determining whether the area ahead is an obstacle area; if not, re-planning the obstacle avoidance route. This ensures that the obstacle avoidance path is continuously drivable and prevents the robot from straying from the original route. It can quickly and effectively avoid obstacles, and can gradually return to the original route during the obstacle avoidance process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot dynamic obstacle avoidance, and in particular to a robot dynamic obstacle avoidance method, device, robot and storage medium. Background Art

[0002] When the robot is working, there is usually an operating route, such as Figure 1 As shown in the figure, R is the curb of the road. The original operation route L1 consists of a set of location points. If there are no obstacles, robot A will follow this route to carry out operations such as cleaning and patrolling. If there is an obstacle area B, it will attempt to plan a new path L2 to avoid the obstacle area B and then return to the original route L1 to continue the operation. Generally, the new path L2 is composed of the obstacle avoidance path and the original route. The starting point and end point of the collision when robot A is driving along the original route are calculated. A path between the collision starting point and the collision end point is planned as the obstacle avoidance path. This path is then combined with the path before the starting point and the path after the end point to form the new execution path.

[0003] However, in a complex environment, all path points may collide, and there may not be a suitable end point on the path, such as Figure 2 As shown in the figure, S is the boundary of the farthest distance that robot A can detect in the direction of obstacle area B (it can also be set to an arc). Due to the dynamic environment and the limited detection range of robot A, when obstacle area B exceeds the farthest distance of its detection range, for efficiency reasons, robot A generally only chooses the path within the detection range to track. Because if robot A tries to avoid to the side, it is possible to gradually move away from the original route L1 during the driving process. Therefore, robot A will stay in place and cannot move forward.

[0004] It can be seen that the traditional point selection algorithm is based on the original route point selection. When all points on the original route are unreachable in a complex environment, point selection is likely to fail, causing the robot to stagnate. Summary of the Invention

[0005] The present invention provides a robot dynamic obstacle avoidance method to solve the problem of robot dynamic obstacle avoidance.

[0006] In a first aspect, the present invention provides a robot dynamic obstacle avoidance method, comprising:

[0007] Control the robot to travel along the first position point on the original route and determine whether the obstacle area on the front route is beyond the detection range;

[0008] If so, the original route is translated left and right to obtain a translated route including the original route;

[0009] Taking the current position of the robot as the starting point, determine an obstacle avoidance path at the position point of the translation route whose path length is greater than a preset length threshold and is close to the original route;

[0010] Controlling the robot to move to a position in the obstacle avoidance path that is a preset path length ratio;

[0011] Determining whether a position with a preset path length ratio in the obstacle avoidance path is the first position point;

[0012] If so, return to the step of controlling the robot to travel along the first position point on the original route and determining whether the front route within the detection range is an obstacle area;

[0013] If not, return to the step of translating the original route leftward and rightward to obtain a translated route including the original route.

[0014] In a second aspect, the present invention provides a robot dynamic obstacle avoidance device, comprising:

[0015] The detection module is used to control the robot to drive along the first position point on the original route and determine whether the obstacle area on the front route is beyond the detection range; if so, execute the content of the translation route acquisition module;

[0016] A translation route acquisition module, configured to translate the original route left and right to obtain a translation route containing the original route;

[0017] An obstacle avoidance path planning module is configured to determine, from the current position of the robot as a starting point, an obstacle avoidance path whose length is greater than a preset length threshold and close to the original route among the positions of the translation route;

[0018] A driving control module, used to control the robot to drive to a position of a preset path length ratio in the obstacle avoidance path;

[0019] The end point judgment module is used to judge whether the position of the preset path length ratio in the obstacle avoidance path is the first position point; if so, the content of the detection module is executed; if not, the content of the translation route acquisition module is executed.

[0020] In a third aspect, the present invention provides a robot, comprising:

[0021] at least one processor; and

[0022] a memory communicatively connected to the at least one processor; wherein,

[0023] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot dynamic obstacle avoidance method described in the first aspect of the present invention.

[0024] In a fourth aspect, the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot dynamic obstacle avoidance method described in the first aspect of the present invention when executed.

[0025] An embodiment of the present invention provides a robot dynamic obstacle avoidance method, which controls the robot to travel along the first position point on the original route and determines whether the obstacle area on the front route exceeds the detection range; if so, the original route is translated left and right to obtain a translation route containing the original route, that is, the route can be translated from the obstacle area to the pass area, so that all translation routes are in the same direction and similar position as the original route, and there are passable position points on the translation route. Then, taking the current position point of the robot as the starting point, an obstacle avoidance path with a pass path length greater than a preset length threshold and close to the original route is determined in the translation route. The pass path length greater than the preset length threshold can ensure that the obstacle avoidance path is continuously drivable, preventing the robot from entering a semi-enclosed area where it is difficult to turn the fuselage. If the obstacle avoidance path is close to the original route, then the obstacle avoidance path can overlap or be close to the original route, so that when the robot travels along the obstacle avoidance path, the robot can be prevented from moving away from the original route. The starting point of the obstacle avoidance path may be the first point on the original route. Therefore, it is determined whether the position of the preset path length ratio in the obstacle avoidance path is the first point. If so, it can be determined that when traveling along the obstacle avoidance path, it is possible to return to the original route from the translation route next to the original route. In this case, when the robot reaches the position of the preset path length ratio in the obstacle avoidance path, it can travel along the original route and return to the step of detecting the obstacle area. If not, it can be determined that the robot has not been able to return to the original route when traveling along the path (for example, it has not been able to return to the original route when the obstacle area is large). In this case, when the robot reaches or is about to reach the position of the preset path length ratio in the obstacle avoidance path, it returns to the step of obtaining the translation route based on the original route, that is, referring to the original route to perform a new path planning. Then, when the obstacle area on the current route exceeds the detection range, the robot can still travel along the direction of the original route without leaving the original route, effectively avoiding obstacles and preventing the robot from stopping. In addition, the robot can gradually return to the original route during the obstacle avoidance process, ensuring that the robot can effectively perform the existing task while effectively avoiding obstacles.

[0026] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0028] Figure 1 This is a schematic diagram of a road condition in which a robot encounters an obstacle area provided by the present invention;

[0029] Figure 2 This is another schematic diagram of a road condition in which a robot dynamically encounters an obstacle area provided by the present invention;

[0030] Figure 3 This is a flow chart of a robot dynamic obstacle avoidance method provided by Example 1 of the present invention;

[0031] Figure 4 This is a schematic diagram of a translation route provided by the first embodiment of the present invention;

[0032] Figure 5 This is a schematic diagram of an obstacle avoidance path provided by the first embodiment of the present invention;

[0033] Figure 6 This is a flow chart of a robot dynamic obstacle avoidance method provided by the second embodiment of the present invention;

[0034] Figure 7 This is a schematic diagram of determining an obstacle avoidance point provided by the second embodiment of the present invention;

[0035] Figure 8 This is another schematic diagram of determining obstacle avoidance points provided by the second embodiment of the present invention;

[0036] Figure 9 This is a schematic structural diagram of a robot dynamic obstacle avoidance device provided in Example 3 of the present invention;

[0037] Figure 10 It is a schematic structural diagram of the robot provided in the fourth embodiment of the present invention. DETAILED DESCRIPTION

[0038] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0039] Example 1

[0040] Figure 3 This is a flow chart of a robot dynamic obstacle avoidance method provided in the first embodiment of the present invention. This embodiment is applicable to situations where a robot dynamically avoids obstacles. This method can be executed by a robot dynamic obstacle avoidance device. The robot dynamic obstacle avoidance device can be implemented in the form of hardware and / or software. The robot dynamic obstacle avoidance device can be configured in the robot. Figure 3 As shown, the robot dynamic obstacle avoidance method includes:

[0041] S301: Control the robot to travel along the first position point on the original route, and determine whether the obstacle area on the front route is beyond the detection range.

[0042] The original route includes multiple position points (first position points), each of which has a displacement direction, and the displacement direction of each position point points from the current position point to the next position point. In the absence of obstacles, the robot will travel in an orderly manner along each position point in the original route. This embodiment mainly considers the obstacle avoidance method when the robot encounters an obstacle (obstacle area). Therefore, before determining whether the obstacle area on the front route exceeds the detection range, it can also include: determining whether there is an obstacle area on the front route. If there is an obstacle area, then execute this step. This is a technical solution that is easy to know and is only briefly explained.

[0043] Generally speaking, the obstacle area referred to in this embodiment is a continuous obstacle area.

[0044] When the robot is traveling along the first position point on the original route, the obstacle area on the front route does not exceed the detection range, such as Figure 1 As shown, R is the edge of the road, the original operation route L1 consists of a set of position points, and S is the boundary of the farthest distance that the robot A can detect in the direction of the obstacle area B (it can also be set to an arc). Figure 1 In the example, if the obstacle area B on the front route of robot A (when traveling along the original route L1) does not exceed the boundary S of the detection range, that is, the obstacle area on the front route does not exceed the detection range, then the conventional obstacle avoidance method can be used, such as Figure 1 As shown in the figure, if there is an obstacle area B, a new path L2 will be planned to avoid obstacle area B, and then return to the original route L1 to continue the operation. Generally, the new path L2 is composed of the obstacle avoidance path and the original route. The starting point and end point of the collision when robot A is driving along the original route are calculated. A path between the collision starting point and the collision end point is planned as the obstacle avoidance path. This path is then combined with the path before the starting point and the path after the end point to form the new execution path.

[0045] When the robot is traveling along the first position point on the original route, the obstacle area on the front route is beyond the detection range, such as Figure 2 As shown, R is the edge of the road, the original operation route L1 consists of a set of position points, and S is the boundary of the farthest distance that the robot A can detect in the direction of the obstacle area B (it can also be set to an arc). Figure 2 In the example, if the obstacle area B on the front route of the robot A (when traveling along the original route L1) exceeds the boundary S of the detection range, that is, the obstacle area on the front route exceeds the detection range, then S302 is executed.

[0046] S302: Shift the original route left and right to obtain a shifted route including the original route.

[0047] When the obstacle area on the forward route exceeds the detection range, conventional obstacle avoidance methods may cause the robot to stop moving. Therefore, the original route is shifted left and right to obtain a shifted route that includes the original route. Shifting the original route left and right essentially means shifting the points on the original route left and right.

[0048] The original route includes multiple locations with displacement directions, and translation does not change the directions of the locations. When translating the original route left or right, the road curb can be used as a reference line for translation. Specifically, translating the original route left or right to obtain a translated route that includes the original route includes: calculating the product of a preset unit distance and multiple positive integers as the translation distance; and for each translation distance, translating the original route left or right based on the translation distance to obtain the translated route.

[0049] Among them, the positive integer is N, N=1, 2, 3, 4..., the preset unit distance d, then the translation distance is d, 2d, 3d, 4d... Figure 4 is a schematic diagram of the translation route, such as Figure 4 As shown, for the first translation distance d, the original route L1 is translated to the left by a distance of d to obtain L11, and translated to the right by a distance of d to obtain L12. For the second translation distance 2d, the original route L1 is translated to the left by a distance of 2d to obtain L21, and translated to the right by a distance of 2d to obtain L22. For the third translation distance d, the original route L1 is translated to the left by a distance of 3d to obtain L31 (the route translated to the right is not shown).

[0050] Depend on Figure 4 It can be seen that when the obstacle area on the front route exceeds the detection range, a new route outside the obstacle area can be obtained by translating the original route, and a passable position point can be obtained. Specifically, Figure 4In the figure, after translation, the position points on L11, L21, L31 and L22 are all located outside the obstacle area, while some position points on L12 are located in the obstacle area and some are located outside the obstacle area.

[0051] Generally speaking, it is only necessary to translate the original route within the detection range, which can reduce the amount of processed data and improve data processing efficiency.

[0052] S303: Taking the current position of the robot as the starting point, determine an obstacle avoidance path among the positions of the translation route, the path length of which is greater than a preset length threshold and close to the original route.

[0053] After obtaining the position points outside the obstacle area, the method of traversing the position points outside the obstacle area can be used to determine the traversable obstacle avoidance path. It should be noted that determining the obstacle avoidance path among the position points of the translation route does not mean determining a translation route from multiple translation routes as the obstacle avoidance path, but rather determining multiple obstacle avoidance paths from all position points. For an obstacle avoidance path, it may contain path points on different translation routes. Figure 5 is a schematic diagram of an obstacle avoidance path, such as Figure 5 As shown, the obstacle avoidance path LC includes the positions on L11, L1 and L21.

[0054] The preset length threshold can be an integer multiple of the robot's body length, such as 5 or 10 times. The traversable path length is the length of a traversable path. Setting the traversable path length for the obstacle avoidance path ensures that the robot can continue to navigate along the obstacle avoidance path and prevents the robot from entering semi-enclosed areas where it is difficult to turn around.

[0055] Setting an obstacle avoidance path close to the original route can prevent the robot from moving away from the original route during the obstacle avoidance process, that is, the robot can stay close to the original route or be located on the original route. Generally speaking, robots are configured with certain tasks when traveling along the original route, such as patrolling or cleaning. If the robot deviates too far or too much from the original route (that is, it travels less on the original route), the quality of task execution cannot be guaranteed. For example, for patrolling, if the robot deviates too far from the original route, the patrol range deviates greatly, and the patrol content may not be of reference value. In this embodiment, the robot can stay close to the original route or be located on the original route. Even if it cannot be located on the original route during the obstacle avoidance process, it can still travel on a route near the original route, so the patrol content may still be of reference value.

[0056] It should be noted that the present invention only limits the path length of the obstacle avoidance path to be greater than a preset length threshold and close to the original route, and does not require the path length of the obstacle avoidance path to be the shortest. It is sufficient to meet the above conditions, which can improve decision-making efficiency and quickly obtain execution strategies, so that the robot can quickly bypass obstacle areas and avoid staying in place.

[0057] S304: Control the robot to travel to a position with a preset path length ratio in the obstacle avoidance path.

[0058] The obstacle avoidance path has been limited in length to ensure the robot can continue to navigate along it. However, if the robot reaches the end point of an obstacle avoidance path and there are still obstacles at that end point, it may not be possible to plan a new obstacle avoidance route that is closer to the original path. Therefore, in order to plan a better new obstacle avoidance route, the next step of route planning can be performed when the robot reaches a position within a preset path length ratio in the obstacle avoidance path. The obstacle avoidance strategy can be optimized while ensuring the robot's navigation.

[0059] The robot is controlled to travel to a position within the obstacle avoidance path that is a preset ratio of the path length. This position is the end point of the robot's travel along the obstacle avoidance path. Alternatively, the preset ratio can be 1 / 2, in which case the midpoint of the obstacle avoidance path is the end point of the robot's travel along the obstacle avoidance path.

[0060] S305: Determine whether the position of the preset path length ratio in the obstacle avoidance path is the first position point.

[0061] The position of the preset path length ratio in the obstacle avoidance path is the end point of the robot traveling on the obstacle avoidance path.

[0062] If the end point is the first position point, it means that the robot has returned to the original route, and can return to execute S301, that is, continue to drive along the original route and detect obstacle areas. Figure 1 As shown, the end point is a point on the original route, which is equivalent to the situation where the entire obstacle area is within the detection range, and it is easier to bypass the obstacle area.

[0063] If the end point is not the first position point, it means that the robot is still in the obstacle avoidance state when reaching the end point and has not returned to the original route. In this case, a new obstacle avoidance route can be planned based on the original route, and then the process returns to S302.

[0064] An embodiment of the present invention provides a robot dynamic obstacle avoidance method, which controls the robot to travel along the first position point on the original route and determines whether the obstacle area on the front route exceeds the detection range; if so, the original route is translated left and right to obtain a translation route containing the original route, that is, the route can be translated from the obstacle area to the pass area, so that all translation routes are in the same direction and similar position as the original route, and there are passable position points on the translation route. Then, taking the current position point of the robot as the starting point, an obstacle avoidance path with a pass path length greater than a preset length threshold and close to the original route is determined in the translation route. The pass path length greater than the preset length threshold can ensure that the obstacle avoidance path is continuously drivable, preventing the robot from entering a semi-enclosed area where it is difficult to turn the fuselage. If the obstacle avoidance path is close to the original route, then the obstacle avoidance path can overlap or be close to the original route, so that when the robot travels along the obstacle avoidance path, the robot can be prevented from moving away from the original route. The starting point of the obstacle avoidance path may be the first point on the original route. Therefore, it is determined whether the position of the preset path length ratio in the obstacle avoidance path is the first point. If so, it can be determined that when traveling along the obstacle avoidance path, it is possible to return to the original route from the translation route next to the original route. In this case, when the robot reaches the position of the preset path length ratio in the obstacle avoidance path, it can travel along the original route and return to the step of detecting the obstacle area. If not, it can be determined that the robot has not been able to return to the original route when traveling along the path (for example, it has not been able to return to the original route when the obstacle area is large). In this case, when the robot reaches or is about to reach the position of the preset path length ratio in the obstacle avoidance path, it returns to the step of obtaining the translation route based on the original route, that is, referring to the original route to perform a new path planning. Then, when the obstacle area on the current route exceeds the detection range, the robot can still travel along the direction of the original route without leaving the original route, effectively avoiding obstacles and preventing the robot from stopping. In addition, the robot can gradually return to the original route during the obstacle avoidance process, ensuring that the robot can effectively perform the existing task while effectively avoiding obstacles.

[0065] Example 2

[0066] Figure 6 This is a flow chart of a robot dynamic obstacle avoidance method provided in the second embodiment of the present invention. This embodiment of the present invention is optimized based on the above-mentioned first embodiment. Figure 6 As shown, the robot dynamic obstacle avoidance method includes:

[0067] S601: Control the robot to travel along the first position point on the original route, and determine whether the obstacle area on the front route is beyond the detection range.

[0068] If so, execute S602.

[0069] S602: Shift the original route left and right to obtain a shifted route including the original route.

[0070] S601-S602 are similar to S301-S302 in the first embodiment. For details, please refer to the relevant content in S301-S302, which will not be described here.

[0071] Optionally, after translating the original route left and right to obtain a translation route containing the original route, it also includes: obtaining the passage width of each position point in the translation route; taking the position point whose passage width is smaller than the body width of the robot as a rejection point, and removing the rejection point from the translation route.

[0072] like Figure 7 As shown, for the translated route L11, the position points e1, e2, e3, and e4 are too close to the obstacle area and the passage width is too small for the robot A to pass through. Therefore, they can be removed from the translated route as removal points.

[0073] For intersections in the translation route that are narrow or impassable for the robot, in this embodiment, points where the passage width is less than the robot's body width are eliminated. However, in actual implementation, the robot's operating errors must also be considered. That is, the intersections the robot passes through must be at least wider than the robot's body width, and a certain amount of error margin must be reserved. For example, assuming the robot's body width is 1 meter, in order to facilitate smooth passage, a 0.5-meter error margin is reserved, and the passage width of each point it passes through must be greater than 1.5 meters. It should be noted that if the step of screening out elimination points is performed in advance, all points in the subsequent translation route and outside the obstacle area can be passed.

[0074] S603: Take each first position point in the detection area as a reference position point.

[0075] S604: taking a position point in the translation route and outside the obstacle area as a candidate position point.

[0076] The location points in the obstacle area include some of the first location points on the original route and may also include the location points after translation. Because the location points in the obstacle area are necessarily inaccessible, the location points in the translated route and outside the obstacle area are used as alternative location points.

[0077] S605: Taking the reference position point as the target, traverse all candidate position points from near to far, and determine a passable obstacle avoidance point among the candidate position points.

[0078] S606: Taking the current position of the robot as the starting point, sequentially connect the starting point and the obstacle avoidance points on one side of the original route to obtain a feasible path.

[0079] Figure 7 is a schematic diagram for determining obstacle avoidance points, specifically, Figure 7 As shown, R is the curb of the road, S is the boundary of the farthest distance that robot A can detect in the direction of obstacle area B, L1 is the original route, and the point on L1 is the first position point. Each first position point d0, d1, d2, d3, and d4 in the detection area is used as a reference position point, and the position points in the translation routes L11, L21, L31, L12, and L22 outside the obstacle area B are used as alternative position points. Taking the left side of L1 as an example, the position points e1, e2, e3, and e4 are too close to the obstacle area and are not passable. First, take the reference position point d0 as the target, because d0 itself is also an alternative position point. According to the principle of from near to far, the nearest point is d0 itself, and d0 is passable, so d0 can be used as the obstacle avoidance point; take the reference position point d1 as the target, the nearest alternative position point is e1, but e1 is not passable, so the nearest passable alternative position point of d1 is e0; take the reference position points d2, d3, and d4 as the targets, the nearest alternative position points are e2, e3, and e4 respectively, but e2, e3, and e4 are not passable, so the nearest and passable obstacle avoidance points of d2, d3, and d4 are f2, f3, and f4 respectively. Connect the current position of the robot and d0, e0, f2, f3, and f4 to get the first obstacle avoidance path. For the second obstacle avoidance path, in addition to the points on the original path, the position points that have been attributed to other obstacle avoidance paths in the alternative position points can be eliminated. That is to say, for different obstacle avoidance paths, only the position points on the original path can be shared, and the other position points are different. Then e0, f2, f3, and f4 are eliminated. Therefore, it can be determined that the nearest and passable obstacle avoidance point of d1 is f1, and the nearest and passable obstacle avoidance points of d2, d3, and d4 are g2, g3, and g4 respectively. D0 does not need to avoid obstacles, that is, it is itself. Connect the current position of the robot and d0, f1, g2, g3, and g4 to get the second obstacle avoidance path (not in Figure 7 ), and so on.

[0080] In an optional embodiment, with the reference position point as the target, all the alternative position points are traversed from the near to the far principle, and the passable obstacle avoidance points are determined among the alternative position points, specifically including: for each reference position point, determining the translation point of the reference position point among the alternative position points; with the reference position point as the target, the nearest passable translation point is used as the obstacle avoidance point.

[0081] Figure 8 Determine the schematic diagram for another obstacle avoidance point, such as Figure 8As shown, R is the curb of the road, S is the boundary of the farthest distance that robot A can detect in the direction of obstacle area B, L1 is the original route, the point on L1 is the first position point, each first position point d0, d1, d2, d3, d4 in the detection area is used as a reference position point, and the position points in the translation routes L11, L21, L31, L12 and L22 outside the obstacle area B are used as alternative position points. Take the left side of L1 as an example. First, take the reference position point d0 as the target. Because d0 itself is also an alternative position point, according to the principle of from near to far, the nearest point is d0 itself, and d0 is passable, so d0 can be used as the obstacle avoidance point; take the reference position point d1 as the target, its translation points are e1, f1, g1, and the nearest translation point is e1, but e1 is not passable. Therefore, the nearest and passable translation point of d1 is f1, and the obstacle avoidance point corresponding to d1 is f1; similarly, the obstacle avoidance points corresponding to d2, d3, and d4 are f2, f3, and f4 respectively. Connect the current position of the robot and d0, f1, f2, f3, and f4 to obtain the obstacle avoidance path. For specific methods of obtaining other obstacle avoidance paths, please refer to Figure 7 Some of the related descriptions are not described here.

[0082] Using this method, we can quickly determine an obstacle avoidance path that circumvents obstacles, preventing the robot from getting stuck and improving its efficiency. Furthermore, the obstacle avoidance path is located around the obstacle area, minimizing the impact on the task corresponding to the original path.

[0083] S607: The feasible path generated first on each side of the original route and having a traversable path length greater than a preset length threshold is selected as an alternative path.

[0084] The traversable path length is the length of the traversable path. Setting the traversable path length for the obstacle avoidance path ensures that the robot can continue to travel along the obstacle avoidance path and prevents the robot from entering semi-enclosed areas where it is difficult to turn around.

[0085] S608: Determine an obstacle avoidance path from the alternative paths.

[0086] Specifically, it is determined whether the number of alternative paths is 1; if so, the alternative path is used as the obstacle avoidance path; if not, the alternative path on the left side of the original route is used as the obstacle avoidance path.

[0087] Generally speaking, if the robot travels along the right side of the road, it will be closer to the right curb and lack of passage space. Therefore, the alternative path on the left side of the original route is usually preferred as the obstacle avoidance path.

[0088] S609: Control the robot to move to a position of a preset path length ratio in the obstacle avoidance path.

[0089] S610: Determine whether the position of the preset path length ratio in the obstacle avoidance path is the first position point.

[0090] If yes, return to execute S601; if no, return to execute S602.

[0091] S609-S610 are similar to S304-S305 in the first embodiment. For details, please refer to the relevant content of S304-S305, which will not be described here.

[0092] This embodiment uses each first position point in the detection area as a reference position point; uses the position points in the translation route and outside the obstacle area as alternative position points; uses the reference position point as the target, traverses all the alternative position points according to the principle of near to far, and determines the passable obstacle avoidance points among the alternative position points; uses the current position point of the robot as the starting point, and sequentially connects the starting point and the obstacle avoidance points on one side of the original route to obtain a feasible path; uses the feasible path whose pass path length is greater than the preset length threshold as an alternative path; and determines the obstacle avoidance path from the alternative path. Through the above method, an obstacle avoidance path that can bypass the obstacle area can be quickly determined, avoiding the robot from staying in place and improving the robot's work efficiency. In addition, the obstacle avoidance path is also around the obstacle area, which can relatively reduce the impact on the task corresponding to the original path.

[0093] Example 3

[0094] Figure 9 This is a schematic diagram of the structure of a robot dynamic obstacle avoidance device provided by the third embodiment of the present invention. Figure 9 As shown, the robot dynamic obstacle avoidance device includes:

[0095] Detection module 901, used to control the robot to travel along the first position point on the original route and determine whether the obstacle area on the front route is beyond the detection range; if so, execute the content of the translation route acquisition module;

[0096] A translation route acquisition module 902 is configured to translate the original route left and right to obtain a translation route including the original route;

[0097] The obstacle avoidance path planning module 903 is configured to determine an obstacle avoidance path with a length greater than a preset length threshold and close to the original route among the positions of the translation route, starting from the current position of the robot;

[0098] A driving control module 904 is used to control the robot to drive to a position of a preset path length ratio in the obstacle avoidance path;

[0099] The end point judgment module 905 is used to judge whether the position of the preset path length ratio in the obstacle avoidance path is the first position point; if so, the content of the detection module 901 is executed; if not, the content of the translation route acquisition module 902 is executed.

[0100] In an optional embodiment, the translation route acquisition module 902 includes:

[0101] A translation distance determination submodule, configured to calculate the product of a preset unit distance and a plurality of positive integers as the translation distance;

[0102] The translation route acquisition submodule is configured to translate the original route left and right based on each translation distance to obtain a translation route.

[0103] In an optional embodiment, the robot dynamic obstacle avoidance device further includes:

[0104] A passage width determination module, configured to obtain the passage width of each position point in the translation route;

[0105] A rejection point determination module, configured to determine a position point where the passage width is smaller than the body width of the robot as a rejection point;

[0106] A removal module is used to remove the removal point from the translation route.

[0107] In an optional embodiment, the obstacle avoidance path planning module 903 includes:

[0108] a reference position point determination submodule, configured to use each of the first position points in the detection area as a reference position point;

[0109] a candidate position point determination submodule, configured to select a position point in the translation route and outside the obstacle area as a candidate position point;

[0110] an obstacle avoidance point determination submodule, configured to take the reference position point as a target, traverse all the candidate position points from near to far, and determine a passable obstacle avoidance point among the candidate position points;

[0111] A feasible path determination submodule is used to take the current position of the robot as the starting point, and sequentially connect the starting point and the obstacle avoidance points on one side of the original route to obtain a feasible path;

[0112] an alternative path determination submodule, configured to select the feasible path generated first on each side of the original route and having a passable path length greater than a preset length threshold as an alternative path;

[0113] The obstacle avoidance path determination submodule is used to determine an obstacle avoidance path from the alternative paths.

[0114] In an optional embodiment, the obstacle avoidance point determination submodule includes:

[0115] a translation point determining unit, configured to determine, for each of the reference position points, a translation point of the reference position point among the candidate position points;

[0116] The obstacle avoidance point determination unit is used to use the reference position point as a target and the nearest, passable translation point as an obstacle avoidance point.

[0117] In an optional embodiment, the obstacle avoidance path determination submodule includes:

[0118] The obstacle avoidance path determination unit is used to determine whether the number of the alternative paths is 1; if so, use the alternative path as the obstacle avoidance path; if not, use the alternative path on the left side of the original route as the obstacle avoidance path.

[0119] In an optional embodiment, the preset path length ratio is 1 / 2.

[0120] The robot dynamic obstacle avoidance device provided in the embodiment of the present invention can execute the robot dynamic obstacle avoidance method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0121] Example 4

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

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

[0124] Various components in the robot 40 are connected to the I / O interface 45, including an input unit 46, such as a keyboard, a mouse, etc.; an output unit 47, such as various types of displays, speakers, etc.; a storage unit 48, such as a magnetic disk, an optical disk, etc.; and a communication unit 49, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 49 allows the robot 40 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0125] Processor 41 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processor, controller, microcontroller, etc. Processor 41 executes the various methods and processes described above, such as the robot dynamic obstacle avoidance method.

[0126] In some embodiments, the robot dynamic obstacle avoidance method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 48. In some embodiments, part or all of the computer program can be loaded and / or installed on the robot 40 via the ROM 42 and / or the communication unit 49. When the computer program is loaded into the RAM 43 and executed by the processor 41, one or more steps of the robot dynamic obstacle avoidance method described above can be performed. Alternatively, in other embodiments, the processor 41 can be configured to execute the robot dynamic obstacle avoidance method in any other appropriate manner (for example, by means of firmware).

[0127] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

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

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

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

[0131] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0132] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.

[0133] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.

[0134] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.

Claims

1. A robot dynamic obstacle avoidance method, characterized in that: include: Control the robot to travel along the first position point on the original route and determine whether the obstacle area on the front route is beyond the detection range; If so, the original route is translated left and right to obtain a translated route including the original route; Taking the current position of the robot as the starting point, determine an obstacle avoidance path at the position point of the translation route whose path length is greater than a preset length threshold and is close to the original route; Controlling the robot to move to a position in the obstacle avoidance path that is a preset path length ratio; Determining whether a position with a preset path length ratio in the obstacle avoidance path is the first position point; If so, return to the step of controlling the robot to travel along the first position point on the original route and determining whether the front route within the detection range is an obstacle area; If not, return to the step of translating the original route leftward and rightward to obtain a translated route including the original route; The method of determining an obstacle avoidance path with a length greater than a preset length threshold and close to the original route at a point on the translation route, taking the current position of the robot as a starting point, includes: Taking each of the first position points in the detection range as a reference position point; taking a position point in the translation route and outside the obstacle area as an alternative position point; Taking the reference position point as a target, traverse all the candidate position points according to the principle of near to far, and determine a passable obstacle avoidance point among the candidate position points; Taking the current position of the robot as the starting point, sequentially connecting the starting point and the obstacle avoidance points on one side of the original route to obtain a feasible path; The feasible path generated first on each side of the original route and having a traversable path length greater than a preset length threshold is used as an alternative path; An obstacle avoidance path is determined from the candidate paths.

2. The robot dynamic obstacle avoidance method according to claim 1, characterized in that: The step of translating the original route leftward and rightward to obtain a translated route including the original route includes: Calculate the product of a preset unit distance and multiple positive integers as the translation distance respectively; For each translation distance, the original route is translated left and right based on the translation distance to obtain a translation route.

3. The robot dynamic obstacle avoidance method according to claim 1, characterized in that: After translating the original route leftward and rightward to obtain a translated route including the original route, the method further includes: Obtaining the passage width of each position point in the translation route; The position point where the passage width is smaller than the body width of the robot is used as a rejection point; Eliminate the elimination point from the translation route.

4. The robot dynamic obstacle avoidance method according to claim 1, wherein: Taking the reference position point as a target, traversing all the candidate position points according to the principle of near to far, and determining a passable obstacle avoidance point among the candidate position points, includes: For each of the reference position points, determining a translation point of the reference position point among the candidate position points; Taking the reference position point as the target, the nearest and passable translation point is used as the obstacle avoidance point.

5. The robot dynamic obstacle avoidance method according to claim 1, characterized in that: Determining an obstacle avoidance path from the alternative paths includes: Determine whether the number of the alternative paths is 1; If so, use the alternative path as the obstacle avoidance path; If not, the alternative path on the left side of the original route is used as the obstacle avoidance path.

6. The robot dynamic obstacle avoidance method according to any one of claims 1 to 4, characterized in that: The preset path length ratio is 1 / 2.

7. A robot dynamic obstacle avoidance device, characterized in that: For executing the robot dynamic obstacle avoidance method according to any one of claims 1 to 6, the device comprises: The detection module is used to control the robot to drive along the first position point on the original route and determine whether the obstacle area on the front route is beyond the detection range; if so, execute the content of the translation route acquisition module; A translation route acquisition module, configured to translate the original route left and right to obtain a translation route containing the original route; An obstacle avoidance path planning module is configured to determine, from the current position of the robot as a starting point, an obstacle avoidance path whose length is greater than a preset length threshold and close to the original route among the positions of the translation route; A driving control module, used to control the robot to drive to a position of a preset path length ratio in the obstacle avoidance path; The end point judgment module is used to judge whether the position of the preset path length ratio in the obstacle avoidance path is the first position point; if so, the content of the detection module is executed; if not, the content of the translation route acquisition module is executed.

8. An electronic device, characterized in that: The robot comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot dynamic obstacle avoidance method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot dynamic obstacle avoidance method according to any one of claims 1 to 6 when executed.

Citation Information

Patent Citations

  • Application method of adaptive ant colony algorithm (AACO) in mobile robot path planning

    CN108241375A

  • KR20190111866A