Obstacle avoidance method and device for self-propelled robot
A dual-sensor system with wall-following and non-wall-following sensors, using 3D point cloud data, optimizes obstacle avoidance paths for self-propelled robots, enhancing efficiency and reducing energy consumption while navigating irregular obstacles.
Patent Information
- Application Number
- JP2025539752
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-03
- Filing Date
- 2023-12-25
- Publication Date
- 2026-01-16
AI Technical Summary
Self-propelled robots face inefficiencies and high energy consumption due to irrational obstacle avoidance paths, particularly when encountering irregularly shaped obstacles that disrupt the functionality of wall-following sensors.
Employ a dual-sensor system comprising a wall-following sensor and a non-wall-following sensor, such as a laser sensor, to detect and navigate around obstacles with varying height ranges, using three-dimensional point cloud data to determine a vertical projection contour for obstacle avoidance paths.
Improves the intelligence of obstacle avoidance, maximizes the self-propelled robot's activity range, reduces missed cleaning areas, and enhances user experience by optimizing travel paths and reducing energy consumption.
Smart Images

Figure 2026501717000001_ABST
Abstract
Description
[Technical Field]
[0001] This application claims priority to a Chinese patent application bearing application number 202310003112.1 and entitled "Obstacle avoidance method and device for self-propelled robot," filed with the State Intellectual Property Office of the People's Republic of China on January 3, 2023, the entire contents of which are incorporated herein by reference.
[0002] The present disclosure relates to the technical field of self-propelled robots, and more particularly to an obstacle avoidance method and device for a self-propelled robot. [Background technology]
[0003] When a self-propelled robot is moving, it often needs to move along an obstacle. If the obstacle is of an appropriate height or is installed perpendicular to the ground, such as a vertical wall, the self-propelled robot can effectively move along the obstacle based on the detection results of the wall-following sensor.
[0004] However, in a real environment, there are still many irregularly shaped obstacles that are not installed perpendicular to the ground, or their heights affect the normal detection of the wall-following sensor, making it difficult for the wall-following sensor to perform its role effectively, and other types of sensors, such as laser sensors, must be used.
[0005] As shown in Figure 1, the self-propelled robot uses a laser sensor to scan for irregularly shaped obstacles. The trigger for the self-propelled robot to navigate around an obstacle is when the distance between the obstacle and the self-propelled robot reaches a specified height and is less than a specified distance. When the self-propelled robot gets close enough to the obstacle shown in Figure 1, a corresponding obstacle avoidance action is triggered. This obstacle avoidance action typically involves first turning left, then moving forward, and finally turning right. However, after completing this obstacle avoidance action, due to the irregular nature of the black dot-shaped obstacle, the self-propelled robot soon detects that there is an obstacle within the specified distance again, triggering another obstacle avoidance action and completing the obstacle avoidance path shown in Figure 1 until it has completed traveling around the obstacle.
[0006] However, such irrational obstacle avoidance behavior increases the self-propelled robot's idle travel distance, causes a certain amount of power consumption, and makes the self-propelled robot's traveling behavior appear not to be smart enough, affecting the user experience. Furthermore, this irrational obstacle avoidance behavior makes it easy for areas to be missed for cleaning, affecting the self-propelled robot's actual operating efficiency.
[0007] Therefore, how to set an intelligent obstacle avoidance path for a self-propelled robot with high efficiency and low energy consumption has become a technical problem that must be solved urgently. Summary of the Invention
[0008] The embodiments of the present disclosure provide a method and apparatus for obstacle avoidance for a self-propelled robot, which aims to solve the technical problems in the related art of low efficiency and high energy consumption due to the irrationality of obstacle avoidance paths for the self-propelled robot.
[0009] In a first aspect, an embodiment of the present disclosure provides an obstacle avoidance method for a self-propelled robot, the self-propelled robot including a first sensor and a second sensor, the obstacle avoidance method including: collecting first information about a first obstacle, the outermost surface of which has at least a first height range, using the first sensor, and configuring the self-propelled robot to travel along the outermost surface of the first obstacle within the first height range; collecting second information about a second obstacle, the outermost surface of which has at least a second height range, using the second sensor, and configuring the self-propelled robot to perform obstacle avoidance travel operations along the outer surface of at least a portion of the second obstacle within a height range, wherein the second height range is not entirely the same as the first height range.
[0010] In one embodiment, the first sensor is a wall-following sensor, the first obstacle comprises a wall, and the second sensor is a non-wall-following sensor.
[0011] In one embodiment, the first height range is a vertical placement height range or vertical measurement height range of the first sensor, and the second height range is a height range of the self-propelled robot.
[0012] In one embodiment, collecting second information about a second obstacle whose outermost surface has at least a second height range using the second sensor includes acquiring three-dimensional point cloud data about the second obstacle whose outermost surface has at least a second height range using the second sensor, and configuring the self-propelled robot to perform obstacle-avoidance traveling operations along the outer surface within at least a portion of the height range of the second obstacle includes determining a vertical projection contour of the second obstacle based on the three-dimensional point cloud data, determining an obstacle-avoidance path based on the vertical projection contour, and in response to the distance between the self-propelled robot and a target obstacle being less than a first predetermined distance, acquiring an obstacle-avoidance path corresponding to the target obstacle from the set obstacle-avoidance paths as a traveling path along which the self-propelled robot will perform obstacle-avoidance traveling operations.
[0013] In one embodiment, determining the vertical projection contour of the second obstacle based on the 3D point cloud data includes: clustering the 3D point cloud data to obtain a point cloud cluster corresponding to the second obstacle; determining a partial convex envelope of the second obstacle based on the point cloud cluster; and obtaining a vertical projection contour of the partial convex envelope on a ground plane.
[0014] In one embodiment, acquiring the three-dimensional point cloud data includes collecting first position information of obstacle feature points, the first position information including horizontal position information and height information, and generating a three-dimensional rasterized map having the three-dimensional point cloud data based on the first position information of the obstacle feature points.
[0015] In one embodiment, the method further includes the steps of: acquiring an obstacle type before collecting the first position information of the obstacle characteristic point; and, if the determination result indicates that the second obstacle type is the specified type, allowing execution of collection of the first position information of the obstacle characteristic point; and, if the determination result indicates that the second obstacle type is not the specified type, executing collection of first information by the first sensor for a first obstacle whose outermost surface has at least a first height range.
[0016] In one embodiment, acquiring the three-dimensional point cloud data includes determining that an obstacle avoidance path detection activation condition is satisfied and collecting the three-dimensional point cloud data, and the obstacle avoidance path detection activation condition is any one or a combination of the following: the time elapsed since the previous activation of obstacle avoidance path detection or the generation of the obstacle avoidance path has reached a specified time; the distance traveled from the history position at the time the previous obstacle avoidance path detection was completed to the current position has reached a second predetermined distance; travel along all of the set obstacle avoidance paths has been completed; and the number of untraveled paths among all of the set obstacle avoidance paths is equal to or less than a specified number.
[0017] In one embodiment, clustering the 3D point cloud data to obtain point cloud clusters corresponding to the second obstacles includes: determining feature point sets in the 3D point cloud data whose inter-point distances are equal to or less than a third predetermined distance; and clustering each of the feature point sets to obtain point cloud clusters corresponding to each of the feature point sets.
[0018] In one embodiment, determining the obstacle-avoidance path based on the vertical projection contour includes: performing a smoothing process on intersections of each two adjacent line segments of the vertical projection contour to obtain the obstacle-avoidance path; or offsetting the vertical projection contour by a specified offset distance in a direction away from the second obstacle, and then using it as the obstacle-avoidance path.
[0019] In one embodiment, obtaining the obstacle avoidance path corresponding to the target obstacle from the plurality of set obstacle avoidance paths includes: determining a matching status between first position information of the target obstacle and the acquired three-dimensional point cloud data or the acquired point cloud cluster; determining that the first position information matches with the acquired three-dimensional point cloud data or the acquired point cloud cluster; and determining the obstacle avoidance path corresponding to the acquired three-dimensional point cloud data or the acquired point cloud cluster as the obstacle avoidance path for the target obstacle.
[0020] In a second aspect, an embodiment of the present disclosure provides an obstacle avoidance device for a self-propelled robot, the self-propelled robot including a first sensor and a second sensor, the obstacle avoidance device including: a normal obstacle avoidance traveling unit configured to collect first information about a first obstacle, the outermost surface of which has at least a first height range, using the first sensor, and configure the self-propelled robot to travel along the outermost surface of the first obstacle within the first height range; and a special obstacle avoidance traveling unit configured to collect second information about a second obstacle, the outermost surface of which has at least a second height range, using the second sensor, and configure the self-propelled robot to perform obstacle avoidance traveling operations along the outer surface of at least a portion of the second obstacle within a height range, wherein the second height range is not entirely the same as the first height range.
[0021] In one embodiment, the first sensor is a wall-following sensor, the first obstacle comprises a wall, and the second sensor is a non-wall-following sensor.
[0022] In one embodiment, the first height range is a vertical placement height range or vertical measurement height range of the first sensor, and the second height range is a height range of the self-propelled robot.
[0023] In one embodiment, the special obstacle avoidance traveling unit includes: a 3D point cloud data acquisition unit configured to acquire 3D point cloud data for a second obstacle, the second sensor being configured to acquire 3D point cloud data for the second obstacle, the second obstacle having an outermost surface within at least a second height range; a projection contour acquisition unit configured to determine a vertical projection contour of the second obstacle based on the 3D point cloud data; an obstacle avoidance path setting unit configured to determine an obstacle avoidance path based on the vertical projection contour; and an obstacle avoidance control unit configured to, in response to the self-propelled robot being able to determine that the distance between the self-propelled robot and a target obstacle is less than or equal to a first predetermined distance, acquire an obstacle avoidance path corresponding to the target obstacle from the set obstacle avoidance paths as a traveling path along which the self-propelled robot will perform obstacle avoidance traveling operations.
[0024] In one embodiment, the projection contour acquisition unit includes: a point cloud data clustering unit configured to cluster the 3D point cloud data to obtain a point cloud cluster corresponding to the second obstacle; an envelope generation unit configured to determine a partial convex envelope of the second obstacle based on the point cloud cluster; and a projection contour acquisition unit configured to acquire a vertical projection contour of the partial convex envelope on a ground plane.
[0025] In one embodiment, the 3D point cloud data acquisition unit is used to collect first position information of obstacle feature points, including horizontal position information and height information, and generate a 3D rasterized map having the 3D point cloud data based on the first position information of the obstacle feature points.
[0026] In one embodiment, the 3D point cloud data acquisition unit further includes a sensor selection unit configured to perform the steps of acquiring an obstacle type, determining that the obstacle type is the specified type, allowing the collection of first position information of obstacle feature points, determining that the obstacle type is not the specified type, and collecting first information for a first obstacle whose outermost surface has at least a first height range by the first sensor before collecting the first position information.
[0027] In one embodiment, the 3D point cloud data acquisition unit is configured to determine whether an obstacle avoidance path detection activation condition is satisfied and collect the 3D point cloud data, and the obstacle avoidance path detection activation condition is any one or a combination of the following: the time elapsed since the previous activation of obstacle avoidance path detection or the generation of the obstacle avoidance path has reached a specified time; the distance traveled from the historical position at the end of the previous obstacle avoidance path detection to the current position has reached a second predetermined distance; travel along all of the set obstacle avoidance paths has been completed; and the number of untraveled paths among all of the set obstacle avoidance paths is equal to or less than a specified number.
[0028] In one embodiment, the point cloud data clustering unit is used for determining feature point sets in the 3D point cloud data, the inter-point distance of which is equal to or less than a third predetermined distance, and clustering each of the feature point sets to obtain a point cloud cluster corresponding to each of the feature point sets.
[0029] In one embodiment, the obstacle-avoidance path setting unit is configured to perform a smoothing process on the intersection positions of each two adjacent line segments of the vertical projection contour line to obtain the obstacle-avoidance path, or to offset the vertical projection contour line by a specified offset distance in a direction away from the second obstacle, and then set it as the obstacle-avoidance path.
[0030] In one embodiment, the obstacle avoidance control unit is used for determining a matching situation between first position information of the target obstacle and the acquired three-dimensional point cloud data or the acquired point cloud cluster; determining that the first position information matches with the acquired three-dimensional point cloud data or the acquired point cloud cluster; and determining an obstacle avoidance path corresponding to the acquired three-dimensional point cloud data or the acquired point cloud cluster as an obstacle avoidance path for the target obstacle.
[0031] In a third aspect, an embodiment of the present disclosure provides a self-propelled robot including at least one processor and a memory communicatively coupled to the at least one processor, wherein the memory stores instructions executable by the at least one processor, the instructions configured to perform a method according to the first aspect.
[0032] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having stored thereon computer-executable instructions for executing a flow of the method according to the first aspect above.
[0033] The above technical solution addresses the technical problem of low efficiency and high energy consumption due to the irrational obstacle avoidance path of a self-propelled robot in the related art. First, when a first obstacle whose outermost surface has at least a first height range is detected, the first sensor is used preferentially, allowing the self-propelled robot to move smoothly along the wall. When a second obstacle whose outermost surface has at least a second height range is detected—for example, a low-profile obstacle, a taller obstacle, or an obstacle with a non-vertical surface such as a cone-shaped obstacle—the height of the obstacle's center corresponds to the detection range of the wall-following sensor for these obstacles. However, the wall-following sensor cannot detect the bottom position outside the obstacle. Therefore, using only the wall-following sensor would cause the self-propelled robot to get caught under the bottom of the obstacle. In this case, the second sensor, other than the wall-following sensor, is used preferentially to ensure smooth movement of the self-propelled robot.
[0034] The above technical solution enables the self-propelled robot to smoothly navigate along the outer contours of all different obstacles, improving the intelligence of obstacle avoidance for the self-propelled robot, maximizing the self-propelled robot's activity range while avoiding obstacles, reducing missed cleaning areas during the cleaning process, and improving the cleaning efficiency of the self-propelled robot.
[0035] The drawings herein are incorporated into the specification and constitute a part of this specification, show embodiments corresponding to the present disclosure, and are used in conjunction with the specification to explain the principles of the present disclosure. Of course, the drawings described below are merely some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without any creative effort. [Brief explanation of the drawings]
[0036] [Figure 1] Schematic diagram of an obstacle avoidance path for a self-propelled robot in the related art [Figure 2] 1 is a flowchart of an obstacle avoidance method according to one embodiment of the present disclosure. [Figure 3] 1 is a flowchart of an obstacle avoidance method according to another embodiment of the present disclosure. [Figure 4] 1 is a schematic diagram of an obstacle-avoidance path for a self-propelled robot according to one embodiment of the present disclosure. [Figure 5] FIG. 1 is a block diagram of an obstacle avoidance device according to another embodiment of the present disclosure. [Figure 6] 1 is a block diagram of a self-propelled robot according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0037] Exemplary embodiments will now be described more fully with reference to the drawings. However, the exemplary embodiments may be implemented in a variety of forms and should not be understood as being limited to the examples set forth herein. Rather, providing these embodiments will make the present disclosure more thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to fully understand the embodiments of the present disclosure. However, those skilled in the art will recognize that the technical solutions of the present disclosure may be implemented without one or more of the specific details, or may employ other methods, components, devices, steps, etc. In other instances, well-known technical solutions are not shown or described in detail to avoid obscuring aspects of the present disclosure.
[0038] Furthermore, the drawings are merely schematic diagrams of the present disclosure and are not necessarily drawn to scale. In the drawings, the same reference numerals indicate the same or similar parts, and therefore, redundant descriptions thereof will be omitted. Some block diagrams shown in the drawings are functional entities that do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented by software, or may be implemented in one or more hardware modules or integrated circuits, or may be implemented in different networks and / or processor and / or microcontroller devices.
[0039] FIG. 2 shows a flowchart of an obstacle avoidance method according to one embodiment of the present disclosure.
[0040] As shown in FIG. 2, in an obstacle avoidance method according to an embodiment of the present disclosure, the self-propelled robot includes a first sensor and a second sensor. Specifically, the obstacle avoidance method includes:
[0041] Step 202: Collecting first information about a first obstacle, the outermost surface of which has at least a first height range, using the first sensor, and configuring the self-propelled robot to travel along the outermost surface of the first obstacle within the first height range; collecting second information about a second obstacle, the outermost surface of which has at least a second height range, using the second sensor, and configuring the self-propelled robot to perform obstacle-avoidance traveling operations along the outer surface of at least a portion of the height range of the second obstacle.
[0042] The first sensor is a wall-following sensor, the first obstacle includes a wall, and the first height range is the vertical placement height range or vertical measurement height range of the first sensor. That is, a wall-following sensor has a fixed set height or detection height and can continuously detect the surface of an obstacle within this height, allowing the self-propelled robot to travel along the obstacle while maintaining a certain distance from the surface. Normally, the self-propelled robot travels along a wall. Of course, the self-propelled robot can also travel along other obstacles whose outermost surfaces are within the detection height range.
[0043] However, not all obstacles are walls or have regular shapes like walls. For such second obstacles, a second sensor can be provided to collect second information about the second obstacle whose outermost surface has at least a second height range. The self-propelled robot can then be configured to perform obstacle avoidance travel along at least a portion of the outer surface of the second obstacle within the height range, thereby enabling the self-propelled robot to travel along the obstacle. The second sensor is a non-wall-following sensor, and can include any device capable of distance detection, such as a camera, structured light sensor, or laser ranging sensor, but is not limited to these.
[0044] Based on this, when a first obstacle whose outermost surface has at least a first height range is detected, the first sensor is used preferentially, allowing the self-propelled robot to travel smoothly along the wall. When a second obstacle whose outermost surface has at least a second height range is detected, such as a low-profile obstacle, a taller protruding obstacle, or an obstacle with a non-vertical surface such as a cone-shaped obstacle, the height of the obstacle's center corresponds to the detection range of the wall-following sensor for these obstacles. However, the wall-following sensor cannot detect the bottom position outside the obstacle, and using only the wall-following sensor would cause the self-propelled robot to become trapped under the bottom of the obstacle. In this case, the second sensor other than the wall-following sensor is used preferentially, ensuring smooth travel of the self-propelled robot.
[0045] The above technical solution enables the self-propelled robot to smoothly navigate along the outer contours of all different obstacles, improving the intelligence of obstacle avoidance for the self-propelled robot, maximizing the self-propelled robot's activity range while avoiding obstacles, reducing missed cleaning areas during the cleaning process, and improving the cleaning efficiency of the self-propelled robot.
[0046] In addition, the second height range is not completely identical to the first height range, and in one embodiment, the second height range is the height range of the self-propelled robot. That is, the self-propelled robot can at least detect irregular obstacles within the height range of the self-propelled robot, and the second sensor enables the self-propelled robot to smoothly navigate around the irregular obstacles.
[0047] Furthermore, the second height range may be higher than the height range of the self-propelled robot, allowing the self-propelled robot to detect irregular obstacles higher than its own height range and to move smoothly around the obstacles.
[0048] It should be noted that when a self-propelled robot collects information using sensors, it only needs to obtain information about obstacles at least within its own height range; while the self-propelled robot is moving, it will not normally come into contact with obstacles that are taller than the self-propelled robot's own height range; in other words, obstacles that are taller than the self-propelled robot's own height range will generally not interfere with the self-propelled robot's movement.
[0049] In one embodiment, collecting second information by the second sensor for a second obstacle whose outermost surface has at least a second height range includes acquiring three-dimensional point cloud data by the second sensor for the second obstacle whose outermost surface has at least a second height range.
[0050] The self-propelled robot can collect 3D point cloud data of the second obstacle using a second sensor, where the 3D point cloud data reflects the distribution of the second obstacle. Furthermore, the self-propelled robot can determine, based on the 3D point cloud data, that the self-propelled robot will perform an obstacle avoidance travel motion along the outer surface of at least a portion of the height range of the second obstacle as a travel path to avoid the second obstacle. The process by which the self-propelled robot determines a travel path based on the 3D point cloud data of the second obstacle will be analyzed in detail below with reference to FIG. 3 .
[0051] As shown in FIG. 3 , an obstacle avoidance method according to another embodiment of the present disclosure includes:
[0052] Step 302: Obtain three-dimensional point cloud data.
[0053] The self-propelled robot can collect three-dimensional point cloud data using a sensor, and these three-dimensional point cloud data reflect the distribution of a second obstacle detected by a second sensor.
[0054] It should be understood that when collecting information using sensors, the self-propelled robot only needs to acquire obstacle information at least within its own height range, and therefore when acquiring 3D point cloud data, it only needs to acquire 3D point cloud data corresponding to the second obstacle portion detected within the height range of the self-propelled robot itself.
[0055] The points in the 3D point cloud data include obstacle feature points. In one embodiment, step 302 specifically includes collecting first position information of the obstacle feature points, including horizontal position information and height information. Next, a 3D rasterized map containing the 3D point cloud data is generated based on the first position information of the obstacle feature points. The first position information can be collected by any sensor, such as a vertical line laser sensor, a horizontal line laser sensor, or a 3D Time of Flight sensor. Of course, the self-propelled robot can use any one or more types of sensors as long as they can detect the height and distance of the obstacle, and this is not limited thereto.
[0056] The vertical line laser sensor is used to emit a laser line that is approximately perpendicular to the plane on which the self-propelled robot is located, the horizontal line laser sensor is used to emit a laser line that is approximately parallel to the plane on which the self-propelled robot is located, and the 3D TOF sensor is used to emit modulated near-infrared light that is reflected when it encounters an obstacle, and the distance to the obstacle can be determined by calculating the difference between the time the line is emitted and the time the reflected light is received.
[0057] In one embodiment, a vertical line laser sensor, a horizontal line laser sensor, or a 3D TOF sensor can be fixed to the self-propelled robot.
[0058] Step 304: Cluster the 3D point cloud data to obtain a point cloud cluster corresponding to the second obstacle.
[0059] The 3D point cloud data is clustered, i.e., the obstacle feature points in the 3D raster map are clustered, so that related obstacle feature points are clustered into a set of point cloud clusters, each corresponding to a single obstacle. In other words, each obstacle detected by the self-propelled robot in the current environment corresponds to a point cloud cluster, and each point cloud cluster reflects the position and shape information of the obstacle in the current environment. Clustering methods include, but are not limited to, the K-MEANS algorithm, K-MEDOIDS algorithm, CLARANS algorithm, BIRCH algorithm, CURE algorithm, CHAMELEON algorithm, DBSCAN algorithm, OPTICS algorithm, DENCLUE algorithm, STING algorithm, CLIQUE algorithm, and WAVE-CLUSTER algorithm.
[0060] In one embodiment, step 304 includes: determining feature point sets in the 3D point cloud data whose inter-point distances are equal to or less than a third predetermined distance; and clustering each of the feature point sets to obtain a point cloud cluster corresponding to each of the feature point sets.
[0061] If the distance between two obstacle feature points is equal to or less than a third predetermined distance, that is, if the distance between the two obstacle feature points is sufficiently close, it is determined that the two are related to each other and belong to the same obstacle. Therefore, a feature point set consisting of obstacle feature points that are sufficiently close to each other can be clustered to obtain a point cloud cluster corresponding to the second obstacle.
[0062] Step 306: Determine a partial convex envelope of the second obstacle based on the point cloud cluster.
[0063] After connecting each obstacle feature point in the point cloud cluster, a partial convex envelope surface is formed. Since the point cloud cluster is intended to reflect the position information and shape information of the obstacle, this partial convex envelope surface can be used as the envelope surface of the obstacle.
[0064] In one embodiment, an obstacle feature line is obtained by connecting obstacle feature points in the point cloud cluster whose inter-point distance is less than a fourth predetermined distance, and an obstacle feature surface is generated based on the obstacle feature line and obstacle feature points whose perpendicular distance to the obstacle feature line is less than a fifth predetermined distance. The generated multiple obstacle feature surfaces are extended and intersected to obtain a partial convex envelope surface of the second obstacle.
[0065] It should be understood that the first predetermined distance, the second predetermined distance, the third predetermined distance, and the fourth predetermined distance described in the context of the present disclosure can all be flexibly set based on the actual obstacle avoidance and cleaning requirements of the self-propelled robot.
[0066] Step 308: Obtain the vertical projection contour of the partial convex envelope on the ground plane.
[0067] The partial convex envelope reflects the shape information of the second obstacle, i.e., the contour information of the second obstacle. Projecting the partial convex envelope perpendicularly onto the ground plane is equivalent to projecting the second obstacle perpendicularly onto the ground plane. The perpendicular projection contour of the partial convex envelope on the ground plane is the projection of the outermost edge of the obstacle on the ground plane. In other words, by traveling along this perpendicular projection contour, i.e., by traveling along the contour of the outermost edge of the second obstacle, the second obstacle can be successfully avoided.
[0068] Similarly, when a self-propelled robot collects information using a sensor, it only needs to obtain obstacle information within at least the height range of the self-propelled robot itself, so it should be understood that when obtaining a convex envelope surface reflecting the shape information of the second obstacle, it only needs to obtain a partial convex envelope surface corresponding to the second obstacle portion detected within the height range of the self-propelled robot itself.
[0069] Step 310: Determine an obstacle avoidance path based on the vertical projection contour.
[0070] In one embodiment, the vertical projection contour can be directly used as the obstacle avoidance path.
[0071] Specifically, a smoothing process is performed on the intersection points of each two adjacent line segments of the vertical projection contour line, and the smoothed vertical projection contour line is more suitable as a route for a self-propelled robot to travel.
[0072] In another embodiment, the vertical projection contour line can be offset by a specified offset distance in a direction away from the second obstacle before it becomes the obstacle avoidance path.
[0073] Step 312: In response to the distance between the self-propelled robot and any target obstacle being equal to or less than a first predetermined distance, an obstacle avoidance path corresponding to the target obstacle is obtained from the set obstacle avoidance paths as a driving path along which the self-propelled robot will perform obstacle avoidance driving operations.
[0074] By setting the vertical projection contour of the partial convex envelope of the second obstacle on the ground plane as the obstacle avoidance path, the self-propelled robot can travel directly along this obstacle avoidance path when avoiding the second obstacle, thereby avoiding the problem of an unreasonable, winding obstacle avoidance path that occurs in related technologies when obstacles are continuously detected and obstacle avoidance operations are continuously triggered.
[0075] In one embodiment, step 312 includes: determining a matching situation between first position information of the target obstacle and the acquired 3D point cloud data or the acquired point cloud cluster; determining that the first position information matches with the acquired 3D point cloud data or the acquired point cloud cluster; and determining an obstacle avoidance path corresponding to the acquired 3D point cloud data or the acquired point cloud cluster as an obstacle avoidance path for the target obstacle.
[0076] In other words, when it is detected that an arbitrary target obstacle needs to be avoided, if the first position information of the target obstacle matches with any set of acquired three-dimensional point cloud data or acquired point cloud cluster, it indicates that an obstacle avoidance path has been set for the target obstacle, and at this time, the obstacle avoidance path corresponding to the acquired three-dimensional point cloud data or the acquired point cloud cluster can be called up as a driving path for the target obstacle.
[0077] In the above technical solution, the obstacle avoidance path is the vertical projection contour of the partial convex envelope of the obstacle on the ground plane. In contrast to the related art's solution of continuously detecting obstacles and then continuously triggering obstacle avoidance actions, as shown in Figure 4, the self-propelled robot 602 can directly follow the outer contour of the obstacle 604. Continuously triggering obstacle avoidance actions avoids the problem of the obstacle avoidance path being tortuous and complicated, and simplifies the obstacle avoidance path as much as possible, shortening the length of the obstacle avoidance path and reducing the energy consumption for obstacle avoidance. At the same time, the driving behavior of the self-propelled robot 602 is more intelligent and aesthetically pleasing, improving the user experience. At the same time, by following the outer contour of the obstacle 604, the self-propelled robot 602 can maximize its operating range while avoiding the obstacle, reducing missed areas during the cleaning process and improving cleaning efficiency.
[0078] In summary, as can be understood, this technical solution performs large-scale detection on the current environment, detects multiple obstacles, generates obstacle avoidance paths for the multiple obstacles, and when driving toward any of the multiple obstacles, the obstacle avoidance path generated for that obstacle can be called as the driving path.
[0079] With this in mind, the timing of detecting the current environment becomes particularly important.
[0080] Therefore, in one embodiment, when the obstacle avoidance path detection triggering condition is met, the 3D point cloud data can be acquired to trigger the detection of the current environment once.
[0081] Among these, the obstacle avoidance path detection activation condition is any one or a combination of the following: the time that has elapsed since the previous activation of obstacle avoidance path detection or the generation of the obstacle avoidance path has reached a specified time; the distance traveled from the history position at the time of the end of the previous obstacle avoidance path detection to the current position has reached a second specified distance; travel along all of the set obstacle avoidance paths has been completed; and the number of untraveled paths out of all of the set obstacle avoidance paths is equal to or less than a specified number.
[0082] If the time elapsed since the previous activation of obstacle avoidance path detection or the generation of the obstacle avoidance path reaches the specified time, it indicates that sufficient time has passed since the previous activation of obstacle avoidance path detection, and the self-propelled robot has likely completely traversed the environment scanned in the previous activation of obstacle avoidance path detection, so obstacle avoidance path detection can be resumed.
[0083] If the distance traveled from the historical position at the end of the previous obstacle-avoidance path detection to the current position reaches a second predetermined distance, this indicates that the self-propelled robot has traveled a long distance since the previous obstacle-avoidance path detection was initiated, and it is highly likely that the self-propelled robot has completely traversed the environment scanned in the previous obstacle-avoidance path detection activation, or that all of the obstacle-avoidance paths generated in the previous obstacle-avoidance path detection activation have been traveled. Similarly, the self-propelled robot can also resume obstacle-avoidance path detection for the current environment if all of the set obstacle-avoidance paths have been traveled, or if the number of untraveled paths among all of the set obstacle-avoidance paths is equal to or less than a specified number, i.e., if there are not many set obstacle-avoidance paths remaining.
[0084] With the above technical solution, the self-propelled robot can trigger obstacle avoidance path detection multiple times, adapt to the current environment in real time, and recognize obstacles in real time, thereby improving the effectiveness of its driving behavior.
[0085] Before collecting the first position information of the obstacle feature point, the obstacle type can be acquired, where the specified type of obstacle refers to an obstacle that is not perpendicular to the ground or has an irregular height that affects the normal function of the wall-following sensor.
[0086] If the obstacle type is a specified type, it indicates that the wall-following sensor cannot function normally, and a second sensor including a vertical line laser sensor, a horizontal line laser sensor, or a 3D TOF sensor can be activated to perform obstacle avoidance path detection as described in the above technical solution.
[0087] Otherwise, if the obstacle type is not the specified type, that is, if the obstacle can be effectively recognized by the wall-following sensor, the second position information of the obstacle in the current environment can be directly obtained by the wall-following sensor, and a corresponding obstacle avoidance path is generated based on the second position information. Thus, as long as the wall-following sensor functions effectively, the wall-following sensor is used to improve the convenience of obstacle avoidance detection, and if the wall-following sensor cannot function effectively, the obstacle avoidance path detection described in the above technical solution is activated, thereby improving the intelligence of obstacle avoidance of the self-propelled robot and rationally planning the obstacle avoidance path.
[0088] FIG. 5 shows a block diagram of an obstacle avoidance device according to another embodiment of the present disclosure.
[0089] As shown in FIG. 5 , an obstacle avoidance device 400 according to another embodiment of the present disclosure is configured as a self-propelled robot, the self-propelled robot including a first sensor and a second sensor, the obstacle avoidance device 400 including: a normal obstacle avoidance traveling unit 402 configured to collect first information about a first obstacle, the outermost surface of which has at least a first height range, using the first sensor, and configure the self-propelled robot to travel along the outermost surface of the first obstacle within the first height range; and a special obstacle avoidance traveling unit 404 configured to collect second information about a second obstacle, the outermost surface of which has at least a second height range, using the second sensor, and configure the self-propelled robot to perform obstacle-avoidance traveling operations along the outer surface of at least a portion of the second obstacle within a height range, where the second height range is not exactly the same as the first height range.
[0090] In one embodiment, the first sensor is a wall-following sensor, the first obstacle comprises a wall, and the second sensor is a non-wall-following sensor.
[0091] In one embodiment, the first height range is a vertical placement height range or vertical measurement height range of the first sensor, and the second height range is a height range of the self-propelled robot.
[0092] In one embodiment, the special obstacle avoidance traveling unit 404 includes: a 3D point cloud data acquisition unit configured to acquire 3D point cloud data for a second obstacle, the second sensor being configured to acquire 3D point cloud data for the second obstacle, the second obstacle having an outermost surface having at least a second height range; a projection contour acquisition unit configured to determine a vertical projection contour of the second obstacle based on the 3D point cloud data; an obstacle avoidance path setting unit configured to determine an obstacle avoidance path based on the vertical projection contour; and an obstacle avoidance control unit configured to, in response to the distance between the self-propelled robot and a target obstacle being less than or equal to a first predetermined distance, acquire an obstacle avoidance path corresponding to the target obstacle from the set obstacle avoidance paths as a traveling path along which the self-propelled robot will perform obstacle avoidance traveling operations.
[0093] In one embodiment, the projection contour acquisition unit includes: a point cloud data clustering unit configured to cluster the 3D point cloud data to obtain a point cloud cluster corresponding to the second obstacle; an envelope generation unit configured to determine a partial convex envelope of the second obstacle based on the point cloud cluster; and a projection contour acquisition unit configured to acquire a vertical projection contour of the partial convex envelope on a ground plane.
[0094] In one embodiment, the 3D point cloud data acquisition unit is used to collect first position information of obstacle feature points, including horizontal position information and height information, and generate a 3D rasterized map having the 3D point cloud data based on the first position information of the obstacle feature points.
[0095] In one embodiment, the obstacle avoidance device 400 further includes a sensor selection unit configured to acquire second position information of an obstacle in the current environment by a wall-following sensor, before the 3D point cloud data acquisition unit collects the first position information, acquire an obstacle type, determine that the obstacle type is the specified type, allow the 3D point cloud data acquisition unit to collect first position information of an obstacle feature point, determine that the obstacle type is not the specified type, and generate a corresponding obstacle avoidance path based on the second position information.
[0096] In one embodiment, the 3D point cloud data acquisition unit is configured to determine whether an obstacle avoidance path detection activation condition is satisfied and acquire 3D point cloud data, wherein the obstacle avoidance path detection activation condition is any one or a combination of the following: the time elapsed since the previous activation of obstacle avoidance path detection or the generation of the obstacle avoidance path reaches a specified time; the distance traveled from the historical position at the time of the end of the previous obstacle avoidance path detection to the current position reaches a second specified distance; travel along all of the set obstacle avoidance paths has been completed; and the number of untraveled paths among all of the set obstacle avoidance paths is equal to or less than a specified number.
[0097] In one embodiment, the point cloud data clustering unit is used for determining feature point sets in the 3D point cloud data, the inter-point distance of which is equal to or less than a third predetermined distance, and clustering each of the feature point sets to obtain a point cloud cluster corresponding to each of the feature point sets.
[0098] In one embodiment, the obstacle-avoidance path planning unit is configured to perform a smoothing process on the intersection points of each two adjacent line segments of the vertical projection contour lines to obtain the obstacle-avoidance path.
[0099] In one embodiment, the obstacle avoidance control unit is used for determining a matching situation between first position information of the target obstacle and the acquired three-dimensional point cloud data or the acquired point cloud cluster; determining that the first position information matches with the acquired three-dimensional point cloud data or the acquired point cloud cluster; and determining an obstacle avoidance path corresponding to the acquired three-dimensional point cloud data or the acquired point cloud cluster as an obstacle avoidance path for the target obstacle.
[0100] The obstacle avoidance device 400 uses the technical solution described in any one of the above embodiments, and therefore has all the above technical effects, and the description thereof will be omitted here.
[0101] FIG. 6 shows a block diagram of a self-propelled robot according to one embodiment of the present disclosure.
[0102] 6, a self-propelled robot 500 according to one embodiment of the present disclosure includes at least one memory 502 and a processor 504 communicatively connected to the at least one memory 502, wherein the memory stores instructions executable by the at least one processor 504, the instructions being configured to execute the technical solution described in any one of the above embodiments. Therefore, the self-propelled robot 500 has the same technical effects as any one of the above embodiments, and a description thereof will be omitted here.
[0103] An embodiment of the present disclosure also provides a computer-readable storage medium having computer-executable instructions stored thereon, the computer-executable instructions being for executing the steps of acquiring three-dimensional point cloud data, clustering the three-dimensional point cloud data to acquire a point cloud cluster corresponding to the second obstacle, determining a partial convex envelope of the second obstacle based on the point cloud cluster, acquiring a vertical projection contour of the partial convex envelope on a ground plane, determining an obstacle avoidance path based on the vertical projection contour, and, in response to the distance between the self-propelled robot and a target obstacle being equal to or less than a first predetermined distance, acquiring an obstacle avoidance path corresponding to the target obstacle from the set obstacle avoidance paths as a driving path for the self-propelled robot.
[0104] It should be noted that for the functions or steps that can be implemented by the computer-readable storage medium or the self-propelled robot, reference can be made to the relevant descriptions in the above-mentioned method embodiments, and the description thereof will be omitted here to avoid repetition.
[0105]
[0013] The technical solution of the present disclosure has been described in detail above with reference to the drawings. The technical solution of the present disclosure uses the vertical projection contour of the partial convex envelope of an obstacle onto a ground plane as the obstacle avoidance path. Unlike the related art's technical solution of continuously detecting an obstacle and then continuously triggering an obstacle avoidance action, the technical solution of the present disclosure can travel directly along the outer contour of the obstacle, avoiding the problem of the obstacle avoidance path being tortuous and complex due to the continuous triggering of the obstacle avoidance action. The obstacle avoidance path can be simplified as much as possible, shortening the length of the obstacle avoidance path and reducing the energy consumption for obstacle avoidance. At the same time, the self-propelled robot's traveling behavior is more intelligent and aesthetically pleasing, improving the user experience. At the same time, by traveling along the outer contour of the obstacle, the self-propelled robot can maximize its activity range while avoiding obstacles, reducing areas missed during the cleaning process and improving the cleaning effect of the self-propelled robot.
[0106] As will be understood, the term "and / or" used herein merely describes the relation between related objects, and indicates that three types of relation may exist, for example, A and / or B can indicate three situations: A exists alone, A and B exist simultaneously, and B exists alone. Also, the character " / " in this specification generally indicates that the related objects before and after it are in an "or" relation.
[0107] In the embodiments of the present disclosure, terms such as "first" and "second" may be used to describe predetermined distances, but it should be understood that these predetermined distances should not be limited to these terms. These terms are used merely to distinguish predetermined distances from one another. For example, a first predetermined distance may be referred to as a second predetermined distance, and similarly, a second predetermined distance may be referred to as a first predetermined distance, without departing from the scope of the embodiments of the present disclosure.
[0108] It should be noted that although the above detailed description refers to several modules or units of equipment used to perform operations, such division is not mandatory. In fact, according to embodiments of the present disclosure, features and functions of two or more of the modules or units described above may be embodied in one module or unit. Conversely, features and functions of one of the modules or units described above may be further divided and embodied in multiple modules or units. In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, each unit may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be realized in the form of hardware, or may be realized in the form of a functional unit of hardware and software.
[0109] The terms used in the embodiments of the present disclosure are merely for the purpose of describing particular embodiments and are not intended to limit the present disclosure. As used in the embodiments of the present disclosure and the appended claims, the singular forms "a," "the," and "the" are also intended to include the plural forms unless the context clearly dictates otherwise.
[0110] Furthermore, although the figures depict steps of the methods in this disclosure in a particular order, this does not require or imply that the steps must be performed in that particular order, or that all of the steps shown must be performed to achieve a desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined and performed as a single step, and / or a single step may be broken down into multiple steps and performed.
[0111] From the description of the above embodiments, those skilled in the art can easily understand that the exemplary embodiments described herein can be realized by software or by a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present disclosure can be realized in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or a network, and includes some commands to make a computing device (which can be a personal computer, a server, a mobile terminal, a network device, etc.) execute the method according to the embodiments of the present disclosure.
[0112] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any modifications, uses, and adaptations of the present disclosure. These modifications, uses, and adaptations comply with the general principles of the present disclosure and include common knowledge or customary technical means known in the art but not disclosed in the present disclosure. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims.
Claims
1. An obstacle avoidance method for a self-propelled robot, the self-propelled robot including a first sensor and a second sensor, the obstacle avoidance method comprising: collecting first information about a first obstacle, the outermost surface of which has at least a first height range, using the first sensor, and configuring the self-propelled robot to travel along the outermost surface of the first obstacle within the first height range; collecting second information about a second obstacle, the outermost surface of which has at least a second height range, using the second sensor; and configuring the self-propelled robot to perform an obstacle-avoidance traveling operation along the outer surface of at least a portion of the second obstacle within the height range; The second height range is not exactly the same as the first height range. Obstacle avoidance methods.
2. the first sensor is a wall-following sensor, and the first obstacle includes a wall; the second sensor is a non-wall-following sensor; The obstacle avoidance method according to claim 1 .
3. the first height range is a vertical placement height range or a vertical measurement height range of the first sensor; the second height range is a height range of the self-propelled robot; The obstacle avoidance method according to claim 1 .
4. Collecting second information about a second obstacle, the outermost surface of which has at least a second height range, by the second sensor includes: acquiring, by the second sensor, three-dimensional point cloud data for a second obstacle having an outermost surface having at least a second height range; Configuring the self-propelled robot to perform an obstacle avoidance traveling movement along an outer surface within a height range of at least a portion of the second obstacle, determining a vertical projection contour of the second obstacle based on the three-dimensional point cloud data; determining an obstacle avoidance path based on the vertical projection contour; in response to a distance between the self-propelled robot and a target obstacle being equal to or shorter than a first predetermined distance, acquiring an obstacle avoidance path corresponding to the target obstacle from among the set obstacle avoidance paths as a travel path along which the self-propelled robot will perform an obstacle avoidance travel operation. The obstacle avoidance method according to claim 1 .
5. determining a vertical projection contour of the second obstacle based on the three-dimensional point cloud data, clustering the three-dimensional point cloud data to obtain a point cloud cluster corresponding to the second obstacle; determining a partial convex envelope of the second obstacle based on the point cloud cluster; and obtaining a vertical projection contour of the partial convex envelope on a ground plane. The obstacle avoidance method according to claim 4.
6. The acquiring of the three-dimensional point cloud data includes: Collecting first position information including horizontal position information and height information of obstacle feature points; generating a three-dimensional rasterized map having the three-dimensional point cloud data based on the first position information of the obstacle feature points; The obstacle avoidance method according to claim 5.
7. before collecting first position information of the obstacle feature points, Obtaining an obstacle type; determining that the obstacle type is the specified type and permitting execution of collection of first position information of the obstacle characteristic points; determining that the obstacle type is not the specified type, and collecting first information by the first sensor about a first obstacle whose outermost surface has at least a first height range; The obstacle avoidance method according to claim 6.
8. The acquiring of the three-dimensional point cloud data includes: determining that an obstacle avoidance path detection triggering condition is satisfied, and collecting the three-dimensional point cloud data; The time that has elapsed since the previous activation of the obstacle avoidance path detection or the generation of the obstacle avoidance path has reached a specified time; The distance traveled from the historical position at the time of the previous obstacle avoidance path detection completion to the current position has reached a second predetermined distance; All the obstacle avoidance paths that have been set have been completed, and and the number of untraveled routes among all the set obstacle avoidance routes is equal to or less than a specified number. The obstacle avoidance method according to claim 6.
9. clustering the three-dimensional point cloud data to obtain a point cloud cluster corresponding to the second obstacle, determining a set of feature points in the three-dimensional point cloud data whose inter-point distance is equal to or less than a third predetermined distance; clustering each of the feature point sets to obtain a point cloud cluster corresponding to each of the feature point sets; The obstacle avoidance method according to claim 5.
10. determining an obstacle avoidance path based on the vertical projection contour line, performing a smoothing process on the intersection points of each two adjacent line segments of the vertical projection contour line to obtain the obstacle-avoidance path; or offsetting the vertical projection contour line by a specified offset distance in a direction away from the second obstacle, and then setting the offset distance as the obstacle avoidance path. The obstacle avoidance method according to claim 5.
11. Obtaining an obstacle-avoidance path corresponding to the target obstacle from the plurality of obstacle-avoidance paths that have been set includes: determining a matching situation between the first position information of the target obstacle and the acquired three-dimensional point cloud data or the acquired point cloud cluster; determining that the first position information matches the acquired three-dimensional point cloud data or the acquired point cloud cluster, and determining an obstacle avoidance path corresponding to the acquired three-dimensional point cloud data or the acquired point cloud cluster as an obstacle avoidance path for the target obstacle. The obstacle avoidance method according to claim 5.
12. An obstacle avoidance device for a self-propelled robot, the self-propelled robot including a first sensor and a second sensor, the obstacle avoidance device comprising: a normal obstacle avoidance traveling unit configured to collect first information about a first obstacle, the first sensor being configured to collect first information about the first obstacle, the first obstacle having an outermost surface within at least a first height range, and to configure the self-propelled robot to travel along the outermost surface of the first obstacle within the first height range; a special obstacle avoidance travel unit configured to collect second information about a second obstacle, the outermost surface of which has at least a second height range, using the second sensor, and to configure the self-propelled robot to perform obstacle avoidance travel along the outer surface of at least a part of the height range of the second obstacle, wherein the second height range is not completely the same as the first height range; Obstacle avoidance device for self-propelled robots.
13. 1. A self-propelled robot, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores instructions executable by the at least one processor, the instructions being configured to perform a method according to any one of claims 1 to 11. Self-propelled robot.
14. A computer-readable storage medium having stored thereon computer-executable instructions for carrying out the steps of the method according to any one of claims 1 to 11. A computer-readable storage medium.