Robot obstacle avoidance method, device, equipment and storage medium
By acquiring and dynamically adjusting the robot's obstacle avoidance level, the problem of robot deviation when obstacles change is solved, the obstacle avoidance adaptive capability and work efficiency are improved, and safety is enhanced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- KEENON ROBOTICS CO LTD
- Filing Date
- 2021-12-21
- Publication Date
- 2026-07-31
AI Technical Summary
Robots are prone to repeated deviations when encountering narrow roads or changing obstacles, causing them to sway from side to side, which affects transportation safety and work efficiency.
By obtaining the obstacle avoidance level corresponding to the target road segment and the robot, the robot is controlled to avoid obstacles according to the obstacle avoidance level during the journey, and the obstacle avoidance level is dynamically adjusted to adapt to environmental changes.
It improves the robot's obstacle avoidance and adaptive capabilities and work efficiency, reduces swaying, and enhances safety during operation.
Smart Images

Figure CN114115293B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and in particular to a robot obstacle avoidance method, apparatus, device, and storage medium. Background Technology
[0002] With the continuous development of robotics technology, the application of robots has gradually expanded from the industrial field to the commercial field, and the application scenarios of robots in life are increasing day by day, such as food delivery robots or disinfection robots.
[0003] Typically, when a robot moves within an existing map, it uses obstacle avoidance sensors, such as lidar sensors, to detect surrounding obstacles or virtual walls to avoid them. The robot is set with a fixed obstacle avoidance distance. However, in narrow sections or when obstacles change, the robot is prone to repeatedly veering left or right, resulting in swaying and affecting the safety of the transported goods and the robot's work efficiency. Summary of the Invention
[0004] This application provides a robot obstacle avoidance method, apparatus, device, and storage medium to improve the robot's adaptive ability to avoid obstacles in response to the traffic environment during passage.
[0005] In a first aspect, embodiments of this application provide a robot obstacle avoidance method, the method comprising:
[0006] Obtain the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment;
[0007] The robot is controlled to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment.
[0008] Optionally, the target road segment includes the current road segment;
[0009] Accordingly, acquiring the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment includes:
[0010] Obtain the current position of the robot;
[0011] Determine whether the current location is a preset road segment marking location;
[0012] If so, then based on the current location, determine the current road segment where the robot is located and the corresponding obstacle avoidance level.
[0013] Optionally, the method further includes:
[0014] Obtain obstacle avoidance information generated by the robot as it travels on the target road segment;
[0015] Based on the obstacle avoidance information, determine whether the obstacle avoidance level of the target road segment needs to be adjusted;
[0016] If so, adjust the obstacle avoidance level of the target road segment.
[0017] Optionally, the obstacle avoidance information includes the number of times the target road segment is avoided within a preset time period;
[0018] Accordingly, determining whether the obstacle avoidance level of the target road segment needs to be adjusted based on the obstacle avoidance information includes:
[0019] Determine whether the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold;
[0020] If so, then it is determined that the obstacle avoidance level of the target road segment needs to be adjusted.
[0021] Optionally, the obstacle avoidance information may also include the number of times the robot passes through the target road segment within a preset time period;
[0022] Accordingly, if the condition is met, then after determining that the obstacle avoidance level of the target road segment needs to be adjusted, the method further includes:
[0023] The obstacle avoidance probability of the robot on the target road segment is determined based on the number of obstacle avoidance attempts and the number of passage attempts.
[0024] Determine whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold;
[0025] If so, the obstacle avoidance level of the target road segment is adjusted based on the preset level accumulation value.
[0026] Optionally, the obstacle avoidance information may also include the trigger obstacle avoidance location within a preset time period, and the target road segment may include multiple sub-road segments;
[0027] Accordingly, if so, the obstacle avoidance level of the target road segment is adjusted, including:
[0028] The obstacle avoidance information for each sub-road segment is determined based on the obstacle avoidance trigger location;
[0029] The obstacle avoidance level of each sub-segment is selectively adjusted based on the obstacle avoidance information.
[0030] Optionally, the sub-segment is determined based on adjacent location tags in the target segment.
[0031] Secondly, embodiments of this application also provide a robot obstacle avoidance device, the device comprising:
[0032] The obstacle avoidance level acquisition module is used to acquire the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment;
[0033] The obstacle avoidance control module is used to control the robot to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment.
[0034] Thirdly, embodiments of this application also provide a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the robot obstacle avoidance method as described in any of the embodiments of this application.
[0035] Fourthly, embodiments of this application also provide a computer-readable storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the robot obstacle avoidance method as described in any of the embodiments of this application.
[0036] This application embodiment obtains the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment; it then controls the robot to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment. This solution enables the robot to adaptively avoid obstacles based on the differences between different road segments during path travel, improving the robot's adaptive obstacle avoidance capability and work efficiency. This reduces the probability of the robot swaying left and right while traveling on the road segment, thus improving the safety of the robot's operation. Attached Figure Description
[0037] Figure 1 This is a flowchart illustrating a robot obstacle avoidance method according to Embodiment 1 of this application;
[0038] Figure 2A This is a flowchart illustrating a robot obstacle avoidance method according to Embodiment 2 of this application;
[0039] Figure 2B This is a schematic diagram of the marked points in Embodiment 2 of this application;
[0040] Figure 3 This is a flowchart illustrating a robot obstacle avoidance method according to Embodiment 3 of this application;
[0041] Figure 4 This is a structural block diagram of a robot obstacle avoidance device according to Embodiment 4 of this application;
[0042] Figure 5 This is a schematic diagram of the structure of a robot according to Embodiment 5 of this application. Detailed Implementation
[0043] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the application and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present application, not the entire structure.
[0044] Example 1
[0045] Figure 1 This is a flowchart illustrating a robot obstacle avoidance method provided in Embodiment 1 of this application. This embodiment is applicable to situations where robots adaptively avoid obstacles during operation. The method can be executed by a robot obstacle avoidance device, which can be implemented in software and / or hardware. This device can be integrated into the robot, such as... Figure 1 As shown, the method specifically includes the following steps:
[0046] S110. Obtain the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment.
[0047] The target road segment can include the road segment where the robot is currently located, or the road segment that the robot will travel to next.
[0048] Obstacle avoidance level can be defined as the safe distance level between the robot and obstacles. For example, obstacle avoidance level 1 corresponds to a safe distance of 40 cm between the robot and obstacles; obstacle avoidance level 2 corresponds to a safe distance of 35 cm. The less impact obstacles have on the robot's movement, the higher the obstacle avoidance level, and the smaller the safe distance between the robot and obstacles. Obstacles can be non-dynamic obstacles or virtual walls, etc.; non-dynamic obstacles can be permanently fixed obstacles, such as tables, counters, or static objects in a food delivery scenario. The condition for the robot to trigger obstacle avoidance behavior is that if the robot detects an obstacle within a preset safe distance, it will avoid it. For example, the robot can detect obstacles based on the safe distance determined by the obstacle avoidance level. When the distance between the robot and the detected obstacle is less than or equal to the safe distance, the robot can rotate and change its direction to avoid the obstacle.
[0049] The obstacle avoidance level for the target road segment can be pre-configured by relevant technical personnel. For example, based on the robot's working scenario, a corresponding obstacle avoidance level can be configured for each road segment in the robot's operating environment, i.e., each road segment on the robot's map. This allows the robot to determine the target road segment based on its planned path during operation and avoid obstacles according to the pre-configured level while traveling on the target road segment. For instance, if the robot's working scenario is food delivery, the obstacle avoidance level for each road segment can be pre-configured based on factors such as the type and placement of obstacles, as well as the actual width of each road segment.
[0050] For example, if a robot travels from its current location to a target delivery location, and according to the planned route it needs to pass through road segment A and road segment B, then the target road segments include road segment A and road segment B. The robot is pre-configured with obstacle avoidance level 1 for road segment A and level 2 for road segment B. Since road segment A is the target road segment the robot is currently in, and its obstacle avoidance level in the current road segment is obtained as level 1, the robot will avoid obstacles at level 1 while traveling in road segment A. Similarly, since road segment B is the target road segment the robot will enter, and its obstacle avoidance level in road segment B is obtained as level 2, the robot will avoid obstacles at level 2 when it reaches road segment B.
[0051] In an optional embodiment, the target road segment may include the current road segment, i.e., the road segment in which the robot is currently traveling during the planned path. Accordingly, obtaining the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment includes: obtaining the robot's current position; determining whether the current position is a preset road segment marking position; if so, determining the current road segment in which the robot is located and the corresponding obstacle avoidance level based on the current position.
[0052] The locations of road segment markings can be pre-set by relevant technical personnel. Specifically, these markings can be pre-defined by technical personnel for each road segment within the planned path. The marking locations for each road segment can be the same or different, depending on actual needs. For example, the marking location for road segment A can be its starting point, the marking location for road segment B can be its midpoint, and the marking location for road segment C can be any position between its starting point and midpoint. This embodiment does not impose any limitations on this. Preferably, the marking location is the starting point of the road segment. This means the robot obtains the obstacle avoidance level for each road segment at its starting point. This avoids the large processing load of obtaining obstacle avoidance level information for multiple road segments at once, and also avoids the situation where, if the robot deviates from the preset path during its journey (e.g., taking a detour), the obstacle avoidance level might not correspond to the road segment. It also avoids the situation where the obstacle avoidance level is only obtained halfway through the journey, leading to an inappropriate obstacle avoidance level in the first half and increasing the risk of accidents or swaying.
[0053] After setting the location of each road segment for each driving path, a correlation is established between the location of the road segment and each road segment, enabling the robot to determine its current target road segment based on the location of the road segment. For example, the location of the road segment corresponding to driving segment A is point a, and the location of the road segment corresponding to driving segment B is point b. A correlation is established between driving segment A and location a, and a correlation is established between driving segment B and location b. When the robot travels to location a, it can be determined that the current road segment it is on is driving segment A; when the robot travels to location b, it can be determined that the current road segment it is on is driving segment B.
[0054] For example, the robot's positioning device or equipment can acquire the robot's current position in real time and determine whether the current position is a preset road segment marker location. If the current position is a preset road segment marker location, the robot's current road segment is acquired based on the current position, and the obstacle avoidance level corresponding to the current road segment is determined; that is, based on the current road segment marker location, the associated travel road segment of the robot's current road segment is acquired, as well as the obstacle avoidance level of the robot corresponding to the travel road segment, and the acquired obstacle avoidance level is used as the obstacle avoidance level of the current road segment. If the current position is not a preset road segment marker location, the robot continues to travel on the current road segment.
[0055] This optional embodiment obtains the robot's current position and determines whether the current position is a preset road segment marker position. If so, it determines the current road segment where the robot is located and the corresponding obstacle avoidance level based on the current position. The above solution, by determining the robot's current position and whether it is a road segment marker position, enables the acquisition of the obstacle avoidance level for the corresponding target road segment when the robot travels to the road segment marker position corresponding to different target road segments, thus improving the robot's flexibility in avoiding obstacles according to different obstacle avoidance levels on different target road segments.
[0056] S120: Control the robot to avoid obstacles according to the obstacle avoidance level while driving on the target road section.
[0057] After obtaining the obstacle avoidance level of the target road segment, the robot performs obstacle avoidance according to the obtained obstacle avoidance level. For example, if the obstacle avoidance level corresponding to the target road segment is level 1, and the safe distance between the robot and the obstacle is 40 centimeters, then the robot will initiate obstacle avoidance at a distance of 40 centimeters from the obstacle; if the obstacle avoidance level corresponding to the target road segment is level 2, and the safe distance between the robot and the obstacle is 35 centimeters, then the robot will initiate obstacle avoidance at a distance of 35 centimeters from the obstacle.
[0058] This application embodiment obtains the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment; it then controls the robot to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment. This solution enables the robot to adaptively avoid obstacles based on the differences between different road segments during path travel, improving the robot's adaptive obstacle avoidance capability and work efficiency. This reduces the probability of the robot swaying left and right while traveling on the road segment, thus improving the safety of the robot's operation.
[0059] Example 2
[0060] Figure 2A This is a flowchart illustrating a robot obstacle avoidance method provided in Embodiment 2 of this application. This embodiment is an optimization and improvement based on the above-mentioned technical solutions.
[0061] Furthermore, the step "Obtain obstacle avoidance information generated by the robot while driving on the target road segment; determine whether the obstacle avoidance level of the target road segment needs to be adjusted based on the obstacle avoidance information; if so, adjust the obstacle avoidance level of the target road segment" is added after the step "Control the robot to avoid obstacles according to the obstacle avoidance level while driving on the target road segment" to improve the process of adjusting the obstacle avoidance level of the target road segment.
[0062] like Figure 2A As shown, the method includes the following specific steps:
[0063] S210. Obtain the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment.
[0064] S220: Control the robot to avoid obstacles according to the obstacle avoidance level while driving on the target road segment.
[0065] S230: Obtain obstacle avoidance information generated by the robot while driving on the target road segment.
[0066] Obstacle avoidance information generated by the robot while traveling on the target road segment can be obtained at preset points along that segment. These preset points can be determined in advance by technical personnel; for example, the endpoint of the target road segment can be used as the preset point. For instance, if the starting point of the target road segment is D1 and the ending point is D2, then the endpoint D2 can be set as the preset point. The obstacle avoidance information can be obstacle avoidance behavior information generated by the robot on the target road segment. For example, obstacle avoidance behavior information could be the number of times the robot avoided obstacles on the target road segment, or the specific location information of the robot when it avoided an obstacle. Alternatively, after the robot reaches the target delivery location, the obstacle avoidance information recorded for each segment during the robot's entire planned path can be obtained, avoiding increasing the data processing burden on the robot during task execution.
[0067] S240. Determine whether the obstacle avoidance level of the target road segment needs to be adjusted based on the obstacle avoidance information.
[0068] Obstacle avoidance information judgment conditions can be pre-set for the robot. If the obstacle avoidance information acquired by the robot meets the judgment conditions, it can be determined that the obstacle avoidance level of the target road segment needs to be adjusted; if the obstacle avoidance information acquired by the robot does not meet the judgment conditions, it can be determined that the obstacle avoidance level of the target road segment does not need to be adjusted. The obstacle avoidance information judgment conditions can be pre-set based on the obstacle avoidance information. For example, if the obstacle avoidance information is the robot's specific location information when it avoids an obstacle in the target road segment, the corresponding obstacle avoidance information judgment condition could be whether the robot's specific location when it avoids an obstacle in the target road segment matches the preset obstacle placement position. If they match, there is no need to adjust the obstacle avoidance level of the target robot in the target road segment; if they do not match, the obstacle avoidance level of the target robot in the target road segment can be adaptively adjusted.
[0069] For example, the obstacle avoidance information may also include the number of times the target road segment is avoided within a preset time period. If the obstacle avoidance information is the number of times the target road segment is avoided within a preset time period, the corresponding obstacle avoidance information judgment condition may be whether the number of times the target road segment is avoided within a preset time period is greater than or equal to a preset number threshold.
[0070] In one optional embodiment, the obstacle avoidance information includes the number of times the target road segment avoids obstacles within a preset time period; accordingly, determining whether the obstacle avoidance level of the target road segment needs to be adjusted based on the obstacle avoidance information includes: determining whether the number of obstacle avoidances is greater than or equal to a preset obstacle avoidance number threshold; if so, then determining that the obstacle avoidance level of the target road segment needs to be adjusted.
[0071] The preset time period and the preset obstacle avoidance threshold can be preset. The preset time period can be 24 hours and the preset obstacle avoidance threshold can be 10 times.
[0072] It should be noted that within a preset time period, the robot can traverse the target road segment at least once. Each time it traverses the target road segment, it may or may not trigger obstacle avoidance behavior, or it may trigger obstacle avoidance behavior at least once. If the robot does not trigger obstacle avoidance behavior when traversing the target road segment in the current number of traversals, the obstacle avoidance count for that number of traversals is considered 0. If the robot triggers obstacle avoidance behavior at least once when traversing the target road segment in the current number of traversals, the obstacle avoidance count for that number of traversals is considered 1. Therefore, determining whether the robot triggers obstacle avoidance behavior on the target road segment determines the number of times the robot avoids obstacles on the target road segment within the preset time period. The number of times the robot triggers obstacle avoidance behavior within the target road segment each time it traverses the target road segment within the preset time period does not affect the total number of obstacle avoidances on the target road segment. For example, if the robot passes through the target road segment 20 times within a preset time period, and 15 of those times it triggers obstacle avoidance behavior, then regardless of how many times obstacle avoidance is triggered in each of those 15 times it passes through the target road segment, the robot will pass through the target road segment 15 times within the preset time period.
[0073] If the number of obstacle avoidance attempts is greater than or equal to the preset obstacle avoidance attempt threshold, then it is determined that the obstacle avoidance level of the robot corresponding to the target road segment needs to be adjusted; otherwise, there is no need to adjust the obstacle avoidance level of the robot corresponding to the target road segment. The obstacle avoidance information of the robot in the target road segment can be recorded and stored so that the obstacle avoidance level of the robot or the environment can be adaptively adjusted according to the obstacle avoidance behavior of the robot in the target road segment.
[0074] The obstacle avoidance level of the robot corresponding to the target road segment can be predetermined. For example, the preset obstacle avoidance threshold is 10 times. If it is determined that the number of times the robot avoids obstacles on the target road segment within a preset time period is greater than or equal to 10, the obstacle avoidance level of the target road segment that needs to be adjusted can be determined based on the current obstacle avoidance level of the target road segment. For example, one level can be added to the current obstacle avoidance level of the target road segment.
[0075] For example, the preset obstacle avoidance threshold is 10 times, the preset time period is 24 hours, and the current obstacle avoidance level of the target road segment is level 1. It is determined whether the number of times the robot avoids obstacles in the target road segment within 24 hours is greater than or equal to 10 times. If so, it is determined that the obstacle avoidance level of the target road segment needs to be adjusted to level 2. If not, the obstacle avoidance level of the target road segment is not adjusted.
[0076] It should be noted that if the number of times the robot avoids obstacles on the target road segment within the preset time period is greater than or equal to the preset threshold, the level of obstacle avoidance required to be adjusted for the target road segment can be determined in conjunction with the robot's application scenario, such as whether it is operating in a hotel or a restaurant, the density of customers in the environment, the flatness of the ground, etc. For example, if the number of obstacle avoidances is greater than or equal to a multiple of the preset threshold, two levels can be added to the current obstacle avoidance level of the target road segment. This embodiment does not impose any restrictions on this.
[0077] This optional embodiment determines whether the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold; if so, it determines that the obstacle avoidance level of the target road segment needs to be adjusted. The above solution adaptively adjusts the obstacle avoidance level of the target road segment by determining whether the number of obstacle avoidance attempts by the robot within a preset time period exceeds the preset obstacle avoidance attempt threshold. This allows the robot's obstacle avoidance level to adapt to environmental changes, improving the accuracy of determining the obstacle avoidance level of the target road segment and increasing the robot's subsequent driving efficiency on the target road segment.
[0078] It should be noted that the obstacle avoidance information generated during the travel on the target road segment may also include the number of times the robot travels on the target road segment within a preset time period.
[0079] In an optional embodiment, after determining that the obstacle avoidance level of the target road segment needs to be adjusted, the method further includes: determining the obstacle avoidance probability of the robot on the target road segment based on the number of obstacle avoidances and the number of passages; determining whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold; if so, adjusting the obstacle avoidance level of the target road segment based on the preset level accumulation value.
[0080] The number of passages can be the number of times the robot travels on the target road segment within a preset time period. The obstacle avoidance probability can be the probability that the robot will perform obstacle avoidance behavior on the target road segment within a preset time period. The obstacle avoidance probability can be obtained based on the number of obstacle avoidances and passages of the robot on the target road segment within the preset time period. For example, the obstacle avoidance probability P is calculated as follows:
[0081]
[0082] Where M is the number of times the robot avoids obstacles on the target road segment within the preset time period; N is the number of times the robot passes through the target road segment within the preset time period.
[0083] For example, if the robot avoids obstacles 10 times and passes through 8 times in the target road segment within a preset time period, then the robot's obstacle avoidance probability in the target road segment is 80%.
[0084] Within a preset time period, determine the number of times the robot avoids obstacles and traverses a target road segment. Based on these numbers, determine the robot's obstacle avoidance probability for that road segment. Check if the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold. This threshold can be predetermined by relevant technical personnel, for example, 80%. If the obstacle avoidance probability is greater than or equal to the preset threshold, adjust the obstacle avoidance level of the target road segment based on a preset cumulative level value, where the preset cumulative level value can be level 1. If the obstacle avoidance probability is less than the preset threshold, no adjustment to the obstacle avoidance level of the target road segment is necessary. Record the acquired number of obstacle avoidances and traverses for later querying based on actual needs.
[0085] For example, if the preset time period is 24 hours, the preset obstacle avoidance probability threshold is 80%, and the preset level accumulation value is 1, if it is found that the robot avoids obstacles 9 times and passes through 10 times in the target road segment within 24 hours, then the obstacle avoidance probability of the robot in the target road segment can be determined to be 90%, which is greater than the preset obstacle avoidance probability threshold of 80%. Therefore, the current obstacle avoidance level of the robot in the target road segment is obtained, and the current obstacle avoidance level of the target road segment is adjusted based on the preset accumulation value of 1. For example, if the current obstacle avoidance level of the robot in the target road segment is 3, based on the preset accumulation value of 1, the adjusted obstacle avoidance level of the target road segment is 4. The higher the level, the smaller the safety distance.
[0086] Optionally, it can be determined whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold. If the obstacle avoidance probability is greater than or equal to the preset obstacle avoidance probability threshold, it can be further determined whether the robot's current obstacle avoidance level for the target road segment is the maximum obstacle avoidance level. If the robot's current obstacle avoidance level for the target road segment is the maximum obstacle avoidance level, it is reported to the server, and the server notifies the user to confirm whether to add an obstacle avoidance level. If the robot's current obstacle avoidance level for the target road segment is not the maximum obstacle avoidance level, the obstacle avoidance level for the target road segment can be adjusted based on the preset level accumulation value. If the obstacle avoidance probability is less than the preset obstacle avoidance probability threshold, there is no need to adjust the robot's obstacle avoidance level for the target road segment. The maximum obstacle avoidance level can be preset by relevant technical personnel. For example, the maximum obstacle avoidance level can be level 7, and the corresponding safe distance between the robot and the obstacle can be 10 centimeters.
[0087] This optional embodiment determines the robot's obstacle avoidance probability on the target road segment based on the number of obstacle avoidance attempts and the number of passages; it then determines whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold; if so, it adjusts the obstacle avoidance level of the target road segment based on a preset level accumulation value. The above scheme, by determining whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold, determines whether the obstacle avoidance level of the target road segment needs adjustment, and the corresponding obstacle avoidance level of the adjusted target road segment. This further determines the obstacle avoidance level of the target road segment, improves the accuracy of determining the obstacle avoidance level of the target road segment, and thus enables the robot to avoid obstacles more accurately on the target road segment.
[0088] S250, if so, then adjust the obstacle avoidance level of the target road segment.
[0089] If the obstacle avoidance information acquired by the robot meets the obstacle avoidance information judgment conditions, the obstacle avoidance level of the target road segment can be adjusted. The obstacle avoidance information may include the number of times the robot avoids obstacles and the number of times it passes through the target road segment within a preset time period. The obstacle avoidance information judgment conditions may include determining whether the number of times the robot avoids obstacles is greater than or equal to a preset obstacle avoidance threshold, and determining whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold. It should be noted that the obstacle avoidance information is not limited to the aforementioned number of times the robot avoids obstacles and the number of times it passes through; it may also include other obstacle avoidance information that can be used to determine whether the obstacle avoidance level of the target road segment needs to be adjusted. This embodiment does not impose any limitations on this.
[0090] In an optional embodiment, the obstacle avoidance information may further include the trigger obstacle avoidance location within a preset time period, and the target road segment may include multiple sub-road segments; accordingly, adjusting the obstacle avoidance level of the target road segment includes: determining the trigger obstacle avoidance information of each sub-road segment based on the trigger obstacle avoidance location; and selectively adjusting the obstacle avoidance level of each sub-road segment based on the trigger obstacle avoidance information.
[0091] A sub-segment can be a segment between two adjacent marked points within the target segment. These marked points are pre-marked by relevant technical personnel on the map corresponding to the robot's travel scenario. For example, a schematic diagram of the marked points is shown below. Figure 2BAs shown, the planned path can consist of markers 1 to 12, i.e., path AB. The planned path can include travel segments A1, A2, and A3. For example, travel segment A1 can be the segment between markers 1 and 5; travel segment A2 can be the segment between markers 5 and 8; and travel segment A3 can be the segment between markers 8 and 12. Travel segment A1 can include four sub-segments: the sub-segment between markers 1 and 2, between markers 2 and 3, between markers 3 and 4, and between markers 4 and 5. Similarly, travel segment A2 can include three sub-segments, and travel segment A3 can include four sub-segments. This embodiment will not elaborate further. If the robot uses tag-based positioning, the sub-segments can be the segments between two adjacent tags for easy labeling.
[0092] For example, the planned path may include at least one travel segment, and the travel segment may include multiple sub-segments. Therefore, when the robot travels to the target segment, the target segment may correspond to at least two sub-segments. The obstacle avoidance trigger location can be any location on the target segment, for example, it can be the location of a marked point on the target segment, or it can be any location on a sub-segment between two marked points.
[0093] Obtain obstacle avoidance information generated by the robot while driving on the target road segment. The obstacle avoidance information includes the obstacle avoidance trigger locations within a preset time period. The preset time period can be pre-set by relevant technical personnel, for example, the preset time period can be 24 hours. Determine the sub-road segment to which the robot belongs based on the obstacle avoidance trigger locations and obtain the obstacle avoidance trigger information for the sub-road segment. Selectively adjust the obstacle avoidance level of the sub-road segment based on the obstacle avoidance trigger information.
[0094] For example, within a preset time period, the location where the robot triggered obstacle avoidance and the corresponding sub-segment are acquired. For instance, if the robot triggers obstacle avoidance in the sub-segment between marker 3 and marker 4 of the target road segment, the obstacle avoidance trigger information for that sub-segment is acquired. This trigger information may include the number of obstacle avoidance triggers. If the number of obstacle avoidance triggers in the sub-segment exceeds a preset obstacle avoidance trigger threshold, the obstacle avoidance level for that sub-segment can be adjusted based on a preset level accumulation value. The preset obstacle avoidance trigger threshold and the preset level accumulation value can be preset by relevant technical personnel. For example, the preset obstacle avoidance trigger threshold could be 5 times, and the preset level accumulation value could be level 1.
[0095] Optionally, if the obstacle avoidance level of the target road segment to which the sub-road segment belongs has been adjusted within the preset time period, the obstacle avoidance level of the sub-road segment will not be adjusted again; or, if the obstacle avoidance level of the target road segment to which the sub-road segment belongs has only been adjusted by one level, the obstacle avoidance level of the sub-road segment can be adjusted; if the obstacle avoidance level of the target road segment to which the sub-road segment belongs has been adjusted by at least two levels, the obstacle avoidance level of the sub-road segment will not be adjusted again.
[0096] This optional embodiment determines the obstacle avoidance information of each sub-segment based on the obstacle avoidance trigger location; and selectively adjusts the obstacle avoidance level of each sub-segment based on the obstacle avoidance information. By selectively adjusting the obstacle avoidance level of the sub-segment based on the robot's obstacle avoidance information, the above scheme enhances the robot's adaptive obstacle avoidance capability to the road environment during its journey on the target road segment. This enables the robot to perform obstacle avoidance more accurately during its journey on the target road segment, thereby further improving the robot's ability to adapt to the environment.
[0097] This embodiment acquires obstacle avoidance information generated by the robot while traveling on a target road segment; it then determines whether the obstacle avoidance level of the target road segment needs adjustment based on this information; if so, it adjusts the obstacle avoidance level accordingly. By determining whether to adjust the obstacle avoidance level based on the obstacle avoidance information, this embodiment enables the robot to adaptively change the obstacle avoidance level of the target road segment during its journey, dynamically adjusting the robot's obstacle avoidance level and improving its ability to adapt to the environment. This also increases the accuracy of determining the obstacle avoidance level for the target road segment. Furthermore, it allows the robot to adaptively adjust its obstacle avoidance level based on environmental changes during path travel, improving its adaptive obstacle avoidance capabilities and work efficiency. Additionally, it reduces the probability of the robot swaying left and right during road travel, thus improving the safety of the robot's operation.
[0098] Example 3
[0099] Figure 3 This is a flowchart illustrating a robot obstacle avoidance method provided in Embodiment 3 of this application. Based on the technical solutions of the above embodiments, this application provides a preferred implementation method.
[0100] S301. Obtain the robot's current position.
[0101] S302. Determine whether the current location is the preset road segment marking location. If yes, execute S303A; otherwise, execute S303B.
[0102] S303A. Based on the robot's current location, determine the current road segment where the robot is located and the corresponding obstacle avoidance level.
[0103] S303B, the robot continues to travel on the target road segment where it is currently located.
[0104] S304. Control the robot to avoid obstacles according to the obstacle avoidance level while driving on the target road section.
[0105] S305. Determine if the current location is the end point of the target road segment. If yes, execute S306A; otherwise, execute S306B.
[0106] S306A: Obtain the number of times the robot avoids obstacles on the target road segment within a preset time period.
[0107] S306B, the robot continues to travel on the target road segment at its current location.
[0108] S307. Determine whether the number of times the robot avoids obstacles on the target road segment is not less than the preset number threshold. If yes, execute S308A; otherwise, execute S308B.
[0109] S308A: Obtain the number of times the robot passes through the target road segment within a preset time period, and determine the obstacle avoidance probability of the robot in the target road segment based on the number of passes and the number of obstacle avoidances.
[0110] S308B, the robot continues to travel along the planned route.
[0111] S309. Determine whether the obstacle avoidance probability is not less than the preset obstacle avoidance probability threshold; if yes, execute S310A; if no, execute S310B.
[0112] S310A: Determine whether the current obstacle avoidance level of the target road segment is the preset maximum obstacle avoidance level; if yes, execute S311A; if no, execute S311B.
[0113] S310B, the robot continues to travel along the planned route.
[0114] S311A, Report to the platform for recording.
[0115] S311B: Adjust the obstacle avoidance level of the target road segment based on the preset level accumulation value.
[0116] Example 4
[0117] Figure 4 This is a schematic diagram of a robot obstacle avoidance device provided in Embodiment 4 of this application. The robot obstacle avoidance device provided in this embodiment is applicable to situations where robots need to adaptively avoid obstacles during operation. This device can be implemented using software and / or hardware. Figure 4 As shown, the device specifically includes: an obstacle avoidance level acquisition module 401 and an obstacle avoidance control module 402. Among them,
[0118] The obstacle avoidance level acquisition module 401 is used to acquire the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment;
[0119] The obstacle avoidance control module 402 is used to control the robot to avoid obstacles according to the obstacle avoidance level during its travel on the target road segment.
[0120] This application embodiment obtains the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment; it then controls the robot to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment. This solution enables the robot to adaptively avoid obstacles based on the environment during path travel, improving its obstacle avoidance adaptability and work efficiency. This reduces the probability of the robot swaying left and right while traveling on the road segment, thus improving the safety of the robot's operation.
[0121] Optionally, the target road segment includes the current road segment;
[0122] Correspondingly, the obstacle avoidance level acquisition module 401 includes:
[0123] Current position acquisition unit, used to acquire the current position of the robot;
[0124] The location marking determination unit is used to determine whether the current location is a preset road segment marking location;
[0125] The obstacle avoidance level determination unit is used to determine the current road segment where the robot is located and the corresponding obstacle avoidance level based on the current location if the current location is a preset road segment marking location.
[0126] Optionally, the device further includes:
[0127] The obstacle avoidance information acquisition module is used to acquire obstacle avoidance information generated by the robot traveling on the target road segment;
[0128] The obstacle avoidance level adjustment judgment module is used to determine whether to adjust the obstacle avoidance level of the target road segment based on the obstacle avoidance information.
[0129] The obstacle avoidance level adjustment module is used to adjust the obstacle avoidance level of the target road segment if necessary.
[0130] Optionally, the obstacle avoidance information includes the number of times the target road segment is avoided within a preset time period;
[0131] Correspondingly, the level adjustment judgment module includes:
[0132] The obstacle avoidance threshold determination unit is used to determine whether the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold.
[0133] The obstacle avoidance level determination unit is used to determine that the obstacle avoidance level of the target road segment needs to be adjusted if the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold.
[0134] Optionally, the obstacle avoidance information may also include the number of times the robot passes through the target road segment within a preset time period;
[0135] Accordingly, the device also includes:
[0136] The obstacle avoidance probability determination module, after determining that the obstacle avoidance level of the target road segment needs to be adjusted, further includes: determining the obstacle avoidance probability of the robot on the target road segment based on the number of obstacle avoidance attempts and the number of passage attempts;
[0137] The obstacle avoidance probability judgment module is used to determine whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold.
[0138] The obstacle avoidance level determination module is used to adjust the obstacle avoidance level of the target road segment based on the preset level accumulation value if the obstacle avoidance probability is greater than or equal to the preset obstacle avoidance probability threshold.
[0139] Optionally, the obstacle avoidance information may also include the trigger obstacle avoidance location within a preset time period, and the target road segment may include multiple sub-road segments;
[0140] Correspondingly, the obstacle avoidance level adjustment module includes:
[0141] An obstacle avoidance information determination unit is used to determine the obstacle avoidance information of each of the sub-road segments based on the obstacle avoidance triggering location;
[0142] The sub-segment obstacle avoidance level determination unit is used to selectively adjust the obstacle avoidance level of each sub-segment based on the triggered obstacle avoidance information.
[0143] Optionally, the sub-segment is determined based on adjacent location tags in the target segment.
[0144] The above-described robot obstacle avoidance device can execute the robot obstacle avoidance method provided in any embodiment of this application, and has the corresponding functional modules and beneficial effects for executing each robot obstacle avoidance method.
[0145] Example 5
[0146] Figure 5 This is a schematic diagram of the structure of a robot provided in Embodiment 5 of this application. Figure 5 A block diagram is shown that is suitable for implementing an exemplary robot 500 according to embodiments of the present application. Figure 5The robot 500 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0147] like Figure 5 As shown, robot 500 is represented in the form of a general-purpose computing device. The components of robot 500 may include, but are not limited to: one or more processors or processing units 501, system memory 502, and bus 503 connecting different system components (including system memory 502 and processing unit 501).
[0148] Bus 503 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0149] Robot 500 typically includes a variety of computer-readable media. These media can be any available media that can be accessed by Robot 500, including volatile and non-volatile media, movable and non-movable media.
[0150] System memory 502 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 504 and / or cache memory 505. Robot 500 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 506 may be used to read and write non-removable, non-volatile magnetic media (…). Figure 5 Not shown; usually referred to as a "hard drive"). Although Figure 5 As not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 503 via one or more data media interfaces. Memory 502 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this application.
[0151] A program / utility 508 having a set (at least one) of program modules 507 may be stored, for example, in memory 502. Such program modules 507 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 507 typically perform the functions and / or methods described in the embodiments of this application.
[0152] Robot 500 can also communicate with one or more external devices 509 (e.g., keyboard, pointing device, display 510, etc.), and with one or more devices that enable a user to interact with the robot 500, and / or with any device that enables the robot 500 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 511. Furthermore, robot 500 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 512. As shown, network adapter 512 communicates with other modules of robot 500 via bus 503. It should be understood that, although... Figure 5 As not shown, other hardware and / or software modules can be used in conjunction with Robot 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0153] The processing unit 501 executes various functional applications and data processing by running programs stored in the system memory 502, such as implementing a robot obstacle avoidance method provided in the embodiments of this application.
[0154] Example 6
[0155] This application also provides a storage medium containing computer-executable instructions, on which a computer program is stored. When the program is executed by a processor, it implements the robot obstacle avoidance method provided in this application, including: obtaining a target road segment and the obstacle avoidance level of the robot corresponding to the target road segment; and controlling the robot to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment.
[0156] The computer storage medium in this application embodiment can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0157] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0158] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0159] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0160] Note that the above are merely preferred embodiments and the technical principles employed in this application. Those skilled in the art will understand that this application is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of this application. Therefore, although this application has been described in detail through the above embodiments, this application is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of this application, the scope of which is determined by the scope of the appended claims.
Claims
1. A robot obstacle avoidance method, characterized in that, include: Obtain the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment; The robot is controlled to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment. Obtain obstacle avoidance information generated by the robot traveling on the target road segment. The obstacles include non-dynamic obstacles and / or virtual walls. The obstacle avoidance information includes the number of times the robot avoids obstacles on the target road segment within a preset time period. Based on the obstacle avoidance information, determine whether the obstacle avoidance level of the target road segment needs to be adjusted; If so, adjust the obstacle avoidance level of the target road segment; The step of determining whether the obstacle avoidance level of the target road segment needs to be adjusted based on the obstacle avoidance information includes: Determine whether the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold; If so, it is determined that the obstacle avoidance level of the target road segment needs to be adjusted to reduce the safe distance for obstacle avoidance.
2. The method according to claim 1, characterized in that, The target road segment includes the current road segment; Accordingly, acquiring the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment includes: Obtain the current position of the robot; Determine whether the current location is a preset road segment marking location; If so, then based on the current location, determine the current road segment where the robot is located and the corresponding obstacle avoidance level.
3. The method according to claim 1, characterized in that, The obstacle avoidance information also includes the number of times the robot passes through the target road segment within a preset time period; Accordingly, if the condition is met, then after determining that the obstacle avoidance level of the target road segment needs to be adjusted, the method further includes: The obstacle avoidance probability of the robot on the target road segment is determined based on the number of obstacle avoidance attempts and the number of passage attempts. Determine whether the obstacle avoidance probability is greater than or equal to a preset obstacle avoidance probability threshold; If so, the obstacle avoidance level of the target road segment is adjusted based on the preset level accumulation value.
4. The method according to claim 1, characterized in that, The obstacle avoidance information also includes the trigger obstacle avoidance location within a preset time period, and the target road segment includes multiple sub-road segments; Accordingly, if so, the obstacle avoidance level of the target road segment is adjusted, including: The obstacle avoidance information for each sub-segment is determined based on the obstacle avoidance trigger location; The obstacle avoidance level of each sub-segment is selectively adjusted based on the obstacle avoidance information.
5. The method according to claim 4, characterized in that, The sub-segment is determined based on the adjacent location tags in the target segment.
6. A robot obstacle avoidance device, characterized in that, include: The obstacle avoidance level acquisition module is used to acquire the target road segment and the obstacle avoidance level of the robot corresponding to the target road segment; An obstacle avoidance control module is used to control the robot to avoid obstacles according to the obstacle avoidance level while traveling on the target road segment; The device further includes: The obstacle avoidance information acquisition module is used to acquire obstacle avoidance information generated by the robot traveling on the target road segment; the obstacles include non-dynamic obstacles and / or virtual walls; the obstacle avoidance information includes the number of times the robot avoids obstacles on the target road segment within a preset time period; The obstacle avoidance level adjustment judgment module is used to determine whether to adjust the obstacle avoidance level of the target road segment based on the obstacle avoidance information. The obstacle avoidance level adjustment module is used to adjust the obstacle avoidance level of the target road segment if it is necessary to adjust the obstacle avoidance level of the target road segment. The level adjustment judgment module includes: The obstacle avoidance threshold determination unit is used to determine whether the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold. The obstacle avoidance level determination unit is used to determine that if the number of obstacle avoidance attempts is greater than or equal to a preset obstacle avoidance attempt threshold, the obstacle avoidance level of the target road segment needs to be adjusted to reduce the safe distance for obstacle avoidance.
7. A robot, characterized in that, include: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement a robot obstacle avoidance method as described in any one of claims 1-5.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by the processor, the program implements the robot obstacle avoidance method as described in any one of claims 1-5.