Robot obstacle avoidance method, device and robot

By combining the detection results of optical sensors and ultrasonic sensors, the robot is controlled to drive around obstacles, which solves the problem that optical sensors in the prior art cannot sense transparent obstacles, and improves the driving safety of the robot.

CN115268444BActive Publication Date: 2025-08-19SHENZHEN PUDU TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210893978.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-27
Publication Date
2025-08-19
Estimated Expiration
2042-07-27

AI Technical Summary

Technical Problem

Most of the existing intelligent robot obstacle avoidance technologies are based on optical sensors and cannot perceive transparent obstacles, resulting in reduced walking safety.

Method used

The combination of optical sensor, first ultrasonic sensor and second ultrasonic sensor is used to detect obstacles in real time. By judging the transparent obstacles and decelerating and combining the detection results of the ultrasonic sensor, the robot is controlled to drive around the obstacle.

Benefits of technology

It realizes effective obstacles to transparent obstacles, improves the driving safety of the robot, and solves the collision risks caused by optical sensors that cannot perceive transparent obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115268444B_ABST
    Figure CN115268444B_ABST
Patent Text Reader

Abstract

The present application relates to a robot obstacle avoidance method, device, and robot. The method includes: judging whether there is a transparent obstacle ahead based on the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor; if there is a transparent obstacle ahead, controlling the robot to reduce the speed from the preset speed to the first target speed; and when the robot travels at the first target speed to a distance from the transparent obstacle that is a first preset distance, obtaining the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor; and controlling the robot to avoid the obstacle based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor. This method realizes the fusion perception of optical sensors and ultrasonic sensors, improving driving safety.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a robot obstacle avoidance method, device, and robot. Background Art

[0002] Intelligent robots, such as sweeping robots, are increasingly being used in our homes, bringing a lot of convenience. However, due to narrow aisles, irregular placement of objects, and the movement of people, these robots inevitably encounter obstacles while moving.

[0003] Most of the existing intelligent robot obstacle avoidance technologies are based on optical sensors. However, optical sensors cannot perceive transparent obstacles such as glass, resulting in reduced walking safety. Summary of the Invention

[0004] Based on this, it is necessary to provide a robot obstacle avoidance method, device and robot that can improve the safety of robot walking in order to address the above technical problems.

[0005] In a first aspect, the present application provides a robot obstacle avoidance method, characterized in that it is applied to a robot, the robot including an optical sensor, a first ultrasonic sensor, and a second ultrasonic sensor, the optical sensor being used to sense obstacles at the front end of the robot, the first ultrasonic sensor being used to sense obstacles on the left side in front of the robot, and the second ultrasonic sensor being used to sense obstacles on the right side in front of the robot. The method comprises:

[0006] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0007] determining whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0008] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0009] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0010] In one embodiment,

[0011] The step of controlling the robot to avoid obstacles based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor includes:

[0012] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor;

[0013] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to bypass the side corresponding to the first ultrasonic sensor;

[0014] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed;

[0015] The robot is controlled to travel around obstacles according to the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor.

[0016] In one embodiment,

[0017] The robot further includes: a third ultrasonic sensor and a fourth ultrasonic sensor, wherein the third ultrasonic sensor is used to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor is used to sense obstacles on the right side of the robot;

[0018] The step of controlling the robot to avoid obstacles based on the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor includes:

[0019] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor;

[0020] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle.

[0021] In one embodiment, controlling the robot to travel around obstacles based on the detection result of the fourth ultrasonic sensor includes:

[0022] When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by the preset angle and continue to travel at the preset speed.

[0023] In one embodiment, controlling the robot to avoid obstacles based on the detection result of the third ultrasonic sensor includes:

[0024] When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by the preset angle and continue to travel at the preset speed.

[0025] In one embodiment, the first preset distance is within the range of [40m, 60m], the second preset distance is within the range of [10m, 30m], and the preset angle is within the range of [80 degrees, 100 degrees].

[0026] In a second aspect, the present application further provides a robot obstacle avoidance device. The device comprises:

[0027] an acquisition module, configured to acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0028] a judgment module, configured to judge whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0029] a control module, configured to control the robot to reduce the preset speed to a first target speed if a transparent obstacle is present ahead; and to obtain a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0030] The control module is further configured to control the robot to travel around obstacles based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0031] In a third aspect, the present application further provides a robot, comprising: an optical sensor, a first ultrasonic sensor, and a second ultrasonic sensor, wherein the optical sensor is used to sense obstacles at the front end of the robot, the first ultrasonic sensor is used to sense obstacles on the left side in front of the robot, and the second ultrasonic sensor is used to sense obstacles on the right side in front of the robot; the robot further comprises: a third ultrasonic sensor and a fourth ultrasonic sensor, the third ultrasonic sensor is used to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor is used to sense obstacles on the right side of the robot; the robot further comprises: a memory and a processor, the memory storing a computer program, and the processor implementing the following steps when executing the computer program:

[0032] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0033] Determining whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0034] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0035] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0036] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the following steps:

[0037] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0038] Determining whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0039] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0040] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0041] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the following steps:

[0042] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0043] Determining whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0044] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0045] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0046] The above-mentioned robot obstacle avoidance method, device and robot obtain the first detection result of the optical sensor, the first detection result of the first ultrasonic sensor and the first detection result of the second ultrasonic sensor in real time during the process of the robot traveling at a preset speed; based on the first detection result of the optical sensor, the first detection result of the first ultrasonic sensor and the first detection result of the second ultrasonic sensor, it is judged whether there is a transparent obstacle in front of the robot; if there is a transparent obstacle in front, the robot is controlled to reduce from the preset speed to the first target speed; and when the robot travels at the first target speed to the distance from the transparent obstacle is a first preset distance, the second detection result of the first ultrasonic sensor and the second detection result of the second ultrasonic sensor are obtained; based on the second detection result of the first ultrasonic sensor and the second detection result of the second ultrasonic sensor, the robot is controlled to travel around the obstacle, thereby realizing the fusion perception of the optical sensor and the ultrasonic sensor, solving the collision risk caused by the inability of the optical sensor to perceive transparent obstacles in the prior art, and improving driving safety. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 A schematic structural diagram of a robot in one embodiment;

[0048] Figure 2 1 is a flow chart of a robot obstacle avoidance method according to an embodiment;

[0049] Figure 3 A schematic structural diagram of a robot in another embodiment;

[0050] Figure 4 A schematic diagram of an obstacle avoidance solution in one embodiment;

[0051] Figure 5 A schematic diagram of an obstacle avoidance solution in another embodiment;

[0052] Figure 6 A schematic diagram of an obstacle avoidance solution in another embodiment;

[0053] Figure 7 2 is a flow chart of a robot obstacle avoidance method according to another embodiment;

[0054] Figure 8 2 is a structural block diagram of a robot obstacle avoidance device in one embodiment. DETAILED DESCRIPTION

[0055] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0056] Figure 1 A schematic diagram of the structure of the robot provided in the embodiment of the present application is shown in FIG. Figure 1 As shown, the robot includes: a robot 101, an optical sensor 102, a first ultrasonic sensor 103, a second ultrasonic sensor 104, and a processor 105. The optical sensor 102 is used to sense obstacles at the front of the robot, the first ultrasonic sensor 103 is used to sense obstacles on the left side of the front of the robot, and the second ultrasonic sensor 104 is used to sense obstacles on the right side of the front of the robot. For example, the optical sensor 102 can be set at the front of the robot 101, and the first ultrasonic sensor 103 and the second ultrasonic sensor 104 can be set on the left and right sides of the front of the robot 101 respectively. The optical sensor 102, the first ultrasonic sensor 103, and the second ultrasonic sensor 104 are all connected to the processor 105.

[0057] In an optional embodiment, the optical sensor 102 can be installed at the front end, top end or other position of the robot to sense the environment and obstacles at the front end of the robot (i.e., in the direction of movement of the robot, specifically, directly in front).

[0058] Optionally, the first ultrasonic wave can be installed on the front end, side end, or side and top end of the robot to sense the environment and obstacles on the left side of the robot. Similarly, the second ultrasonic wave can be installed on the front end, side end, or side and top end of the robot to sense the environment and obstacles on the right side of the robot.

[0059] The optical sensor 102 may be a laser radar, an RGB-D camera or other depth cameras. The optical sensor 102 may be arranged at the middle position of the front end of the robot 101, such as Figure 1As shown, it can also be set at the left side of the front end of the robot 101, or it can be set at the right side of the front end of the robot 101, as long as it can collect environmental data in front of the robot. The front of the robot 101 can be divided into left and right sides with the middle position of the front end as the dividing point, and the first ultrasonic sensor 103 and the second ultrasonic sensor 104 can be set on the left side of the front and the right side of the front respectively, for example: the first ultrasonic sensor 103 is set on the left side of the front and the second ultrasonic sensor 104 is set on the right side of the front; or the first ultrasonic sensor 103 is set on the right side of the front and the second ultrasonic sensor 104 is set on the left side of the front, as shown. Figure 1 It should be noted that Figure 1 This is only a simple schematic diagram of the robot structure. Other necessary components required for driving are not shown. Any possible structural deformation of the robot is within the scope of protection of this application.

[0060] It should be noted that: Figure 1 The shape of the robot 101 is only an example. The robot 101 may also be rectangular, rectangular, or circular, etc., and the present embodiment does not limit this. In addition, the type of robot in the present embodiment can be a food delivery robot, a sorting robot, a cleaning robot, etc., and the present embodiment does not limit the type of robot.

[0061] In one embodiment, Figure 2 As shown, a robot obstacle avoidance method is provided, which is applied to Figure 1 The following steps are taken as an example to illustrate the processor in the example:

[0062] S202 . While the robot is traveling at a preset speed, obtain in real time a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor.

[0063] The preset speed may be the default moving speed of the robot.

[0064] In one embodiment, the processor may obtain the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor once every preset time period. The preset time period may be flexibly set according to actual conditions, for example, 3 seconds. The acquisition method may be a request from the processor to each sensor, or each sensor may actively report, which is not limited in this embodiment of the present application. The processor performs the determination in S204 for each detection result obtained.

[0065] Among them, the first detection result of the optical sensor is used to indicate whether the optical sensor detects an obstacle, the second detection result of the first ultrasonic sensor is used to indicate whether the first ultrasonic sensor detects an obstacle, and the third detection result of the second ultrasonic sensor is used to indicate whether the second ultrasonic sensor detects an obstacle.

[0066] S204: Determine whether there is a transparent obstacle ahead of the robot based on the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor.

[0067] Since the optical sensor cannot detect transparent obstacles, while the ultrasonic sensor can detect transparent obstacles, if the first detection result of the optical sensor indicates that the optical sensor does not detect an obstacle, and the second detection result of the first ultrasonic sensor and the third detection result of the second ultrasonic sensor indicate that at least one of the first ultrasonic sensor and the second ultrasonic sensor detects an obstacle, it is determined that there is a transparent obstacle ahead, and S206 is executed.

[0068] Among them, transparent obstacles refer to a series of obstacles that have a certain degree of light transmittance and will directly affect the detection results of optical sensors, such as glass, curtain walls, etc.

[0069] It can be understood that if the first detection result of the optical sensor indicates that the optical sensor did not detect an obstacle, the second detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor did not detect an obstacle, and the third detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor did not detect an obstacle, then the real-time acquisition process in S202 is returned.

[0070] S206, controlling the robot to reduce the preset speed to a first target speed; and when the robot travels at the first target speed to a first preset distance from the transparent obstacle, obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor.

[0071] In one embodiment, the processor may control the robot to decelerate by 30%. For example, the preset speed is 100 m / h. After decelerating by 30%, the first target speed is 70 m / h.

[0072] In one embodiment, the field of view of the ultrasonic sensor is about 70 degrees. The ultrasonic sensor can only detect the distance between the robot and the obstacle, but cannot detect the direction of the obstacle. It can only regard the arc length corresponding to the 70-degree fan-shaped range as the size of the obstacle. When the robot is still far away from the obstacle, because the risk of hitting the obstacle is very small, there is no need to obtain the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor in real time. Therefore, this application proposes that when the robot travels at a first target speed to a first preset distance from the transparent obstacle, the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor are obtained to avoid the power loss caused by real-time acquisition.

[0073] In one embodiment, since the width of the robot is approximately 50 cm, when the robot travels to a distance of 50 cm from the transparent obstacle, the risk of colliding with the obstacle is relatively high. Therefore, the first preset distance may be set to 50 cm.

[0074] S208 : Control the robot to travel around obstacles based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0075] In one embodiment, it can be determined whether only one ultrasonic sensor detects an obstacle or both ultrasonic sensors detect an obstacle. If only one ultrasonic sensor detects an obstacle, the robot can be controlled to bypass the side without the obstacle. If both ultrasonic sensors detect an obstacle, the robot can rotate 90 degrees to the left or right of the current driving direction to avoid the obstacle.

[0076] The robot obstacle avoidance method provided in an embodiment of the present application obtains in real time a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed; the processor determines whether there is a transparent obstacle ahead based on the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor; if there is a transparent obstacle ahead, the processor controls the robot to reduce the speed from the preset speed to the first target speed; and when the robot travels at the first target speed to a distance from the transparent obstacle that is a first preset distance, the processor obtains a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor; the processor controls the robot to travel around the obstacle based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor, thereby realizing fusion perception of the optical sensor and the ultrasonic sensor, solving the collision risk caused by the inability of the optical sensor to perceive transparent obstacles in the prior art, and improving driving safety.

[0077] In one embodiment, controlling the robot to travel around an obstacle based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor includes:

[0078] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, the robot is controlled to bypass the side corresponding to the second ultrasonic sensor; if the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to bypass the side corresponding to the first ultrasonic sensor; if the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to reduce the speed from the first target speed to the second target speed; and when the robot travels a second preset distance at the second target speed, the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor are obtained; based on the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor, the robot is controlled to bypass the obstacle.

[0079] Specifically, if the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor did not detect the obstacle, the obstacle is on the side corresponding to the first ultrasonic sensor. In this case, the robot can be controlled to circumvent the obstacle from the side corresponding to the second ultrasonic sensor. If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor did not detect the obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor detected the obstacle, the obstacle is on the side corresponding to the second ultrasonic sensor. In this case, the robot can be controlled to circumvent the obstacle from the side corresponding to the first ultrasonic sensor. If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detected the obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor detected the obstacle, there are two possible obstacle scenarios: one is a large obstacle, and the other is a fine-grained obstacle that falls within the intersection of the fields of view of the two ultrasonic sensors. In this case, the obstacle is further determined to determine which scenario the obstacle belongs to, and the robot is controlled to circumvent the obstacle based on the specific obstacle scenario.

[0080] In one embodiment, the processor may control the robot to decelerate by 30%. For example, the first target speed is 70 m / h. After decelerating by 30%, the second target speed is 49 m / h.

[0081] In an embodiment of the present application, it is determined whether only one ultrasonic sensor detects an obstacle or both ultrasonic sensors detect an obstacle. If only one ultrasonic sensor detects an obstacle, the robot is controlled to detour from the side without the obstacle. If both ultrasonic sensors detect an obstacle, the specific situation of the obstacle is further determined, and the robot is controlled to detour based on the specific situation of the obstacle, thereby solving the collision risk caused by the inability of optical sensors to detect transparent obstacles in the prior art.

[0082] In one embodiment, Figure 3 As shown, the robot also includes: a third ultrasonic sensor 106 and a fourth ultrasonic sensor 107. The third ultrasonic sensor 106 is used to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor 107 is used to sense obstacles on the right side of the robot. Exemplarily, the third ultrasonic sensor 106 can be set on the left side of the robot 101, and the fourth ultrasonic sensor 107 can be set on the right side of the robot 101.

[0083] It should be noted that Figure 3 The addition of the third ultrasonic sensor 106 and the fourth ultrasonic sensor 107 is only an example, and other designs are also possible, such as adding one on the left side of the robot 101, adding two on the right side of the robot 101, etc., which can be flexibly designed according to actual conditions.

[0084] In one embodiment, Figure 3 Based on the structure shown, the robot is controlled to travel around obstacles according to the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor, including:

[0085] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, the robot is controlled to retreat a third preset distance, and the robot is controlled to bypass from the side corresponding to the first ultrasonic sensor, or the robot is controlled to bypass from the side corresponding to the second ultrasonic sensor; if the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle, and while the robot is driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time, and based on the detection result of the fourth ultrasonic sensor, the robot is controlled to drive around the obstacle, or the robot is controlled to rotate to the right of the current driving direction by a preset angle, and while the robot is driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time, and based on the detection result of the third ultrasonic sensor, the robot is controlled to drive around the obstacle.

[0086] Specifically, if the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor does not detect an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, it means that the obstacle is a fine-particle obstacle. In this case, the robot is controlled to retreat a third preset distance and to move around to the left or right. Figure 4 shown.

[0087] The third preset distance can be flexibly set according to actual conditions, for example, it can be 50 cm.

[0088] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor detects an obstacle, it means that the obstacle is a large obstacle. In this case, the robot is controlled to rotate to the left of the current driving direction by a preset angle, such as Figure 5 Or control the robot to rotate to the right of the current driving direction by a preset angle, as shown in Figure 6 shown.

[0089] In an embodiment of the present application, a solution is provided for determining whether an obstacle is a fine-grained obstacle or a large obstacle, and obstacle avoidance solutions are provided in both cases, so that transparent obstacles are no longer blind spots for the robot, thereby achieving effective obstacle avoidance for transparent obstacles.

[0090] In one embodiment, controlling the robot to travel around obstacles based on the detection result of the fourth ultrasonic sensor includes:

[0091] When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by a preset angle and continue to travel at a preset speed.

[0092] It should be noted that when the robot is walking, it can adaptively change its walking speed when encountering different road conditions. For example, it can accelerate when encountering a flat road with no obstacles, and it can slow down when encountering turns, U-turns, etc.

[0093] For details, see Figure 5 As shown, the fourth ultrasonic sensor obtains the detection result of the fourth ultrasonic sensor in real time during the process of traveling in the rotated direction. When the detection result of the fourth ultrasonic sensor changes from the presence of an obstacle to the absence of an obstacle, it means that the robot has reached a safe area. At this time, the robot can be controlled to turn back to the original direction.

[0094] In one embodiment, controlling the robot to avoid obstacles based on the detection result of the third ultrasonic sensor includes:

[0095] When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by a preset angle and continue to travel at a preset speed.

[0096] For details, see Figure 6 As shown, the third ultrasonic sensor obtains the detection results of the third ultrasonic sensor in real time during the process of driving in the rotated direction. When the detection results of the three ultrasonic sensors change from the presence of obstacles to the absence of obstacles, it means that the robot has reached a safe area. At this time, the robot can be controlled to turn back to the original direction.

[0097] The method provided in the embodiment of the present application controls the robot to turn when the obstacle is a large obstacle, and controls the robot to turn back to the original direction when the robot reaches a safe area, thereby achieving effective circumvention of transparent obstacles.

[0098] In one embodiment, see Figure 7 As shown, a robot obstacle avoidance method is provided, comprising:

[0099] S701. When the robot is traveling at a preset speed, the processor obtains in real time a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor.

[0100] S702: The processor determines whether there is a transparent obstacle ahead of the robot based on the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor. If there is a transparent obstacle ahead, execute S703.

[0101] S703. The processor controls the robot to reduce the speed from the preset speed to the first target speed; and when the robot travels at the first target speed to a distance from the transparent obstacle that is a first preset distance, obtains the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0102] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, execute S704; if the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, execute S705; if the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, execute S706.

[0103] S704: Control the robot to go around the side corresponding to the second ultrasonic sensor.

[0104] S705 : Control the robot to go around the side corresponding to the first ultrasonic sensor.

[0105] S706 , controlling the speed of the robot to decrease to a second target speed; and obtaining a sixth detection result of the first ultrasonic sensor and a seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed.

[0106] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, execute S707; if the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, execute S708 or S709.

[0107] S707: Control the robot to retreat a third preset distance, and control the robot to go around the side corresponding to the first ultrasonic sensor, or control the robot to go around the side corresponding to the second ultrasonic sensor.

[0108] S708. Control the robot to rotate to the left of the current driving direction by a preset angle. While the robot is driving in the rotated direction, obtain the detection result of the fourth ultrasonic sensor in real time. When the detection result of the fourth ultrasonic sensor changes from the presence of an obstacle to the absence of an obstacle, control the robot to rotate to the right of the rotated direction by a preset angle and continue driving at a preset speed.

[0109] S709. Control the robot to rotate to the right of the current driving direction by a preset angle. While the robot is driving in the rotated direction, obtain the detection result of the third ultrasonic sensor in real time. When the detection result of the third ultrasonic sensor changes from the presence of an obstacle to the absence of an obstacle, control the robot to rotate to the left of the rotated direction by a preset angle and continue driving at a preset speed.

[0110] The robot obstacle avoidance method provided in the embodiment of the present application realizes the fusion perception of optical sensors and ultrasonic sensors, and solves the collision risk caused by the inability of optical sensors to perceive transparent obstacles in the prior art.

[0111] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0112] Based on the same inventive concept, embodiments of the present application also provide a robot obstacle avoidance device for implementing the aforementioned robot obstacle avoidance method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more robot obstacle avoidance device embodiments provided below can be found in the above-described limitations of the robot obstacle avoidance method and will not be further elaborated here.

[0113] In one embodiment, Figure 8 As shown, a robot obstacle avoidance device is provided, comprising:

[0114] an acquisition module 801, configured to acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0115] a judgment module 802, configured to judge whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0116] a control module 803 configured to control the robot to reduce the preset speed to a first target speed if a transparent obstacle is present ahead; and to obtain a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0117] The control module 803 is further configured to control the robot to avoid obstacles based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0118] Optionally, the control module 803 is specifically configured to:

[0119] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor;

[0120] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to bypass the side corresponding to the first ultrasonic sensor;

[0121] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed;

[0122] The robot is controlled to travel around obstacles according to the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor.

[0123] Optionally, the control module 803 is specifically configured to:

[0124] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor;

[0125] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle.

[0126] Optionally, the control module 803 is specifically configured to:

[0127] When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by the preset angle and continue to travel at the preset speed.

[0128] Optionally, the control module 803 is specifically configured to:

[0129] When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by the preset angle and continue to travel at the preset speed.

[0130] Optionally, the first preset distance is within the range of [40m, 60m], the second preset distance is within the range of [10m, 30m], and the preset angle is within the range of [80 degrees, 100 degrees].

[0131] Each module in the aforementioned robot obstacle avoidance device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in hardware form, or can be stored in a computer device's memory in software form, so that the processor can call and execute the corresponding operations of each module.

[0132] In one embodiment, a robot is provided, comprising: an optical sensor, a first ultrasonic sensor, and a second ultrasonic sensor, wherein the optical sensor is configured to sense obstacles at the front end of the robot, the first ultrasonic sensor is configured to sense obstacles on the left side in front of the robot, and the second ultrasonic sensor is configured to sense obstacles on the right side in front of the robot; the robot further comprises: a third ultrasonic sensor and a fourth ultrasonic sensor, wherein the third ultrasonic sensor is configured to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor is configured to sense obstacles on the right side of the robot; the robot further comprises: a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0133] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0134] Determining whether there is a transparent obstacle ahead of the robot according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0135] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0136] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0137] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0138] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor;

[0139] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to bypass the side corresponding to the first ultrasonic sensor;

[0140] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed;

[0141] The robot is controlled to travel around obstacles according to the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor.

[0142] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0143] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor;

[0144] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle.

[0145] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0146] When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by the preset angle and continue to travel at the preset speed.

[0147] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0148] When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by the preset angle and continue to travel at the preset speed.

[0149] In one embodiment, the first preset distance is within the range of [40m, 60m], the second preset distance is within the range of [10m, 30m], and the preset angle is within the range of [80 degrees, 100 degrees].

[0150] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0151] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0152] determining whether there is a transparent obstacle ahead according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0153] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0154] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0155] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0156] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor;

[0157] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to bypass the side corresponding to the first ultrasonic sensor;

[0158] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed;

[0159] The robot is controlled to travel around obstacles according to the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor.

[0160] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0161] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor;

[0162] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle.

[0163] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0164] When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by the preset angle and continue to travel at the preset speed.

[0165] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0166] When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by the preset angle and continue to travel at the preset speed.

[0167] In one embodiment, the first preset distance is within the range of [40m, 60m], the second preset distance is within the range of [10m, 30m], and the preset angle is within the range of [80 degrees, 100 degrees].

[0168] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:

[0169] Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed;

[0170] determining whether there is a transparent obstacle ahead according to the first detection result of the optical sensor, the second detection result of the first ultrasonic sensor, and the third detection result of the second ultrasonic sensor;

[0171] If there is a transparent obstacle ahead, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance;

[0172] The robot is controlled to travel around obstacles according to the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor.

[0173] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0174] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor;

[0175] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to bypass the side corresponding to the first ultrasonic sensor;

[0176] If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed;

[0177] The robot is controlled to travel around obstacles according to the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor.

[0178] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0179] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor;

[0180] If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle.

[0181] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0182] When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by the preset angle and continue to travel at the preset speed.

[0183] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0184] When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by the preset angle and continue to travel at the preset speed.

[0185] In one embodiment, the first preset distance is within the range of [40m, 60m], the second preset distance is within the range of [10m, 30m], and the preset angle is within the range of [80 degrees, 100 degrees].

[0186] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.

[0187] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0188] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A robot obstacle avoidance method, characterized in that: Applied to a robot, the robot includes an optical sensor, a first ultrasonic sensor, and a second ultrasonic sensor, the optical sensor is used to sense obstacles at the front end of the robot, the first ultrasonic sensor is used to sense obstacles on the left side in front of the robot, and the second ultrasonic sensor is used to sense obstacles on the right side in front of the robot, the method includes: Acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed; Determining whether there is a transparent obstacle ahead of the robot according to the first detection result, the second detection result, and the third detection result; If a transparent obstacle is present, controlling the robot to reduce the preset speed to a first target speed; and obtaining a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle is a first preset distance; controlling the robot to travel around obstacles based on a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor; The step of controlling the robot to avoid obstacles based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor includes: If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and when the robot travels a second preset distance at the second target speed, obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor; and controlling the robot to travel around the obstacle based on the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor. The robot further includes: a third ultrasonic sensor and a fourth ultrasonic sensor, the third ultrasonic sensor being used to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor being used to sense obstacles on the right side of the robot; and controlling the robot to travel around obstacles based on the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor, including: If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor; If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle.

2. The method according to claim 1, characterized in that The method further comprises: If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor; If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to bypass the side corresponding to the first ultrasonic sensor.

3. The method according to claim 1, characterized in that The step of controlling the robot to travel around obstacles based on the detection result of the fourth ultrasonic sensor includes: When the detection result of the fourth ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the right of the rotated direction by the preset angle and continue to travel at the preset speed.

4. The method according to claim 1, wherein The step of controlling the robot to travel around obstacles based on the detection result of the third ultrasonic sensor includes: When the detection result of the third ultrasonic sensor changes from "there is an obstacle" to "there is no obstacle", the robot is controlled to rotate to the left of the rotated direction by the preset angle and continue to travel at the preset speed.

5. The method according to claim 1, wherein The first preset distance is within the range of [40m, 60m], the second preset distance is within the range of [10m, 30m], and the preset angle is within the range of [80 degrees, 100 degrees].

6. A robot obstacle avoidance device, characterized in that: The device comprises: The acquisition module is used to acquire, in real time, a first detection result of the optical sensor, a second detection result of the first ultrasonic sensor, and a third detection result of the second ultrasonic sensor while the robot is traveling at a preset speed; the optical sensor is used to sense obstacles at the front end of the robot, the first ultrasonic sensor is used to sense obstacles on the left side in front of the robot, and the second ultrasonic sensor is used to sense obstacles on the right side in front of the robot. a judgment module, configured to judge whether there is a transparent obstacle ahead of the robot according to the first detection result, the second detection result, and the third detection result; a control module, configured to control the robot to reduce the preset speed to a first target speed if a transparent obstacle is present ahead; and to obtain a fourth detection result of the first ultrasonic sensor and a fifth detection result of the second ultrasonic sensor when the robot travels at the first target speed until the distance from the transparent obstacle reaches a first preset distance; The control module is further configured to control the robot to travel around obstacles based on the fourth detection result of the first ultrasonic sensor and the fifth detection result of the second ultrasonic sensor; The control module is specifically used to: If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, controlling the robot to reduce the speed from the first target speed to a second target speed; and obtaining the sixth detection result of the first ultrasonic sensor and the seventh detection result of the second ultrasonic sensor when the robot travels a second preset distance at the second target speed; If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has not detected an obstacle, controlling the robot to retreat a third preset distance, and controlling the robot to bypass from the side corresponding to the first ultrasonic sensor, or controlling the robot to bypass from the side corresponding to the second ultrasonic sensor; If the sixth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has detected an obstacle, and the seventh detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to rotate to the left of the current driving direction by a preset angle. During the robot's driving in the rotated direction, the detection result of the fourth ultrasonic sensor is obtained in real time. Based on the detection result of the fourth ultrasonic sensor, the robot is controlled to travel around the obstacle. Alternatively, the robot is controlled to rotate to the right of the current driving direction by a preset angle. During the robot's driving in the rotated direction, the detection result of the third ultrasonic sensor is obtained in real time. Based on the detection result of the third ultrasonic sensor, the robot is controlled to travel around the obstacle. The third ultrasonic sensor is used to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor is used to sense obstacles on the right side of the robot.

7. The device according to claim 6, characterized in that The control module is further configured to: If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor detects an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor does not detect an obstacle, controlling the robot to bypass the side corresponding to the second ultrasonic sensor; If the fourth detection result of the first ultrasonic sensor indicates that the first ultrasonic sensor has not detected an obstacle, and the fifth detection result of the second ultrasonic sensor indicates that the second ultrasonic sensor has detected an obstacle, the robot is controlled to bypass the side corresponding to the first ultrasonic sensor.

8. A robot, characterized in that: include: An optical sensor, a first ultrasonic sensor, and a second ultrasonic sensor, wherein the optical sensor is used to sense obstacles at the front end of the robot, the first ultrasonic sensor is used to sense obstacles on the left side in front of the robot, and the second ultrasonic sensor is used to sense obstacles on the right side in front of the robot; the robot also includes: a third ultrasonic sensor and a fourth ultrasonic sensor, the third ultrasonic sensor is used to sense obstacles on the left side of the robot, and the fourth ultrasonic sensor is used to sense obstacles on the right side of the robot; the robot also includes: a memory and a processor, the memory storing a computer program, characterized in that when the processor executes the computer program, the steps of the method described in any one of claims 1 to 5 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.

10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Robot, obstacle avoidance control method and device thereof and storage medium

    CN109445442A

  • Intelligent obstacle avoidance device based on ultrasonic ranging and obstacle avoidance method thereof

    CN114355358A