Obstacle recognition method, cleaning device control method, cleaning device, and apparatus
Patent Information
- Application Number
- CN202610749709.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-27
- Publication Date
- 2026-08-21
AI Technical Summary
[0003]受限于深度传感器的采样特性,对于体积较小的障碍物,获取的三维点云数据不足,导致小障碍物容易出现漏检,
[0044]本申请实施例提供的障碍物识别方法、清洁设备控制方法、清洁设备和装置,通过获取当前采样帧的第一点云,从历史点云缓存区获取N帧第二点云,第一点云和第二点云均为剔除对应的原始点云中的墙面点云和地面点云得到的点云,N为大于或等于1的整数,对第一点云和N帧第二点云进行选择性叠加,并基于叠加后的点云进行障碍物识别。上述方案,通过对当前采样帧与历史采样帧中的非墙面、非地面点云进行筛选融合,使连续采样过程中分散出现的障碍物相关点能够在识别阶段形成叠加增强效果,从而提升静态场景下小障碍物的识别鲁棒性和识别精度,减少因单帧点数不足导致的漏检现象,从而为清洁设备后续的避障决策、路径规划和清扫连续性提供更加可靠的环境感知输入,进而提升清洁设备的清洁效率和用户的使用体验。
Smart Images

Figure CN122604264A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cleaning technology, and in particular to an obstacle identification method, a cleaning equipment control method, a cleaning equipment, and an apparatus. Background Technology
[0002] In a home environment, a robotic vacuum cleaner can acquire real-time 3D point cloud data of the surrounding environment through a depth sensor, and identify the ground, walls and obstacles based on the 3D point cloud data to achieve autonomous navigation and obstacle avoidance.
[0003] Due to the limitations of depth sensors' sampling characteristics, insufficient 3D point cloud data is acquired for small obstacles, leading to the easy omission of small obstacles. Summary of the Invention
[0004] This application provides an obstacle recognition method, a cleaning equipment control method, a cleaning equipment, and an apparatus to reduce the missed detection rate of small obstacles, thereby improving the cleaning efficiency of the cleaning equipment and the user experience.
[0005] In a first aspect, embodiments of this application provide an obstacle recognition method, including:
[0006] Obtain the first point cloud of the current sampled frame;
[0007] Obtain N frames of the second point cloud from the historical point cloud cache; the first point cloud and the second point cloud are point clouds obtained by removing the wall point cloud and ground point cloud from the corresponding original point cloud, where N is an integer greater than or equal to 1;
[0008] The first point cloud and the N frames of the second point cloud are selectively superimposed, and obstacle recognition is performed based on the superimposed point cloud.
[0009] In some embodiments, obtaining N frames of the second point cloud from the historical point cloud cache includes:
[0010] M frames of the second point cloud are obtained from the historical point cloud cache; M is an integer greater than or equal to 2.
[0011] From the second point cloud in the M frames, remove the second point cloud that meets the preset conditions to determine the second point cloud in the N frames;
[0012] The preset conditions include at least one of the following:
[0013] The sampling time difference between the second point cloud and the first point cloud is greater than a preset time.
[0014] The cumulative displacement of the second point cloud and the first point cloud is greater than the preset displacement.
[0015] In some embodiments, the selective overlay of the first point cloud and N frames of the second point cloud, and the obstacle recognition based on the overlaid point cloud, includes:
[0016] The first point cloud and the second point cloud of K frames are superimposed to obtain the first fused point cloud; where K is an integer less than N.
[0017] Obstacle identification is performed based on the first fused point cloud to obtain the first obstacle;
[0018] Remove the point cloud corresponding to the first obstacle from the first point cloud and the second point cloud of N frames to obtain the first target point cloud and the second target point cloud of N frames;
[0019] The first target point cloud and the second target point cloud in frame P are superimposed to obtain a second fused point cloud; where P is an integer greater than K and less than or equal to N;
[0020] Obstacle identification is performed based on the second fused point cloud to obtain the second obstacle.
[0021] In some embodiments, the selective overlay of the first point cloud and N frames of the second point cloud, and the obstacle recognition based on the overlaid point cloud, includes:
[0022] Obtain the moving speed of the cleaning equipment;
[0023] When the moving speed is greater than a preset speed, the first point cloud and the second point cloud of K frames are superimposed to obtain a first fused point cloud; where K is an integer less than N;
[0024] Obstacle identification is performed based on the first fused point cloud to obtain the first obstacle.
[0025] In some embodiments, when the moving speed of the cleaning device is less than a preset speed, the magnitude of P is negatively correlated with the moving speed.
[0026] In some embodiments, before overlaying the first point cloud and the K-frame second point cloud, the method further includes:
[0027] Using the coordinate system of the first point cloud as a reference, perform coordinate transformation on the second point cloud in K frame or the second target point cloud in P frame.
[0028] In some embodiments, the method further includes:
[0029] Remove duplicate point clouds from the second point cloud in K-frame or the second target point cloud in P-frame; the duplicate point clouds are used to represent point clouds in the second point cloud in K-frame or the second target point cloud in P-frame that are at the same position as the first point cloud.
[0030] In some embodiments, the method further includes:
[0031] Write the first point cloud into the historical point cloud cache area;
[0032] If the number of point clouds in the historical point cloud cache exceeds the upper limit, the point cloud with the longest write time in the historical point cloud cache will be removed.
[0033] Secondly, embodiments of this application also provide a cleaning equipment control method, including:
[0034] Obtain the first point cloud of the current sampled frame;
[0035] Obtain N frames of the second point cloud from the historical point cloud cache; the first point cloud and the second point cloud are point clouds obtained by removing the wall point cloud and ground point cloud from the corresponding original point cloud, where N is an integer greater than or equal to 1;
[0036] The first point cloud and the N frames of the second point cloud are selectively superimposed, and obstacle recognition is performed based on the superimposed point cloud;
[0037] The operation of the cleaning equipment is controlled based on the obstacle recognition results.
[0038] Thirdly, embodiments of this application provide a cleaning device, including a processor, a transceiver, and a memory; the processor is communicatively connected to the transceiver and the memory respectively;
[0039] The memory stores computer-executed instructions;
[0040] The transceiver communicates and interacts with external devices.
[0041] The processor executes computer execution instructions stored in the memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.
[0042] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the method of any of the first aspects.
[0043] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the method of any one of the first aspects.
[0044] The obstacle recognition method, cleaning equipment control method, cleaning equipment, and apparatus provided in this application embodiment acquire a first point cloud of the current sampling frame and N frames of second point clouds from a historical point cloud cache. Both the first and second point clouds are obtained by removing wall and ground point clouds from the corresponding original point clouds, where N is an integer greater than or equal to 1. The first point cloud and the N frames of second point clouds are selectively superimposed, and obstacle recognition is performed based on the superimposed point clouds. This scheme, by filtering and fusing non-wall and non-ground point clouds in the current and historical sampling frames, enables obstacle-related points that appear scattered during continuous sampling to form a superimposed enhancement effect during the recognition stage. This improves the robustness and accuracy of small obstacle recognition in static scenes, reduces missed detections due to insufficient points per frame, and provides more reliable environmental perception input for subsequent obstacle avoidance decisions, path planning, and cleaning continuity of the cleaning equipment, thereby improving the cleaning efficiency of the cleaning equipment and the user experience. Attached Figure Description
[0045] Figure 1 A scenario diagram provided for an embodiment of this application;
[0046] Figure 2 A flowchart illustrating an obstacle recognition method provided in this application embodiment. Figure 1 ;
[0047] Figure 3 A flowchart illustrating an obstacle recognition method provided in this application embodiment. Figure 2 ;
[0048] Figure 4 A schematic diagram illustrating a second point cloud filtering method provided in an embodiment of this application;
[0049] Figure 5 A schematic diagram of writing to a historical point cloud cache area provided in an embodiment of this application;
[0050] Figure 6 A flowchart illustrating an obstacle recognition method provided in this application embodiment. Figure 3 ;
[0051] Figure 7 A schematic diagram illustrating the adjustment of the size of P according to an embodiment of this application;
[0052] Figure 8 A flowchart illustrating an obstacle recognition method provided in this application embodiment. Figure 4 ;
[0053] Figure 9 A flowchart illustrating a cleaning equipment control method provided in an embodiment of this application;
[0054] Figure 10This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0056] In the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect, without limiting their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" do not necessarily imply that they are different.
[0057] It should be noted that, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0058] When a robotic vacuum cleaner operates autonomously in a home environment, it needs to acquire real-time 3D point cloud data of the surrounding environment through depth sensors (such as TOF cameras, structured light, etc.) and identify the ground, walls and obstacles based on point cloud segmentation technology in order to achieve obstacle avoidance navigation.
[0059] However, as Figure 1 As shown, in a real-world home environment, there are many low and small obstacles, such as pens, small toys, and thin, sheet-like objects (like paper). When a robotic vacuum cleaner collects point clouds using its depth sensor, the effective number of point clouds obtained may be very small or even zero due to limitations such as sampling density, viewing angle, distance, and the reflective properties of the object's material.
[0060] Existing robotic vacuum cleaners mostly rely on segmentation and clustering algorithms based on single-frame point clouds to identify obstacles. During the identification process, the sparse point cloud corresponding to small obstacles is easily treated as noise and removed, or the obstacle results cannot be generated because the minimum number of cluster points is not met. This leads to the omission of small obstacles, which in turn causes the robotic vacuum cleaner to run over or collide with small obstacles, affecting user experience and cleaning efficiency.
[0061] In view of this, embodiments of this application provide an obstacle recognition method, a cleaning equipment control method, a cleaning equipment, and an apparatus. By superimposing the point clouds of the current frame and historical frames, the obstacle-related point clouds that were originally scattered at different sampling times are comprehensively used in the recognition stage. This allows sparse obstacle information that is insufficient to form an effective judgment basis in a single frame to be enhanced through superposition, so that it can meet the minimum number of points threshold requirement for clustering and segmentation. This significantly reduces the false negative rate of small obstacles, thereby improving the success rate of the cleaning equipment in detecting low and small obstacles, thus improving cleaning efficiency and user experience.
[0062] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0063] Figure 2 A flowchart illustrating an obstacle recognition method provided in this application embodiment. Figure 1 ,like Figure 2 As shown, it includes:
[0064] S201. Obtain the first point cloud of the current sampling frame; the first point cloud is the point cloud obtained by removing the wall point cloud and ground point cloud from the original point cloud.
[0065] The execution entity of this application embodiment can be a sensing processing unit, processor, dedicated point cloud processing chip, or a data processing system composed of the above hardware, which can be set inside the cleaning equipment. The following description will take the processor as an example.
[0066] The current sampling frame can be understood as the time unit corresponding to a frame of spatial observation data output by the depth sensor after completing one sampling at the current moment.
[0067] The first point cloud can be understood as the set of non-wall and non-ground point clouds retained after preprocessing the original point cloud corresponding to the current sampling frame.
[0068] Wall point clouds typically correspond to the set of points in a fixed boundary structure that extends vertically indoors, while ground point clouds typically correspond to the set of points in a region on the robot's walking plane or approximately coplanar with that walking plane.
[0069] For example, during the autonomous movement of cleaning equipment, the depth sensor continuously outputs the original point cloud of the current environment according to a preset sampling frequency.
[0070] The depth sensor can be a structured light sensor, a time-of-flight sensor, a binocular depth camera, a line laser rangefinder, or other sensors capable of acquiring three-dimensional spatial depth information.
[0071] After the processor acquires the raw point cloud collected by the depth sensor, it identifies the ground point cloud and the wall point cloud from the raw point cloud, and filters out the ground point cloud and the wall point cloud from the raw point cloud to obtain the first point cloud.
[0072] In one possible implementation, the identification of wall point clouds and ground point clouds can be achieved by fitting geometric models.
[0073] For example, the processor first determines the vertical and horizontal reference directions based on the robot's posture estimation results. Then, it uses random sampling consensus algorithm, least squares plane fitting algorithm, or normal vector clustering method to identify large planar regions from the original point cloud that are consistent with the ground normal distribution and whose height changes meet the threshold condition. This part is marked as the ground point cloud. At the same time, it identifies a set of planar points that are parallel to the vertical direction, extend continuously, and form a boundary in space, and marks them as the wall point cloud.
[0074] In another possible implementation, the identification of wall and ground point clouds can also be based on depth images output by a depth sensor. For example, ground lines, wall edges, and normal distribution features can be extracted from the depth image first, and then the corresponding pixels can be back-projected into three-dimensional space to obtain the wall and ground point clouds to be removed.
[0075] In indoor scenes, ground point clouds and wall point clouds typically account for 60%-80% of the total point cloud. By using the first point cloud, which excludes ground and wall point clouds, for subsequent obstacle recognition, the amount of data to be processed can be greatly reduced, thus improving obstacle recognition efficiency.
[0076] In some embodiments, before removing wall and ground point clouds from the original point cloud, denoising, outlier filtering, and sampling equalization can be performed first. For example, statistical filtering can be used to remove isolated points that significantly deviate from the neighborhood distribution, and voxel grid downsampling can be used to control the number of points, thereby reducing the computational burden while ensuring that the spatial structure is recognizable.
[0077] S202. Obtain N frames of the second point cloud from the historical point cloud cache; the second point cloud is the point cloud obtained by removing the wall point cloud and ground point cloud from the original point cloud, and N is an integer greater than or equal to 1.
[0078] In this embodiment, the historical point cloud cache can be a data storage area used by the cleaning device to store historical sampled point clouds in chronological order during continuous patrol. This storage area can be located in an on-chip cache, a memory buffer, a circular queue, or a dedicated storage module.
[0079] The second point cloud can be understood as point cloud data formed by preprocessing the original point clouds corresponding to each historical sampling frame and removing wall and ground surfaces, similar to the current frame.
[0080] In some embodiments, when reading N frames of the second point cloud, the processor can select N consecutive historical point clouds in reverse chronological order from the most recent moment to the past, or it can extract N non-consecutive historical point clouds within a predetermined time window according to a time interval strategy.
[0081] For example, when the sampling frequency is high and the repetition between adjacent frames is large, data can be read every other frame or every other frame to reduce highly redundant data; when the cleaning equipment moves quickly or there are many low and small obstacles in the environment, the value of N can be increased or the sampling interval can be shortened to increase the probability that the obstacle point cloud is covered.
[0082] In one possible embodiment, the value of N can be pre-configured by the system or dynamically determined by the operating status of the cleaning equipment. For example, when the cleaning equipment is moving at a constant speed in an open area, N can be set to a smaller value to control the amount of calculation; when the cleaning equipment approaches the edge of furniture, the transition area of a corner, or an area where there may be small obstacles, N can be increased to obtain more historical perspective information.
[0083] In some embodiments, after the cleaning device completes the preprocessing of a point cloud frame and obtains a set of non-wall and non-ground points, it writes the result, along with the corresponding timestamp, pose parameters, sensor status identifier, and optional quality score, into the historical point cloud cache.
[0084] S203. Selectively overlay the first point cloud and the N-frame second point cloud, and perform obstacle recognition based on the overlaid point cloud.
[0085] In this embodiment, selective overlay can be understood as not simply merging the current first point cloud and the N frames of second point clouds without conditions, but rather selecting some or all frames of the second point cloud from the N frames of point clouds to merge with the first point cloud according to preset filtering conditions, or retaining the part of the second point cloud that has consistency and obstacle indication significance according to preset filtering conditions, and suppressing or eliminating redundant points, drift points and noise points that do not meet the conditions.
[0086] In one possible implementation, during selective overlay, a neighborhood search can be used to analyze the spatial overlap between each historical frame point cloud and the current frame, determining whether a corresponding point exists in the neighborhood of the current point cloud within the historical frame point cloud. When a spatial region exhibits point distribution in both the current first point cloud and at least one second point cloud frame, and the distance between these points is less than a preset neighborhood threshold, the region is identified as a high-consistency region, and its points are retained for overlay. When a spatial region appears only briefly in a single historical frame and lacks a corresponding relationship with the current frame, it can be considered an unstable point cloud and directly discarded.
[0087] In one possible implementation, during selective overlay, weight values can be assigned to the second point cloud in each frame based on factors such as the time interval between historical frames and the current frame, and the point cloud quality score. These weights are then accumulated during overlay. For example, historical point clouds that are closer to the current frame in time, have higher registration accuracy, and stronger local consistency can be assigned larger weights, while historical point clouds that are older or of lower quality can be assigned smaller weights.
[0088] In one possible implementation, selective overlay can be divided into multiple stages, with different numbers of second point clouds overlaid on the first point cloud in each stage. For example, the overlay can be divided into two stages: in the first stage, a smaller number of second point clouds are overlaid on the first point cloud to identify larger obstacles; in the second stage, a larger number of second point clouds are overlaid on the first point cloud to accurately identify smaller obstacles.
[0089] After obtaining the superimposed point cloud (i.e., the enhanced point cloud), the processor performs obstacle recognition on the enhanced point cloud. Obstacle recognition may include first clustering the superimposed point cloud, dividing spatially close and continuously distributed points into multiple candidate clusters, and then determining whether each candidate cluster constitutes an obstacle based on features such as size, height above the ground, area occupied, shape compactness, and number of points.
[0090] For example, for a given cluster, its minimum bounding rectangle, maximum height, and voxel occupancy density on the ground projection plane can be calculated. When its height above the ground is higher than the minimum obstacle threshold, its horizontal dimensions are within the range that the sweeping cleaning equipment needs to avoid, and the number of points meets the recognition requirements supported by multiple frames, the cluster is output as an obstacle.
[0091] In summary, the obstacle recognition method provided in this application obtains a first point cloud of the current sampling frame and N frames of second point clouds from the historical point cloud cache. Both the first and second point clouds are obtained by removing wall and ground point clouds from the corresponding original point clouds, where N is an integer greater than or equal to 1. The first point cloud and the N frames of second point clouds are selectively superimposed, and obstacle recognition is performed based on the superimposed point clouds. This scheme, by filtering and fusing non-wall and non-ground point clouds in the current and historical sampling frames, enables obstacle-related points that appear scattered during continuous sampling to form a superimposed enhancement effect during the recognition stage. This improves the robustness and accuracy of small obstacle recognition in static scenes, reduces missed detections due to insufficient points per frame, and provides more reliable environmental perception input for subsequent obstacle avoidance decisions, path planning, and cleaning continuity of the cleaning equipment, thereby improving the cleaning efficiency of the cleaning equipment and the user experience.
[0092] Based on the above embodiments, the process of acquiring N frames of the second point cloud will be further explained below.
[0093] Figure 3 Flowchart of the obstacle recognition method provided in the embodiments of this application Figure 2 ,like Figure 3 As shown, it includes:
[0094] S301. Obtain the second point cloud of M frames from the historical point cloud cache; M is an integer greater than or equal to 2.
[0095] For example, the processor can select M consecutive historical point clouds from the point cloud cache area in reverse chronological order, from the most recent moment to the past.
[0096] S302. From the second point cloud of frame M, remove the second point cloud that meets the preset conditions, and determine the second point cloud of frame N.
[0097] In some embodiments, the preset conditions include at least one of the following:
[0098] The sampling time difference between the second point cloud and the first point cloud is greater than the preset time.
[0099] The cumulative displacement of the second point cloud and the first point cloud is greater than the preset displacement.
[0100] Among them, the sampling time difference is used to characterize the time interval between the sampling time corresponding to the second point cloud and the sampling time corresponding to the first point cloud;
[0101] Cumulative displacement is used to characterize the cumulative positional change of the cleaning equipment along its motion trajectory between two samplings.
[0102] For example, refer to Figure 4 The processor obtains 8 frames of second point cloud from the point cloud buffer, and calculates the sampling time difference and cumulative displacement between the first point cloud and each frame of second point cloud based on the sampling time and pose parameters of the first point cloud and the sampling time and pose parameters of the second point cloud.
[0103] When the time interval between the second point cloud and the first point cloud in a certain frame exceeds a preset duration (such as the second point cloud in frames t-6 and t-5), and when the cumulative motion distance between the point cloud in a certain frame and the first point cloud exceeds a preset displacement (such as frame t-8), the second point cloud in that frame is determined to be insufficiently related to the current recognition scene and is removed; the remaining second point clouds that are not removed are output as N frames of second point clouds for subsequent selective overlay with the first point cloud.
[0104] The preset duration can be set to a time range that matches the sensor sampling period, and the preset displacement can be set to a distance threshold corresponding to the short-term displacement range of the cleaning equipment during indoor cruising. In practical applications, this threshold can also be configured in combination with operating speed, cache capacity and environmental complexity, but this application embodiment does not limit it.
[0105] The above method employs a dual screening process of historical point clouds, combining temporal and displacement analysis, to ensure a higher spatial correlation between the retained second point cloud and the current first point cloud. Since the retained point cloud is closer to the current observation state, subsequent overlays can enhance the number of effective points for the same static obstacle in continuous sampling, reducing the interference of distant timeframes or large displacement data on the identification results. This improves the detection stability of low-lying obstacles and reduces the probability of misjudgments caused by irrelevant historical data.
[0106] In some embodiments, the historical point cloud cache can be a fixed-capacity circular buffer or sequential storage table maintained by the processor. When the processor acquires the first point cloud, it can write the first point cloud into the historical point cloud cache. Since the storage capacity of the historical point cloud cache is limited, if the number of point clouds in the historical point cloud cache exceeds the upper limit when writing the first point cloud, the point cloud with the longest writing time in the historical point cloud cache is removed.
[0107] Among them, the point cloud with the longest write time refers to the point cloud that was first cached in the historical point cloud cache, and its corresponding timestamp is the smallest. The capacity of the historical point cloud cache (i.e., the upper limit of point cloud storage) can be set according to the memory capacity, sampling frequency and historical time window required for identification, so that the cache can retain enough historical information while avoiding excessive storage resources.
[0108] After acquiring the first point cloud, the controller writes it, along with its timestamp and pose information, into the historical point cloud cache. This ensures a continuous historical data source when reading the second point cloud from the cache. When the number of point clouds in the historical point cloud cache reaches a set threshold, the controller locates and deletes the earliest written point cloud based on its timestamp, thus maintaining the historical point cloud cache within a preset capacity. For example, ... Figure 5 As shown, the historical point cloud cache has a storage capacity of 8 frames. When the point cloud of frame t is written, the point cloud of frame t-8 will be deleted from the historical point cloud cache.
[0109] By removing the oldest point cloud when the number of point clouds stored in the point cloud cache exceeds the upper limit, the cache only retains historical information with timeliness, avoiding the long-term occupation of resources by outdated point clouds and reducing the risk of mismatch caused by excessive historical data. This ensures both the continuous availability of historical point clouds and the stability of storage and processing loads, thereby improving the real-time perception and obstacle avoidance reliability of the sweeping cleaning device in the home environment.
[0110] Based on the above embodiments, the process of selectively overlaying the first point cloud and N frames of the second point cloud will be further explained below.
[0111] Figure 6 Flowchart of the obstacle recognition method provided in the embodiments of this application Figure 3 ,like Figure 6 As shown, it includes:
[0112] S601. Overlay the first point cloud and the second point cloud of K frames to obtain the first fused point cloud; K is an integer less than N.
[0113] In some embodiments, different types and scales of obstacles have different requirements for point cloud enhancement. Larger obstacles have a greater number of effective point clouds in the first and second point clouds. Therefore, when performing obstacle recognition, the second point cloud with fewer frames (K frames) is first fused with the first point cloud to form a smaller-scale first fused point cloud, so as to quickly identify obstacles with a relatively concentrated number of points and larger size.
[0114] For example, when the second point cloud has 8 frames (i.e., N=8), you can first use 3 frames (i.e., K=3) of the second point cloud to overlay the first point cloud to obtain the first fused point cloud.
[0115] In some embodiments, since the cleaning device has been displaced and rotated between different frames, the point cloud of each historical frame is in the world coordinate system at its own moment. Therefore, in order to correctly overlay the point clouds of multiple frames, it is also necessary to align the point clouds of each frame.
[0116] For example, the coordinates of the first point cloud are used as a reference to perform coordinate transformation on the second point cloud in K frames to align the first point cloud and the second point cloud in K frames.
[0117] For example, when acquiring the first point cloud and the second point cloud of K frames, the pose data (such as the pose transformation matrix in the world coordinate system) at the corresponding sampling time is read synchronously. According to the coordinate reference corresponding to the first point cloud, the coordinates of the points in each historical point cloud are uniformly transformed to the current reference system.
[0118] For example, position alignment can be performed using the following formula:
[0119]
[0120] in, Let be the pose transformation matrix of the first point cloud. Let be the inverse of the pose transformation matrix of the second point cloud. Let be the coordinates of the second point cloud.
[0121] By using coordinate transformation, point clouds acquired at different sampling times can be accurately aligned in the same reference coordinate system, reducing superposition errors caused by changes in motion posture and improving the spatial consistency of sparse obstacle points. This significantly reduces the probability of missed detections when performing point cloud superposition and obstacle recognition.
[0122] In some embodiments, during overlay, points in point clouds from different frames may fall into the same region (like a single pixel grid cell). Without deduplication, repeated counting of the same spatial location can distort the clustering results. Therefore, to further improve the efficiency and accuracy of obstacle recognition, when overlaying the first point cloud and the K-frame second point cloud, duplicate point clouds between the K-frame second point cloud and the first point cloud can be removed.
[0123] Among them, the repeated point cloud is used to represent the point cloud in the second point cloud of K frames that is at the same position as the first point cloud.
[0124] In some embodiments, a repeating point cloud refers to a point cloud whose three-dimensional coordinates are exactly the same as those of a point in a first point cloud after coordinate transformation, or whose positional overlap is satisfied within a preset distance threshold.
[0125] For example, the determination of duplicate point clouds can be achieved based on coordinate point-by-point comparison, voxel mesh mapping, or hash index retrieval, thereby improving deduplication efficiency.
[0126] For example, when the second point cloud has completed coordinate transformation and is in the same reference coordinate system as the first point cloud, points with the same or similar coordinates can be directly eliminated.
[0127] For example, the first point cloud and the second point cloud can be voxelized. Using the voxel grid of the first point cloud as a reference, points in the second point cloud that are in the same voxel grid as the first point cloud, or points in the second point cloud that are in the neighborhood voxel grid as the first point cloud, can be removed as duplicate point clouds.
[0128] It should be understood that the removal of duplicate point clouds can be completed before point cloud overlay or simultaneously during the overlay process.
[0129] By removing duplicate point clouds that overlap with the first point cloud, points at the same spatial location can be avoided from being repeatedly calculated after fusion. This allows subsequent obstacle recognition to more accurately reflect the true spatial distribution, thus suppressing recognition bias caused by repeated observations, reducing the probability of false detections and false misses, and minimizing resource consumption caused by invalid data participating in calculations. This improves the environmental perception accuracy and operating efficiency of the sweeping cleaning equipment. Especially in home indoor environments, corners, cabinet legs, edges of low objects, and areas near clutter on the floor are prone to forming multiple frames of duplicate observation points. Without deduplication, this can easily lead to artificially high local point density, affecting clustering threshold judgment, target contour extraction, and obstacle boundary determination.
[0130] S602. Obstacle identification is performed based on the first fused point cloud to obtain the first obstacle.
[0131] In some embodiments, obstacle identification can be performed on the first fused point cloud using methods such as point cloud clustering, connected component segmentation, bounding box fitting, or target confidence determination to obtain the first obstacle.
[0132] S603. Remove the point cloud corresponding to the first obstacle from the first point cloud and the second point cloud of N frames to obtain the first target point cloud and the second target point cloud of N frames.
[0133] In some embodiments, when removing the point cloud corresponding to the first obstacle, matching and deletion can be performed in each frame point cloud based on the spatial location, normal distribution, or clustering label of the first obstacle.
[0134] S604. Overlay the first target point cloud and the second target point cloud of frame P to obtain the second fused point cloud; P is an integer greater than K and less than or equal to N.
[0135] In some embodiments, after removing the first obstacle, the first target point cloud and the N-frame second target point cloud include a relatively sparse point cloud of small-sized obstacles that were not successfully clustered in the first stage. To improve the detection success rate of small-sized obstacles, the P-frame second point cloud with a larger number of frames can be fused with the first point cloud to provide more sufficient cross-frame supplementation for small obstacles, thereby improving the detectability of small obstacles.
[0136] For example, when the second target point cloud has 8 frames (i.e., N=8), 7 or more frames of the second target point cloud (i.e., P=7) can be used to overlay the first target point cloud to obtain the second fused point cloud.
[0137] In some embodiments, in order to correctly overlay multiple frames of the second target point cloud with the first target point cloud, it is also necessary to align the coordinates of each frame of point cloud.
[0138] For example, the coordinates of the first target point cloud are used as a reference to perform coordinate transformation on the second target point cloud of frame P to align the first target point cloud and the second target point cloud of frame P.
[0139] It should be understood that the specific implementation of aligning the first target point cloud and the second target point cloud in P-frame is similar to the specific implementation of aligning the first point cloud and the second point cloud in K-frame, and will not be elaborated here.
[0140] In some embodiments, to further improve the efficiency and accuracy of obstacle recognition, when overlaying the first target point cloud and the P-frame second target point cloud, duplicate point clouds between the P-frame second target point cloud and the first target point cloud can be removed.
[0141] It should be understood that the process of removing duplicate point clouds from the second and first target point clouds in P-frame is similar to the process of removing duplicate point clouds from the second and first point clouds in K-frame, and will not be elaborated here.
[0142] By removing duplicate point clouds, the fused point cloud obtained by superposition can more realistically represent the new observation information, which is beneficial to improving the stability of the identification of sparse small obstacles and reducing the subsequent computational burden.
[0143] S605. Obstacle recognition is performed based on the second fused point cloud to obtain the second obstacle.
[0144] In some embodiments, obstacle identification can be performed on the second fused point cloud using methods such as point cloud clustering, connected component segmentation, bounding box fitting, or target confidence determination to obtain the second obstacle.
[0145] After obtaining the first obstacle and the second obstacle, the first obstacle and the second obstacle can be output as the obstacle identification results.
[0146] By dividing the obstacle recognition process into two stages, the first stage uses fewer stacked frames for recognition, which can quickly detect larger obstacles. In the second stage, the identified large obstacles are removed to prevent previously identified targets from continuously interfering with subsequent judgments. At the same time, more true historical point clouds are used to supplement information in sparse areas of a single frame. This improves the detection rate of low, small, or partially occluded obstacles and reduces the probability of noise points being misidentified as obstacles, thereby improving the obstacle avoidance stability and path continuity of cleaning equipment in complex home scenarios.
[0147] In some embodiments, since the moving speed of the cleaning device affects the effectiveness of multi-frame overlay, for example, when the moving speed of the cleaning device is fast, the overlap of the observation areas between consecutive frames is reduced, and the overlay of too many frames introduces invalid data, resulting in missed or false detections of small obstacles, the processor can also adjust the size of P (also known as the value of P) based on the moving speed of the cleaning device.
[0148] The moving speed of the cleaning equipment refers to the amount of displacement of the cleaning equipment per unit time, which can be calculated by a combination of wheel speed sensor, odometer, inertial measurement unit or positioning module.
[0149] For example, after the processor obtains the current moving speed of the cleaning device, it can match the speed with a preset speed threshold or speed range, and determine the value of P accordingly.
[0150] When the cleaning equipment is cruising at low speed, the attitude change is small and the spatial correspondence between the historical point cloud and the current point cloud is relatively stable. Therefore, P can be set to a larger value to overlay more second target point clouds and enhance the accumulation effect of sparse obstacle points. When the cleaning equipment is operating at higher speed, the pose difference between adjacent frames increases, and excessive overlay of historical point clouds can easily introduce spatial deviations. Therefore, P can be set to a smaller value to reduce invalid fusion and reduce computational burden. That is, the value of P is negatively correlated with the moving speed of the cleaning equipment. The higher the moving speed of the cleaning equipment, the smaller the value of P, and the lower the moving speed of the cleaning equipment, the larger the value of P.
[0151] The value of P can be directly output based on a preset speed-size mapping table, or it can be calculated in real time by a continuous function based on the speed. This application does not limit the value of P.
[0152] For example, such as Figure 7 As shown, when the moving speed of the cleaning equipment is greater than 0.2 m / s, the value of P is limited to 3; when the moving speed of the cleaning equipment is less than 0.1 m / s, the value of P is adjusted to 7; and when the moving speed of the cleaning equipment is in the range of 0.1 m / s-0.2 m / s, the value of P is adjusted to 5.
[0153] During the second-stage overlay process, after determining the magnitude of P based on the moving speed of the cleaning equipment, the system selects a corresponding number of second target point clouds from N frames according to the magnitude of P. These second target point clouds are then overlaid together with the first target point cloud to complete the overlay process. Obstacle recognition is then performed based on the updated second fused point cloud. Because P can adaptively change with the moving speed, the system can utilize more historical information to improve the detection rate of small obstacles at low speeds, and suppress cross-frame error accumulation and maintain real-time performance at high speeds. This allows the obstacle recognition process to balance stability, accuracy, and processing efficiency.
[0154] Figure 8 Flowchart of the obstacle recognition method provided in the embodiments of this application Figure 4 ,like Figure 8 As shown, it includes:
[0155] S801, Obtain the moving speed of the cleaning equipment.
[0156] In some embodiments, the moving speed of the cleaning equipment can be estimated by a combination of a wheel speed encoder, an odometer, or an inertial measurement unit to characterize the speed of the cleaning equipment's displacement in an indoor environment.
[0157] S802. When the moving speed is greater than the preset speed, the first point cloud and the second point cloud of K frames are superimposed to obtain the first fused point cloud; K is an integer less than N.
[0158] In some embodiments, after acquiring the current first point cloud, the cleaning device reads its current movement speed and compares it with a preset speed. When the movement speed is greater than the preset speed, it indicates that the cleaning device is currently moving at a relatively fast speed. If too many historical point clouds are superimposed at this time, it is easy to introduce large pose deviations and redundant background points. Therefore, only a small number of K-frames of the second point cloud are selected and fused with the first point cloud for subsequent obstacle recognition.
[0159] In some embodiments, when overlaying a first point cloud and a K-frame second point cloud, coordinate alignment between the first point cloud and the K-frame second point cloud can be performed, and point cloud culling steps can be repeated to improve the accuracy of point cloud overlay. Its specific implementation is as follows... Figure 6 The specific implementation methods in the illustrated embodiments are similar and will not be repeated here.
[0160] S803. Obstacle recognition is performed based on the first fused point cloud to obtain the first obstacle.
[0161] In some embodiments, the processor can perform obstacle identification on the first fused point cloud by means of clustering, connected component analysis or target segmentation, and output the first obstacle.
[0162] After obtaining the first obstacle, the first obstacle can be output as the result of obstacle recognition.
[0163] This embodiment constrains the point cloud overlay scale by controlling the moving speed of the cleaning equipment. This reduces the number of historical point clouds introduced when the cleaning equipment moves quickly, thereby suppressing the interference of invalid, drifting, and duplicate points on the recognition results. Furthermore, when the cleaning equipment moves too fast, only the first stage of point cloud overlay and recognition is performed, omitting the subsequent second stage, which cannot improve the obstacle detection rate, thus effectively improving the efficiency of obstacle recognition.
[0164] During obstacle recognition, because the first fused point cloud retains real-time information from the current frame and overlays a small amount of historical point cloud highly correlated with the current scene, it can enhance the visibility of low-lying obstacles while maintaining real-time performance, thereby improving obstacle recognition stability and reducing the probability of missed detections. For cleaning equipment, this method helps to balance obstacle avoidance reliability and computational efficiency in high-speed cruising scenarios, thus improving operational safety during continuous cleaning.
[0165] Based on the above embodiments, this application also provides a cleaning equipment control method.
[0166] Figure 9 This is a flowchart illustrating the cleaning equipment control method provided in an embodiment of this application, as shown below. Figure 9 As shown, it includes:
[0167] S901: Obtain the first point cloud of the current sampling frame.
[0168] S902: Obtain N frames of the second point cloud from the historical point cloud cache; the first and second point clouds are point clouds obtained by removing the wall point cloud and ground point cloud from the corresponding original point cloud, and N is an integer greater than or equal to 1.
[0169] S903: Selectively overlay the first point cloud and the N-frame second point cloud, and perform obstacle recognition based on the overlaid point cloud.
[0170] The specific implementation of steps S901-S903 in the embodiments of this application can be found in the following reference. Figures 1-8 The specific implementation methods of the corresponding steps in the illustrated embodiments will not be repeated here.
[0171] S904: Control the operation of cleaning equipment based on obstacle recognition results.
[0172] In this embodiment of the application, controlling the operation of the cleaning equipment means that the controller adjusts the motion state and operation strategy of the cleaning equipment according to the obstacle recognition result, so that the cleaning equipment can avoid collision, entanglement, entanglement or accidental crossing of obstacles while ensuring cleaning efficiency.
[0173] Operating states can include at least one of the following: forward, deceleration, stop, reverse, turning in place, detouring, local replanning, suction adjustment, side brush control, and cleaning area marking. The location, range, confidence level, and risk label in the obstacle recognition results can serve as direct inputs for control decisions.
[0174] The processor first maps the obstacle recognition results onto the current travel path of the cleaning equipment, determining whether the obstacle is located in front of, to the side of, or in a non-affected area of the planned path. When the obstacle is in a non-affected area and does not intersect with the preset safety boundary, the cleaning equipment can maintain its current speed and cleaning trajectory. When the obstacle is in front of the planned path and the distance is less than the preset warning distance, the processor can trigger deceleration and call the local path planning module to calculate the detour trajectory. If the obstacle is small and located in an area where the brush or side brush is easily caught, the controller can also simultaneously reduce the side brush speed or temporarily raise certain cleaning components before detouring to reduce disturbance to the obstacle.
[0175] When the confidence level of the obstacle recognition result is high and the obstacle's height and width indicate that it cannot be safely crossed, the processor can directly output a stop command and resample the surrounding environment after the machine stops to verify the continued existence of the obstacle. If the verification result still indicates that there is an obstacle ahead, the system will retreat a certain distance and replan the path; if the verification result indicates that the obstacle has disappeared or was determined to be a misidentification, the system will resume operation. This verification mechanism can further reduce unnecessary detours caused by point cloud errors in high-risk scenarios. For long, low-lying objects such as data cables and shoelace edges, the system can also mark them as high-risk obstacles for entanglement based on the shape characteristics of the recognition result, and set a larger avoidance radius during planning to prevent the roller brush or side brush from getting caught.
[0176] The control method for cleaning equipment provided in this application, by directly using multi-frame enhanced recognition results for motion decision-making, enables the cleaning equipment to detect and avoid small obstacles that are originally difficult to reliably identify in a single frame earlier. As a result, the probability of small items scattered on the ground by users being bumped, pushed, rolled into, or crushed is significantly reduced, and cleaning interruptions caused by jamming or accidental collisions are also reduced accordingly.
[0177] This application also provides a cleaning device.
[0178] Figure 10 This is a schematic diagram of the structure of the cleaning device 100 provided in the embodiments of this application, as shown below. Figure 10 As shown, the electronic device may include: a transceiver 1001, a processor 1002, and a memory 1003.
[0179] Processor 1002 executes computer execution instructions stored in memory, causing processor 1002 to perform the scheme in the above embodiments. Processor 1002 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0180] The memory 1003 is connected to the processor 1002 via the system bus and completes communication between them. The memory 1003 is used to store computer program instructions.
[0181] Transceiver 1001 can receive and send data and instructions.
[0182] Optionally, the electronic device 100 may also include a communication interface to communicate and interact with external or internal devices, such as client devices (e.g., mobile phones, tablets). In specific implementations, if the communication interface, memory 1003, and processor 1002 are implemented independently, they can be interconnected via a bus to complete communication with each other.
[0183] The system bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The system bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in the diagram, but this does not indicate that there is only one bus or one type of bus. Transceivers are used to enable communication between database access devices and other computers (e.g., clients, read-write libraries, and read-only libraries). Memory may include random access memory (RAM) and may also include non-volatile memory.
[0184] Optionally, in a specific implementation, if the communication interface, memory 1003, and processor 1002 are integrated on a single chip, then the communication interface, memory 1003, and processor 1002 can communicate through an internal interface.
[0185] This application also provides a chip for executing instructions, which is used to execute the technical solutions of the methods described in the above embodiments.
[0186] This application also provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it implements the technical solution of the above method embodiment. Its implementation principle and technical effect are similar, and will not be repeated here.
[0187] In one possible implementation, a computer-readable medium may include random access memory (RAM), read-only memory (ROM), compact discread-only memory (CD-ROM) or other optical disc storage, disk storage or other magnetic storage devices, or any other medium targeted to carry or to store the required program code in the form of instructions or data structures, and accessible by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. As used herein, disks and optical discs include optical discs, laser discs, optical discs, Digital Versatile Discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0188] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the technical solution of the above method embodiments. Its implementation principle and technical effects are similar, and will not be repeated here.
[0189] In the specific implementation of the aforementioned terminal device or server, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.
[0190] Those skilled in the art will understand that all or part of the steps in any of the above method embodiments can be implemented by hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, all or part of the steps in the above method embodiments are performed.
[0191] If the technical solution of this application is implemented in software form and sold or used as a product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product, which is stored in a storage medium and includes a computer program or several instructions. This computer software product enables a computer device (which may be a personal computer, server, network device, or similar electronic device) to execute all or part of the steps of the methods in the embodiments of this application.
[0192] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.
[0193] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0194] It should be understood that the above-described device embodiments are merely illustrative, and the device of this application can also be implemented in other ways. For example, the division of units / modules in the above embodiments is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units, modules, or components may be combined, or integrated into another system, or some features may be ignored or not executed.
[0195] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or in the form of software program modules.
[0196] When integrated units / modules are implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. Unless otherwise specified, the processor can be any suitable hardware processor, such as a CPU, GPU, FPGA, DSP, and ASIC, etc. Unless otherwise specified, the storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.
[0197] If the integrated unit / module is implemented as a software program module and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0198] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.
[0199] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. An obstacle recognition method, characterized in that, include: Obtain the first point cloud of the current sampled frame; Obtain N frames of the second point cloud from the historical point cloud cache; The first point cloud and the second point cloud are point clouds obtained by removing the wall point cloud and the ground point cloud from the corresponding original point cloud, and N is an integer greater than or equal to 1; The first point cloud and the N frames of the second point cloud are selectively superimposed, and obstacle recognition is performed based on the superimposed point cloud.
2. The method according to claim 1, characterized in that, The step of obtaining N frames of the second point cloud from the historical point cloud cache includes: M frames of the second point cloud are obtained from the historical point cloud cache; M is an integer greater than or equal to 2. From the second point cloud in the M frames, remove the second point cloud that meets the preset conditions to determine the second point cloud in the N frames; The preset conditions include at least one of the following: The sampling time difference between the second point cloud and the first point cloud is greater than a preset time. The cumulative displacement of the second point cloud and the first point cloud is greater than the preset displacement.
3. The method according to claim 1 or 2, characterized in that, The selective overlay of the first point cloud and N frames of the second point cloud, and the obstacle recognition based on the overlaid point cloud, includes: The first point cloud and the second point cloud of K frames are superimposed to obtain the first fused point cloud; where K is an integer less than N. Obstacle identification is performed based on the first fused point cloud to obtain the first obstacle; Remove the point cloud corresponding to the first obstacle from the first point cloud and the second point cloud of N frames to obtain the first target point cloud and the second target point cloud of N frames; The first target point cloud and the second target point cloud in frame P are superimposed to obtain a second fused point cloud; where P is an integer greater than K and less than or equal to N; Obstacle identification is performed based on the second fused point cloud to obtain the second obstacle.
4. The method according to claim 1 or 2, characterized in that, The selective overlay of the first point cloud and N frames of the second point cloud, and the obstacle recognition based on the overlaid point cloud, includes: Obtain the moving speed of the cleaning equipment; When the moving speed is greater than a preset speed, the first point cloud and the second point cloud of K frames are superimposed to obtain a first fused point cloud; where K is an integer less than N; Obstacle identification is performed based on the first fused point cloud to obtain the first obstacle.
5. The method according to claim 3, characterized in that, When the moving speed of the cleaning equipment is less than the preset speed, the magnitude of P is negatively correlated with the moving speed.
6. The method according to claim 3, characterized in that, Before overlaying the first point cloud and the K-frame second point cloud, the method further includes: Using the coordinate system of the first point cloud as a reference, perform coordinate transformation on the second point cloud in K frame or the second target point cloud in P frame.
7. The method according to claim 3, characterized in that, The method further includes: Remove duplicate point clouds from the second point cloud in K-frame or the second target point cloud in P-frame; the duplicate point clouds are used to represent point clouds in the second point cloud in K-frame or the second target point cloud in P-frame that are at the same position as the first point cloud.
8. The method according to claim 1 or 2, characterized in that, The method further includes: Write the first point cloud into the historical point cloud cache area; If the number of point clouds in the historical point cloud cache exceeds the upper limit, the point cloud with the longest write time in the historical point cloud cache will be removed.
9. A method for controlling cleaning equipment, characterized in that, include: Obtain the first point cloud of the current sampled frame; Obtain N frames of the second point cloud from the historical point cloud cache; The first point cloud and the second point cloud are point clouds obtained by removing the wall point cloud and the ground point cloud from the corresponding original point cloud, and N is an integer greater than or equal to 1; The first point cloud and the N frames of the second point cloud are selectively superimposed, and obstacle recognition is performed based on the superimposed point cloud; The operation of the cleaning equipment is controlled based on the obstacle recognition results.
10. A cleaning device, characterized in that, include: The processor, transceiver, and memory are provided; the processor is communicatively connected to both the transceiver and the memory. The memory stores computer-executed instructions; The transceiver communicates and interacts with external devices. The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-9.
11. A computer-readable storage medium, characterized in that, It stores a computer program, which is executed by a processor to implement the method of any one of claims 1-9.
12. A computer program product, characterized in that, Includes a computer program that, when executed by a controller, implements the method of any one of claims 1-9.