Obstacle recognition method, storage medium, electronic equipment and program product

By using lidar to collect data on mobile devices, clustering and obstacle tracking of dynamic laser point clouds is solved, and the accuracy and navigation capabilities of dynamic obstacle recognition are improved.

CN119644355AActive Publication Date: 2025-03-18ZHEJIANG ZHIDING ROBOT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411692471.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-22
Publication Date
2025-03-18
Estimated Expiration
2044-11-22

AI Technical Summary

Technical Problem

Traditional obstacle recognition methods mainly determine whether the obstacle is a dynamic obstacle through the shape of the obstacle, resulting in low recall and poor accuracy, which affects the reliability of obstacle avoidance from mobile devices.

Method used

By determining the dynamic laser point cloud based on the scanning data collected by the lidar on the self-mobile device deployed with the lidar, clustering, tracking the first obstacle and calculating its movement speed, and then identifying the real dynamic obstacle.

Benefits of technology

Improve the accuracy of dynamic obstacle recognition and optimize the navigation and path planning capabilities of self-mobile devices in dynamic environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119644355A_ABST
    Figure CN119644355A_ABST
Patent Text Reader

Abstract

The invention provides an obstacle recognition method, a storage medium, electronic equipment and a program product, and relates to the field of data processing. The obstacle identification method comprises the following steps: determining a dynamic laser point cloud based on scanning data collected by a laser radar; clustering the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud; tracking the first obstacle, and determining the moving speed of the first obstacle; and determining the first obstacle of which the moving speed is greater than the target speed as a second obstacle in the dynamic laser point cloud. According to the invention, the accuracy of dynamic obstacle identification is improved, and the navigation and path planning capabilities of the self-moving equipment in a dynamic environment can be further optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to an obstacle identification method, a storage medium, an electronic device and a program product. Background Art

[0002] When operating, autonomous vehicles usually need to distinguish the types of obstacles so that they can take appropriate measures to avoid them. For example, when facing a dynamic obstacle, the autonomous vehicle needs to estimate its direction of movement in order to intelligently avoid the obstacle or stop to give way when necessary; for static obstacles, it needs to quickly plan a new path to bypass the obstacle. However, traditional obstacle recognition methods mainly judge whether it is a dynamic obstacle based on the shape of the obstacle. This method has the problems of low recall rate and poor precision, resulting in low reliability in practical applications. Summary of the invention

[0003] In view of this, embodiments of the present application provide an obstacle recognition method, a storage medium, an electronic device, and a program product.

[0004] In a first aspect, an embodiment of the present application provides an obstacle identification method, which is applied to a self-moving device deployed with a laser radar, the method comprising: determining a dynamic laser point cloud based on scanning data collected by the laser radar; clustering the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud; tracking the first obstacle to determine the moving speed of the first obstacle; and determining the first obstacle whose moving speed is greater than the target speed as a second obstacle in the dynamic laser point cloud.

[0005] In combination with the first aspect, in some implementations of the first aspect, clustering the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud includes: for each laser point in the dynamic laser point cloud, determining a distance difference between the laser point and an adjacent laser point of the laser point, wherein the adjacent laser point of the laser point is a laser point to which cluster the adjacent laser point belongs to after previous iterative calculation; based on a size relationship between the distance difference and a target distance difference threshold, determining whether the laser point and the adjacent laser point belong to the same cluster, wherein the target distance difference threshold is adjusted when the adjacent laser points are iteratively calculated to which cluster they belong; and determining the first obstacle in the dynamic laser point cloud based on the clusters in the dynamic laser point cloud.

[0006] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: if the laser point and the adjacent laser point are in the same cluster, adjusting the target distance difference threshold based on the distance difference; if the laser point and the adjacent laser point are not in the same cluster, adjusting the target distance difference threshold based on the measured distance value of the laser point and the angle increment between the laser point and the adjacent laser point.

[0007] In combination with the first aspect, in some implementations of the first aspect, adjusting the target distance difference threshold based on the distance difference value includes: adjusting the target distance difference threshold to a first target multiple of a larger value between the distance difference value and the target distance difference threshold.

[0008] In combination with the first aspect, in certain implementations of the first aspect, adjusting the target distance difference threshold based on the measured distance value of the laser point and the angle increment between the laser point and an adjacent laser point includes: determining the product result of the measured distance value of the laser point and the angle increment; and adjusting the target distance difference threshold to a second target multiple of the product result.

[0009] In combination with the first aspect, in some implementations of the first aspect, determining a first obstacle in the dynamic laser point cloud based on a cluster in the dynamic laser point cloud includes: determining a size of the cluster in the dynamic laser point cloud; determining a cluster whose size meets a target condition as the first obstacle in the dynamic laser point cloud; preferably, the target condition includes: a radius smaller than a target length.

[0010] In combination with the first aspect, in some implementations of the first aspect, tracking the first obstacle and determining the moving speed of the first obstacle includes: for each frame of scanning data collected by the laser radar, determining the moving speed of each first obstacle C in the current frame of scanning data i The respective position parameters, (i∈{1,…,N k}), N k Indicates the number of first obstacles in the current frame scan data; based on each first obstacle C i The respective position parameters are determined in the previous frame of scanning data and are related to each first obstacle C i The first obstacle C with the shortest distance j ,(j∈{1,…,N k―1}), N k―1 Indicates the number of the first obstacle in the previous frame of scan data; if the first obstacle C j With the first obstacle C i If the shortest distance of the target obstacle is less than the target obstacle following distance threshold, then based on the first obstacle C j With the first obstacle C i The respective distance parameters determine the first obstacle C i moving speed.

[0011] In combination with the first aspect, in some implementations of the first aspect, the method further includes: if the first obstacle C j With the first obstacle C i The shortest distance is not less than the target obstacle following distance threshold, then the first obstacle C is determined i It is the second obstacle in the dynamic laser point cloud.

[0012] In combination with the first aspect, in certain implementations of the first aspect, a dynamic laser point cloud is determined based on scanning data collected by the laser radar, including: generating a raster map based on the scanning data collected by the laser radar; mapping each laser point contained in the scanning data to the raster map; if the laser point falls into a drivable area of ​​the grid map, determining that the laser point is a dynamic laser point cloud.

[0013] In combination with the first aspect, in certain implementations of the first aspect, a grid map is generated based on scanning data collected by a lidar, including: creating a blank grid map of a target size; based on each frame of scanning data, determining a penetration grid between a laser starting point and a laser point in the blank grid map; determining attribute information of the penetration grid to obtain a grid map, wherein the attribute information includes category information and coordinate information of the penetration grid.

[0014] In combination with the first aspect, in certain implementations of the first aspect, the attribute information of the penetration grid is determined, including: for each penetration grid, recording a first number of penetration grids hit by the laser beam and a second number of penetration grids not hit by the laser beam; if the first number is not less than the second number, determining the category information of the penetration grid to be an occupied grid, and the occupied grid represents an obstacle area; if the first number is less than the second number, determining the category information of the penetration grid to be an idle grid, and the idle grid represents a drivable area; if the first number and the second number are both zero, determining the category information of the penetration grid to be an unknown grid, and the unknown grid represents an unknown area.

[0015] In combination with the first aspect, in certain implementations of the first aspect, determining the attribute information of the penetration grid includes: determining the slope K of the straight line from the laser starting point to the laser point and the resolution P of the blank grid map; if the absolute value of the slope K is greater than 1, determining that the ordinate of the penetration grid between the laser starting point and the laser point is an arithmetic sequence with an interval of P, and the abscissa is an arithmetic sequence with an interval of K*P; if the absolute value of the slope K is less than 1, determining that the abscissa of the penetration grid between the laser starting point and the laser point is an arithmetic sequence with an interval of P, and the ordinate is an arithmetic sequence with an interval of P / K; based on the current posture of the laser radar and the arithmetic relationship between the abscissa and the ordinate of the penetration grid, determining the coordinate information of each penetration grid.

[0016] In the second aspect, an embodiment of the present application provides an obstacle identification device, which is applied to a self-moving device deployed with a laser radar, and the device includes: a first determination module, which is used to determine a dynamic laser point cloud based on scanning data collected by the laser radar; a clustering module, which is used to cluster the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud; a tracking module, which is used to track the first obstacle and determine the moving speed of the first obstacle; a second determination module, which is used to determine the first obstacle whose moving speed is greater than the target speed as a second obstacle in the dynamic laser point cloud.

[0017] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and the computer program is used to execute the obstacle recognition method described in the first aspect.

[0018] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: a processor; a memory for storing instructions executable by the processor; and the processor is used to execute the obstacle recognition method described in the first aspect.

[0019] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes instructions, and when the instructions are executed on an electronic device, the electronic device implements the obstacle recognition method described in the first aspect.

[0020] In the present application, the scanning data collected by the laser radar is used to first determine the dynamic laser point cloud, which can capture the dynamic changes in the environment and provide a basis for the subsequent dynamic obstacle identification. Next, the dynamic laser point cloud is clustered and analyzed to effectively separate the potential dynamic obstacles from the background, thereby forming a preliminary identification of the first obstacle. Furthermore, by tracking these first obstacles and calculating their moving speed, the real dynamic obstacles, namely the second obstacles, can be accurately identified. The method in this embodiment not only improves the accuracy of dynamic obstacle identification, but also further optimizes the navigation and path planning capabilities of the self-mobile device in a dynamic environment. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] By describing the embodiments of the present application in more detail in conjunction with the accompanying drawings, the above and other purposes, features and advantages of the present application will become more apparent. The accompanying drawings are used to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the accompanying drawings, the same reference numerals generally represent the same components or steps.

[0022] Figure 1 The figure is a flow chart of an obstacle identification method provided in one embodiment of the present application.

[0023] Figure 2 The figure is a schematic diagram of a process of clustering a dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud provided by an embodiment of the present application.

[0024] Figure 3 Shown is a schematic diagram of laser emission provided in an embodiment of the present application.

[0025] Figure 4 The figure is a schematic diagram of a process of determining a first obstacle in a dynamic laser point cloud based on a cluster in the dynamic laser point cloud provided by an embodiment of the present application.

[0026] Figure 5 The figure is a schematic diagram of a flow chart of determining the moving speed of a first obstacle provided by an embodiment of the present application.

[0027] Figure 6 The figure is a schematic diagram of a process for determining a dynamic laser point cloud provided in an embodiment of the present application.

[0028] Figure 7 Shown is a schematic diagram of a grid map provided in an embodiment of the present application.

[0029] Figure 8 The figure is a schematic diagram of a process of generating a grid map provided in an embodiment of the present application.

[0030] Fig. 9 FIG. 1 is a schematic diagram of the structure of an obstacle recognition device provided in one embodiment of the present application.

[0031] Fig.10 Shown is a schematic structural diagram of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0032] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0033] Figure 1 The figure is a flow chart of an obstacle identification method provided by an embodiment of the present application. Exemplarily, the method is applied to a self-moving device equipped with a laser radar, for example, the self-moving device is a transport robot. The method comprises the following steps.

[0034] Step S110, determining a dynamic laser point cloud based on the scanning data collected by the laser radar.

[0035] The scanning data collected by the laser radar refers to the environmental information obtained by the laser radar by emitting laser beams and receiving reflected laser points when performing environmental detection. For example, the scanning data includes parameters such as the position, intensity, timestamp, and distance of the laser points. Dynamic laser point clouds refer to the laser points related to dynamic obstacles in these scanning data.

[0036] In some embodiments, a dynamic point cloud analysis model based on time series is used to identify dynamic laser point clouds. Exemplarily, the dynamic point cloud analysis model first extracts key features from the scanning data collected by the laser radar, including the position, reflection intensity and timestamp of the laser point. Then, these features are used to establish a correspondence between consecutive scanning frames, and the dynamic laser point cloud is detected by comparing the changes of laser points at the same position or adjacent positions in scanning frames at different times.

[0037] Step S120: clustering the dynamic laser point cloud to obtain the first obstacle in the dynamic laser point cloud.

[0038] The first obstacle refers to one or more potential dynamic obstacles identified from the dynamic laser point cloud.

[0039] In some embodiments, feature extraction is performed on points in the dynamic laser point cloud, and then a clustering algorithm, such as DBSCAN or K-means algorithm, is used to group the points according to their features to form different clusters, each cluster representing a set of potential obstacles.

[0040] Step S130: Track the first obstacle and determine the moving speed of the first obstacle.

[0041] Exemplarily, a unique identifier is assigned to each first obstacle, and then the position change of each obstacle in the time series is estimated using the optical flow algorithm. Based on the position change of the same obstacle in the time series, its velocity vector, that is, the magnitude and direction of the velocity, is calculated.

[0042] Step S140: Determine the first obstacle whose moving speed is greater than the target speed as the second obstacle in the dynamic laser point cloud.

[0043] The second obstacle refers to a real dynamic obstacle. For example, the moving speed of each first obstacle is compared with a preset target speed. If the moving speed of a first obstacle exceeds the target speed, it is marked as a second obstacle, that is, a real dynamic obstacle.

[0044] In this embodiment, the scanning data collected by the laser radar is used to first determine the dynamic laser point cloud, which can capture the dynamic changes in the environment and provide a basis for the subsequent dynamic obstacle identification. Next, the dynamic laser point cloud is clustered and analyzed to effectively separate the potential dynamic obstacles from the background, thus forming a preliminary identification of the first obstacle. Furthermore, by tracking these first obstacles and calculating their moving speed, the real dynamic obstacles, i.e., the second obstacles, can be accurately identified. The method in this embodiment not only improves the accuracy of dynamic obstacle identification, but also further optimizes the navigation and path planning capabilities of the self-mobile device in a dynamic environment.

[0045] Figure 2 The figure shows a schematic diagram of a process of clustering a dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud provided by an embodiment of the present application. Figure 1 Based on the embodiment shown, Figure 2 The embodiment shown is described below in detail. Figure 2 The embodiment shown and Figure 1 The differences and similarities of the illustrated embodiments are not described in detail.

[0046] like Figure 2 As shown, in this embodiment, clustering the dynamic laser point cloud to obtain the first obstacle in the dynamic laser point cloud includes the following steps.

[0047] Step S210: for each laser point in the dynamic laser point cloud, determine the distance difference between the laser point and its adjacent laser points.

[0048] Specifically, the adjacent laser point of the laser point is the laser point that was previously iteratively calculated to belong to which cluster. Figure 3 FIG. 1 is a schematic diagram of laser emission provided by an embodiment of the present application. Figure 3 As shown, the laser radar emits a series of laser beams, which intersect with obstacles in the environment to form a series of laser points, which are marked with numbers 0, 1, 2...13, 14, 15. In addition, these laser points are stored in the data structure in the order in which they are scanned, so each laser point can be compared with its adjacent laser points before and after to calculate the distance difference between the two.

[0049] For example, the distance difference between the laser point and the adjacent laser points of the laser point is calculated using the Euclidean distance or the Manhattan distance. The Euclidean distance calculation involves a square root calculation, which is inefficient; the Manhattan distance calculation is efficient, but when the distance is large, it is significantly different from the Euclidean distance. In practical applications, the appropriate distance difference calculation method can be selected according to specific needs.

[0050] Step S220: determining whether the laser point and the adjacent laser point are in the same cluster based on the magnitude relationship between the distance difference value and the target distance difference threshold.

[0051] In this embodiment, the target distance difference threshold is a preset parameter used to determine whether two laser points are close enough to be classified into the same cluster. Exemplarily, the target distance difference threshold is set based on the measurement accuracy of the laser radar, environmental characteristics, and the expected size of the obstacle.

[0052] In some embodiments, if the distance difference is less than the target distance difference threshold, this indicates that the distance between the two laser points is close enough, and they are likely to be part of the same obstacle, so the laser point is grouped into the same cluster with the adjacent laser points. On the contrary, if the distance difference is greater than or equal to the target distance difference threshold, this indicates that the distance between the two laser points is far, and they may belong to different obstacles or different parts, so the laser point cannot be grouped into the same cluster with the adjacent laser points.

[0053] It should be noted that the target distance difference threshold is adjusted when adjacent laser points are iteratively calculated to which cluster they belong, that is, the target distance difference threshold is not a fixed parameter.

[0054] In some embodiments, if the laser point and the adjacent laser point are in the same cluster, the target distance difference threshold is adjusted based on the distance difference value; if the laser point and the adjacent laser point are not in the same cluster, the target distance difference threshold is adjusted based on the measured distance value of the laser point and the angle increment between the laser point and the adjacent laser point.

[0055] Specifically, when a laser point and an adjacent laser point are judged to be in the same cluster, it means that the distance difference between them is small, that is, the laser point and the adjacent laser point are closely connected in space. Therefore, adjusting the target distance difference threshold based on the distance difference can make the threshold closer to the actual conditions of the current environment, improve the accuracy of clustering, and ensure that the laser points belonging to the same cluster will not be mistakenly separated due to an excessively high target distance difference threshold.

[0056] On the contrary, if the laser point does not belong to the same cluster as the adjacent laser points, it means that the distance difference between them is large, or their spatial distribution is significantly different. The measured distance value provides the specific position information of the laser point relative to the laser starting point of the lidar, and the angle increment provides the distribution information of the obstacle in different directions. Combining these two parameters, the characteristics of the obstacle can be captured more accurately, and then the target distance difference threshold can be dynamically adjusted to adapt to the recognition of different obstacles, thereby improving the clustering effect and the accuracy of obstacle recognition.

[0057] This adaptive adjustment mechanism of the target distance difference threshold based on actual measurement data makes the clustering algorithm more flexible and accurate, able to cope with complex and changing environments, and provide more reliable data support for obstacle identification.

[0058] Next, two implementation methods are specifically analyzed to explain how to adjust the target distance difference threshold when the laser point and the adjacent laser points are in the same cluster; and how to adjust the target distance difference threshold when the laser point and the adjacent laser points are not in the same cluster.

[0059] In one example, when the laser point and the adjacent laser point are in the same cluster: the target distance difference threshold is adjusted to a first target multiple of a larger value of the distance difference value and the target distance difference threshold.

[0060] For example, the current target distance difference threshold is 0.5 meters, and the distance difference between the laser point and its adjacent laser point is 0.4 meters. Therefore, the laser point and its adjacent laser point are in the same cluster. Then, the target distance difference threshold is adjusted to the first target multiple of the larger value of the distance difference and the current target distance difference threshold. In this example, it needs to be adjusted to the first target multiple of 0.5. Assuming the first target multiple is 2 times, the target distance difference threshold needs to be adjusted to 1 meter. This means that only when the distance difference between the subsequent laser point and the adjacent laser point is less than or equal to 1 meter, it will be considered close enough to be classified into the same cluster.

[0061] In this example, the larger value of the distance difference and target distance difference threshold is selected to adapt to the change of the maximum distance difference between laser points in the actual environment, ensuring that the clustering result is still valid even when the distance difference changes greatly. Setting the target distance difference threshold to the first target multiple of the larger value can provide a buffer for possible larger distance difference changes while maintaining clustering stability, reducing frequent threshold adjustments caused by small measurement errors or environmental noise, thereby improving the stability of the clustering process.

[0062] In another example, when the laser point and the adjacent laser points are not in the same cluster, the product of the measured distance value of the laser point and the angle increment is determined; and the target distance difference threshold is adjusted to a second target multiple of the product result.

[0063] Specifically, the measured distance value represents the distance from the laser starting point to the obstacle, and the angle increment represents the angle difference between the laser point and the adjacent laser point, which reflects the position change of the laser point within the laser radar scanning sector. The product obtained by multiplying these two values ​​represents the change in distance at a given angle increment, which can be regarded as an indicator of the density or distribution characteristics of the local area in the dynamic laser point cloud. Accordingly, adjusting the target distance difference threshold to the product result multiplied by a second target multiple can adapt it to the density and distribution characteristics of different areas in the dynamic laser point cloud, so as to more accurately distinguish different obstacles or different parts of obstacles. Similarly, this dynamic adjustment mechanism based on the product result also enables the clustering algorithm to flexibly respond to changes in the environment and improve the accuracy and robustness of clustering, especially in the case of obstacles with irregular edges or shapes, and can more effectively identify and distinguish adjacent laser points belonging to different clusters.

[0064] Step S230: determining a first obstacle in the dynamic laser point cloud based on the clusters in the dynamic laser point cloud.

[0065] Specifically, each cluster represents a group of spatially close laser points, which may belong to the same obstacle. Exemplarily, the characteristics of each cluster, such as the number of laser points in the cluster, are checked, and if the number of laser points is greater than a target value, the cluster is determined to be the first obstacle.

[0066] In this embodiment, by calculating the distance difference between each laser point and its previous laser point, the spatial relationship between the laser points can be quantified. Then, the dynamically adjusted target distance difference threshold is used to determine whether these laser points belong to the same cluster, which improves the flexibility and accuracy of clustering. Finally, based on these dynamically formed clusters, the first obstacle in the dynamic laser point cloud, that is, the potential dynamic obstacle, can be determined, which provides a basis for subsequent obstacle tracking and obstacle avoidance, enabling the self-moving device to navigate and avoid obstacles more effectively in complex environments.

[0067] The previous embodiment briefly introduces how to determine the first obstacle by the number of laser points in a cluster. Next, a more detailed and accurate method is introduced, that is, how to determine the first obstacle based on the size of the cluster.

[0068] Specifically, Figure 4 The figure shows a flow chart of determining the first obstacle in the dynamic laser point cloud based on the clusters in the dynamic laser point cloud provided by an embodiment of the present application. Figure 2 Based on the embodiment shown, Figure 4 The embodiment shown is described below in detail. Figure 4 The embodiment shown and Figure 2 The differences and similarities of the illustrated embodiments are not described in detail.

[0069] like Figure 4 As shown, in this embodiment, determining the first obstacle in the dynamic laser point cloud based on the cluster in the dynamic laser point cloud includes the following steps.

[0070] Step S410, determining the size of the cluster in the dynamic laser point cloud.

[0071] Illustratively, the size of a cluster comprises a radius of the cluster.

[0072] In some embodiments, a starting laser point and an ending laser point of the cluster are determined; a Euclidean distance between the starting laser point and the ending laser point is determined; and a radius of the cluster is determined based on the Euclidean distance between the starting laser point and the ending laser point.

[0073] For example, the starting laser point and the ending laser point of the cluster represent the farthest points of the cluster in space. Then, the Euclidean distance between the two endpoints is calculated, that is, the straight-line distance between the two points in three-dimensional space. This distance reflects the extension range of the cluster in space. Finally, half of the Euclidean distance is the radius of the cluster, which can be regarded as a size indicator of the cluster to help determine whether the cluster represents an actual obstacle.

[0074] Step S420: determine the cluster whose size meets the target condition as the first obstacle in the dynamic laser point cloud.

[0075] Optionally, the target condition includes: the radius is less than the target length. That is, if the radius of the cluster is less than the preset target length, then the cluster is determined to be the first obstacle in the dynamic laser point cloud. If the radius of the cluster is not less than the preset target length, then the cluster is determined not to be the first obstacle in the dynamic laser point cloud. Exemplarily, the target length is 2 meters.

[0076] It is understandable that in the operation scenarios of self-moving devices (such as food delivery robots, transportation robots), dynamic obstacles usually do not reach a large size (such as 2 meters). Therefore, if the radius of a cluster exceeds this target length, it is more likely to be a static large structure such as a building, wall or other fixed obstacle, rather than a moving first obstacle.

[0077] In this embodiment, the target condition is set as the radius is smaller than the target length, which is based on a reasonable estimation of the size of dynamic obstacles in the actual scene. This condition helps to filter out clusters with smaller sizes that are more likely to be dynamic obstacles. Therefore, this embodiment not only improves the accuracy of obstacle detection, but also reduces false alarms, so that the self-moving device can respond to real obstacles more effectively.

[0078] Figure 5 FIG. 1 is a flow chart of determining the moving speed of the first obstacle provided by an embodiment of the present application. Figure 1 Based on the embodiment shown, Figure 5 The embodiment shown is described below in detail. Figure 5 The embodiment shown and Figure 1 The differences and similarities of the illustrated embodiments are not described in detail.

[0079] like Figure 5 As shown, in this embodiment, tracking the first obstacle and determining the moving speed of the first obstacle include the following steps.

[0080] Step S510: for each frame of scan data collected by the laser radar, determine each first obstacle C in the current frame of scan data i The respective position parameters.

[0081] (i∈{1,…,N k}), N k Indicates the number of first obstacles in the current frame scan data. The position parameters include the horizontal and vertical coordinates and the radius of the first obstacle.

[0082] Step S520, based on each first obstacle C i The respective position parameters are determined in the previous frame of scanning data and are related to each first obstacle C i The first obstacle C with the shortest distance j .

[0083] (j∈{1,…,N k―1}), N k―1 Indicates the number of the first obstacle in the previous frame of scanning data.

[0084] For example, the first obstacle C i and any first obstacle C in the previous frame of scan data h The distance between

[0085] Among them, x i Indicates the first obstacle C i The horizontal axis, y i Indicates the first obstacle C i The vertical coordinate, r i Indicates the first obstacle C i The radius of x h Indicates the first obstacle C h The horizontal axis, y h Indicates the first obstacle C h The vertical coordinate, r h Indicates the first obstacle C h The radius of .

[0086] Then, after determining the first obstacle C iand the first obstacle C h After that, the distance between each first obstacle C can be determined. i The first obstacle C with the shortest distance j .

[0087] Step S530: If the first obstacle C j With the first obstacle C i If the shortest distance of the target obstacle is less than the target obstacle following distance threshold, then based on the first obstacle C j With the first obstacle C i The respective distance parameters determine the first obstacle C i moving speed.

[0088] Specifically, if the first obstacle C j With the first obstacle C i If the shortest distance of is less than the target obstacle following distance threshold, the first obstacle C is determined i Based on the motion state observation data, the motion state prediction data is corrected to obtain the first obstacle C i Based on the motion state correction data, calculate the first obstacle C i moving speed.

[0089] In some embodiments, based on the sampling time interval of two adjacent frames of scanning data, a state transfer matrix is ​​determined, where the state transfer matrix is ​​used to describe the evolution relationship of the motion state of the first obstacle over time; and the first obstacle C is determined. j The motion state prediction data of the first obstacle C j The motion state prediction data and state transfer matrix are used to determine the first obstacle C i The motion state prediction data.

[0090] Exemplarily, the state transition matrix is in, T p represents the sampling time interval between two adjacent frames of scan data. Assume that q k―1 Indicates the first obstacle C in the previous frame of scan data j The motion state prediction data of the first obstacle C in the current frame scanning data i Motion status prediction data

[0091] In some embodiments, an observation matrix is ​​determined, where the observation matrix is ​​used to describe the motion state variables that can be measured by the sensor; based on the observation matrix and the first obstacle C in the current frame scanning data, iThe motion state prediction data is used to determine the first obstacle C in the current frame scan data. i The motion state observation data.

[0092] For example, the observation matrix is The first obstacle C in the current frame scan data i Observation data of motion state

[0093] For example, assuming that the first obstacle C i The motion state correction data includes the horizontal coordinate correction data x0 and the vertical coordinate correction data y0. Then, the first obstacle C i Movement speed in, represents the derivative of x0, Represents the reciprocal of y0.

[0094] In this embodiment, by analyzing each frame of scanning data collected by the laser radar, the position parameters of each first obstacle in the current frame of scanning data can be determined, providing a data basis for subsequent tracking. Then, using these position parameters, the first obstacle with the shortest distance to each first obstacle in the current frame of scanning data is found in the previous frame of scanning data, and then the obstacle correspondence between consecutive frames is established. When the shortest distance between the corresponding obstacles in two adjacent frames of scanning data is less than the target obstacle following distance threshold, these obstacles can be considered to be the positions of the same obstacle at different time points, so that the moving speed of each first obstacle in the current frame of scanning data can be calculated based on these distance parameters, which helps to predict the future position of the first obstacle and facilitates path planning for self-mobile devices.

[0095] exist Figure 5 In the illustrated embodiment, the focus is on determining the moving speed of the first obstacles by comparing their position changes in the continuous frame scan data. However, there are some cases where the shortest distance between obstacles is not less than the target obstacle following distance threshold, that is, an obstacle that belongs to the same obstacle as the first obstacle in the current frame scan data cannot be tracked in the previous frame scan data. In this case, the first obstacle in the current frame scan data is determined as a real dynamic obstacle in the dynamic laser point cloud. That is, if the first obstacle C j With the first obstacle C i The shortest distance is not less than the target obstacle following distance threshold, then the first obstacle C is determined i It is the second obstacle in the dynamic laser point cloud.

[0096] It is understandable that in some cases, the first obstacle may not be detected in the previous frame of scanning data due to rapid movement, sudden appearance or the scanning characteristics of the laser radar. These first obstacles are still regarded as real dynamic obstacles to ensure that the self-moving device will not ignore any obstacles that may affect navigation. i The moving speed is zero, which is when there is not enough information to determine the first obstacle C i When the actual moving speed of the obstacle is not taken into account, a conservative strategy is adopted, that is, assuming that the obstacle has not moved at the most recent time point, thereby avoiding obstacle avoidance errors caused by incorrect motion prediction. This method helps the self-moving device to maintain stable and safe operation in the face of rapidly changing environments. At the same time, when the obstacle movement cannot be tracked, complex speed estimation and prediction are not performed, simplifying the calculation.

[0097] Figure 6 FIG. 1 is a schematic diagram of a process for determining a dynamic laser point cloud provided by an embodiment of the present application. Figure 1 Based on the embodiment shown, Figure 6 The embodiment shown is described below in detail. Figure 6 The embodiment shown and Figure 1 The differences and similarities of the illustrated embodiments are not described in detail.

[0098] like Figure 6 As shown, in this embodiment, determining the dynamic laser point cloud based on the scanning data collected by the laser radar includes the following steps.

[0099] Step S610, generating a grid map based on the scanning data collected by the laser radar.

[0100] A raster map is a data structure that divides an environment into grid cells and is used to represent the layout of the environment and the location of obstacles in two-dimensional or three-dimensional space. In the scan data collected by the LiDAR, the raster map is used to convert continuous spatial data into a discrete set of cells, each of which represents a part of the environment.

[0101] Step S620, mapping each laser point included in the scan data to a grid map.

[0102] Exemplarily, the precise position of each laser point is determined, including the coordinates of the laser point relative to the laser radar origin. Then, according to the definition of the grid map, these continuous coordinates are converted into discrete grid indices so that each laser point is assigned to a grid on the grid map.

[0103] Step S630: If the laser point falls into the drivable area of ​​the grid map, the laser point is determined to be a dynamic laser point cloud.

[0104] In the grid map, the drivable area refers to the free area that is not marked as an obstacle, that is, the space that the self-moving device can theoretically enter and move. When the laser points fall into these areas, it represents the dynamic changes in the environment. Therefore, the laser points that fall into the drivable area are likely to be caused by dynamic obstacles.

[0105] Figure 7 FIG. 1 is a schematic diagram of a grid map provided by an embodiment of the present application. Assume that Figure 7 In the figure, the white area indicates the drivable area, the gray area indicates the unknown area, and the black area indicates the obstacle area. After mapping the laser point to the grid map, the laser point falls into the white area, which is the drivable area, so the laser point is a dynamic laser point cloud.

[0106] In this embodiment, each laser point is mapped to a grid map, which can accurately locate the relative position of each point in the environment. Then, the laser points that fall into the drivable area are used as dynamic laser point clouds, which can effectively distinguish dynamic obstacles from static environments, thereby more accurately predicting the movement of obstacles and making quick responses.

[0107] Figure 8 FIG. 1 is a schematic diagram of a process for generating a grid map according to an embodiment of the present application. Figure 6 Based on the embodiment shown, Figure 8 The embodiment shown is described below in detail. Figure 8 The embodiment shown and Figure 1 The differences and similarities of the illustrated embodiments are not described in detail.

[0108] like Figure 8 As shown, in this embodiment, generating a grid map based on the scanning data collected by the laser radar includes the following steps.

[0109] Step S810, creating a blank grid map of a target size.

[0110] Optionally, the blank grid map has a length and width of Q times the laser measurement distance of the laser radar, for example, Q is 2, that is, the length and width of the blank grid map are twice the laser measurement distance. Such a setting means that if the laser radar can measure a distance of up to 10 meters, the target size of the generated blank grid map will be a square area with a side length of 20 meters, which ensures that the blank grid map not only contains the current position of the self-moving device, but also covers sufficient spatial information around it, providing the self-moving device with a comprehensive view of the surrounding environment.

[0111] Step S820, based on each frame of scan data, determine the penetration grid between the laser starting point and the laser point in the blank grid map.

[0112] The penetration grid refers to the grid that the laser beam emitted by the lidar passes through on the path from the laser starting point to the laser point.

[0113] When using LiDAR to scan the environment and build local maps, the laser beam will be emitted at a certain scanning angle and distance. When the laser beam encounters an obstacle, the LiDAR will receive the reflected signal and calculate the distance from the laser beam to the obstacle based on the time difference between emission and reception. The path of the laser beam can be viewed as a series of penetration grids on the grid map, and each penetration grid represents a unit on the laser beam path.

[0114] Step S830, determining the attribute information of the penetration grid and obtaining a grid map.

[0115] Specifically, the attribute information includes category information and coordinate information of the penetration grid.

[0116] This scheme first generates a blank grid map, and then determines the attribute information of the penetrating grid, which includes not only the category information of the grid but also the coordinate information. The category information helps the self-moving device to distinguish obstacles and drivable areas, while the coordinate information provides an accurate reference for the movement of the self-moving device.

[0117] In some embodiments, for each penetration grid, a first number of penetration grids hit by the laser beam and a second number of penetration grids not hit by the laser beam are recorded; if the first number is not less than the second number, the category information of the penetration grid is determined to be an occupied grid, and the occupied grid represents an obstacle area; if the first number is less than the second number, the category information of the penetration grid is determined to be an idle grid, and the idle grid represents an accessible area; if the first number and the second number are both zero, the category information of the penetration grid is determined to be an unknown grid, and the unknown grid represents an unknown area.

[0118] Assume that the penetration grids on the laser beam path include grid A, grid B, grid C, grid D, and grid E, and record the number of laser beam hits and misses for each penetration grid: the first number corresponding to grid A is 7, and the second number is 0; the first number corresponding to grid B is 2, and the second number is 5; the first number corresponding to grid C is 6, and the second number is 0. The first number corresponding to grid D is 1, and the second number is 4. The first number corresponding to grid E is 0, and the second number is 0. Therefore, grid A is an occupied grid, grid B is an idle grid, grid C is an occupied grid, grid D is an idle grid, and grid E is an unknown grid.

[0119] This determination method in this embodiment not only takes into account the situation where the laser beam actually hits the penetration grid, but also takes into account the situation where the laser beam does not hit the penetration grid. By comparing the first number and the second number to determine the state of the penetration grid, it helps to more accurately identify obstacles and open spaces.

[0120] In other embodiments, the slope K of the straight line from the laser starting point to the laser point and the resolution P of the blank grid map are determined; if the absolute value of the slope K is greater than 1, the ordinate of the penetration grid between the laser starting point and the laser point is determined to be an arithmetic sequence with an interval of P, and the abscissa is an arithmetic sequence with an interval of K*P; if the absolute value of the slope K is less than 1, the abscissa of the penetration grid between the laser starting point and the laser point is determined to be an arithmetic sequence with an interval of P, and the ordinate is an arithmetic sequence with an interval of P / K; based on the current posture of the laser radar and the arithmetic relationship between the abscissa and the ordinate of the penetration grid, the coordinate information of each penetration grid is determined.

[0121] It can be understood that when the absolute value of the slope K is greater than 1, it means that the longitudinal change of the laser beam is greater than the lateral change, and at this time, the longitudinal direction is used as the traversal dimension. On the contrary, if the absolute value of the slope K is less than 1, it means that the lateral change of the laser beam is greater than the longitudinal change, and at this time, the traversal dimension is used.

[0122] In an example, assume that the current position of the laser radar is the coordinate origin (0, 0), the resolution of the blank grid map is P, and an obstacle is detected at point (4, 3). First, calculate the slope K = 0.75 of the straight line from the laser starting point to the laser point. Because the absolute value of the slope K is less than 1, the lateral change of the laser beam is greater than the longitudinal change, and the lateral direction is selected as the traversal dimension. According to the slope K, the horizontal coordinates of the penetrating grid form an arithmetic sequence with an interval of P, that is, x = 0, P, 2P, 3P, 4P. The vertical coordinate forms an arithmetic sequence with an interval of K*P according to the slope K and the resolution P, that is, y = 0, 0.75P, 1.5P, 2.25P, 3P. Therefore, the coordinates of the penetrating grid on the laser beam path are (0, 0), (P, 0.75P), (2P, 1.5P),

[0123] (3P, 2.25P), (4P, 3P).

[0124] In another example, assume that the laser radar is located at the coordinate origin (0, 0) and detects an obstacle at point (2, 4). First, calculate the slope K = 2 of the straight line from the laser starting point to the laser point. Because the absolute value of the slope K is greater than 1, the longitudinal change of the laser beam is greater than the lateral change, and the longitudinal direction is selected as the traversal dimension. According to the slope K, the ordinate of the penetrating grid forms an arithmetic sequence with an interval of P, that is, y = 0, P, 2P, 3P, 4P. The abscissa forms an arithmetic sequence with an interval of P / K according to the slope K and the resolution P, that is, x = 0, 0.5P, P, 1.5P, 2P. Therefore, the coordinates of the penetrating grid on the laser beam path are (0, 0), (0.5P, P), (P, 2P), (1.5P, 3P) (2P, 4P).

[0125] The method for calculating the coordinate information of the penetration grid in this embodiment can adapt to the inclination of the laser beam path, and can accurately determine the penetration grid passed by the laser beam, no matter it is steep or gentle.

[0126] Combination of the above Figures 1 to 8 , describes in detail the obstacle recognition method embodiment of the present application, and the following is combined with Fig. 9 , describes in detail the obstacle recognition device embodiment of the present application. It should be understood that the description of the obstacle recognition method embodiment corresponds to the description of the obstacle recognition device embodiment, so the parts not described in detail can refer to the previous method embodiment.

[0127] Fig. 9 FIG. 1 is a schematic diagram of the structure of an obstacle identification device provided by an embodiment of the present application. Fig. 9 As shown, the obstacle identification device 90 provided in the embodiment of the present application includes:

[0128] A first determination module 910 is used to determine a dynamic laser point cloud based on scanning data collected by the laser radar;

[0129] A clustering module 920 is used to cluster the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud;

[0130] A tracking module 930, configured to track the first obstacle and determine a moving speed of the first obstacle;

[0131] The second determination module 940 is used to determine the first obstacle whose moving speed is greater than the target speed as the second obstacle in the dynamic laser point cloud.

[0132] In one embodiment of the present application, the clustering module 920 is also used to determine, for each laser point in the dynamic laser point cloud, a distance difference between the laser point and an adjacent laser point of the laser point, wherein the adjacent laser point of the laser point is a laser point to which cluster the previous iterative calculation belongs; based on a size relationship between the distance difference and a target distance difference threshold, determine whether the laser point and the adjacent laser point belong to the same cluster, wherein the target distance difference threshold is adjusted when the adjacent laser points are iteratively calculated to which cluster they belong; and determine the first obstacle in the dynamic laser point cloud by clustering the dynamic laser point cloud.

[0133] In one embodiment of the present application, the clustering module 920 is also used to adjust the target distance difference threshold based on the distance difference if the laser point and the adjacent laser point belong to the same cluster; if the laser point and the adjacent laser point are not in the same cluster, adjust the target distance difference threshold based on the measured distance value of the laser point and the angle increment between the laser point and the adjacent laser point.

[0134] In an embodiment of the present application, the clustering module 920 is further configured to adjust the target distance difference threshold to a first target multiple of a larger value between the distance difference value and the target distance difference threshold.

[0135] In one embodiment of the present application, the clustering module 920 is further used to determine the product result of the measured distance value of the laser point and the angle increment; and adjust the target distance difference threshold to a second target multiple of the product result.

[0136] In one embodiment of the present application, the clustering module 920 is also used to determine the size of the cluster in the dynamic laser point cloud; determine the cluster whose size meets the target condition as the first obstacle in the dynamic laser point cloud; preferably, the target condition includes: the radius is smaller than the target length.

[0137] In one embodiment of the present application, the tracking module 930 is further configured to determine, for each frame of scanning data collected by the laser radar, each first obstacle C in the current frame of scanning data. i The respective position parameters, (i∈{1,…,N k}), N k Indicates the number of first obstacles in the current frame scan data; based on each first obstacle C i The respective position parameters are determined in the previous frame of scanning data and are related to each first obstacle C i The first obstacle C with the shortest distance j ,(j∈{1,…,N k―1}), N k―1 Indicates the number of the first obstacle in the previous frame of scan data; if the first obstacle C j With the first obstacle C i If the shortest distance of the target obstacle is less than the target obstacle following distance threshold, then based on the first obstacle Cj With the first obstacle C i The respective distance parameters determine the first obstacle C i moving speed.

[0138] In one embodiment of the present application, the tracking module 930 is further configured to: j With the first obstacle C i The shortest distance is not less than the target obstacle following distance threshold, then the first obstacle C is determined i It is the second obstacle in the dynamic laser point cloud.

[0139] In one embodiment of the present application, the first determination module 910 is also used to generate a grid map based on the scanning data collected by the lidar; map each laser point contained in the scanning data to the grid map; if the laser point falls into the drivable area of ​​the grid map, determine that the laser point is a dynamic laser point cloud.

[0140] In one embodiment of the present application, the first determination module 910 is also used to create a blank grid map of a target size; based on each frame of scanning data, determine the penetration grid between the laser starting point and the laser point in the blank grid map; determine the attribute information of the penetration grid to obtain a grid map, wherein the attribute information includes category information and coordinate information of the penetration grid.

[0141] In one embodiment of the present application, the first determination module 910 is also used to record, for each penetration grid, a first number of penetration grids hit by the laser beam and a second number of penetration grids not hit by the laser beam; if the first number is not less than the second number, the category information of the penetration grid is determined to be an occupied grid, and the occupied grid represents an obstacle area; if the first number is less than the second number, the category information of the penetration grid is determined to be an idle grid, and the idle grid represents a drivable area; if the first number and the second number are both zero, the category information of the penetration grid is determined to be an unknown grid, and the unknown grid represents an unknown area.

[0142] In one embodiment of the present application, the first determination module 910 is also used to determine the slope K of the straight line from the laser starting point to the laser point and the resolution P of the blank grid map; if the absolute value of the slope K is greater than 1, it is determined that the ordinate of the penetration grid between the laser starting point and the laser point is an arithmetic sequence with an interval of P, and the abscissa is an arithmetic sequence with an interval of K*P; if the absolute value of the slope K is less than 1, it is determined that the abscissa of the penetration grid between the laser starting point and the laser point is an arithmetic sequence with an interval of P, and the ordinate is an arithmetic sequence with an interval of P / K; based on the current posture of the laser radar and the arithmetic relationship between the abscissa and the ordinate of the penetration grid, the coordinate information of each penetration grid is determined.

[0143] Below, reference Fig.10To describe an electronic device according to an embodiment of the present application. Fig.10 Shown is a schematic structural diagram of an electronic device provided in one embodiment of the present application.

[0144] like Fig.10 As shown, the electronic device 100 includes one or more processors 1001 and a storage Fig.10 FIG. 1 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Fig.10 As shown, the electronic device 100 includes one or more processors 1001 and a memory 1002.

[0145] The processor 1001 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 100 to perform desired functions.

[0146] The memory 1002 may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 1001 may run the program instructions to implement the obstacle identification method of each embodiment of the present application described above and / or other desired functions. Various contents such as scanning data, dynamic laser point cloud, first obstacle, second obstacle, etc. may also be stored in the computer-readable storage medium.

[0147] In one example, the electronic device 100 may further include: an input device 1003 and an output device 1004 , and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0148] The input device 1003 may include, for example, a keyboard, a mouse, etc.

[0149] The output device 1004 can output various information to the outside, including scanning data, dynamic laser point cloud, first obstacle, second obstacle, etc. The output device 1004 can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.

[0150] Of course, to simplify, Fig.10Only some of the components related to the present application in the electronic device 100 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device 100 may also include any other appropriate components.

[0151] In addition to the above-mentioned methods and devices, an embodiment of the present application may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the obstacle identification method according to various embodiments of the present application described above in this specification.

[0152] The computer program product may be written in any combination of one or more programming languages ​​to write program codes for performing the operations of the embodiments of the present application, including object-oriented programming languages, such as Java, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0153] In addition, an embodiment of the present application may also be a computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by a processor, the processor executes the steps of the obstacle identification method according to various embodiments of the present application described above in this specification.

[0154] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0155] The basic principles of the present application are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present application are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present application. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, not for limitation, and the above details do not limit the present application to being implemented by adopting the above specific details.

[0156] The block diagrams of the devices, apparatuses, equipment, and systems involved in this application are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagram. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including", "comprising", "having", etc. are open words, referring to "including but not limited to", and can be used interchangeably with them. The words "or" and "and" used here refer to the words "and / or" and can be used interchangeably with them, unless the context clearly indicates otherwise. The words "such as" used here refer to the phrase "such as but not limited to", and can be used interchangeably with them.

[0157] It should also be noted that in the apparatus, device and method of the present application, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present application.

[0158] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present application. Therefore, the present application is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

[0159] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present application to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. An obstacle recognition method, characterized in that: Applied to a self-propelled device equipped with a laser radar, the method comprises: Determining a dynamic laser point cloud based on the scanning data collected by the laser radar; Clustering the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud; Tracking the first obstacle to determine a moving speed of the first obstacle; A first obstacle whose moving speed is greater than the target speed is determined as a second obstacle in the dynamic laser point cloud.

2. The obstacle recognition method according to claim 1, characterized in that: The step of clustering the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud includes: For each laser point in the dynamic laser point cloud, determining a distance difference between the laser point and an adjacent laser point of the laser point, wherein the adjacent laser point of the laser point is a laser point that was previously iteratively calculated to belong to a cluster; determining whether the laser point and the adjacent laser point belong to the same cluster based on a magnitude relationship between the distance difference value and a target distance difference threshold, wherein the target distance difference threshold is adjusted when the adjacent laser points are iteratively calculated to which cluster they belong; Based on the clusters in the dynamic laser point cloud, a first obstacle in the dynamic laser point cloud is determined.

3. The obstacle recognition method according to claim 2, characterized in that: Also includes: If the laser point and the adjacent laser point are in the same cluster, adjusting the target distance difference threshold based on the distance difference; If the laser point and the adjacent laser point are not in the same cluster, the target distance difference threshold is adjusted based on the measured distance value of the laser point and the angle increment between the laser point and the adjacent laser point.

4. The obstacle recognition method according to claim 3, characterized in that: The adjusting the target distance difference threshold based on the distance difference value includes: The target distance difference threshold is adjusted to a first target multiple of a larger value between the distance difference value and the target distance difference threshold.

5. The obstacle recognition method according to claim 3, characterized in that: The step of adjusting the target distance difference threshold based on the measured distance value of the laser point and the angle increment between the laser point and the adjacent laser point comprises: Determine the product of the measured distance value of the laser point and the angle increment; The target distance difference threshold is adjusted to a second target multiple of the multiplication result.

6. The obstacle recognition method according to claim 2, characterized in that: The determining, based on the clusters in the dynamic laser point cloud, a first obstacle in the dynamic laser point cloud comprises: determining the size of clusters in the dynamic laser point cloud; Determine a cluster whose size meets the target condition as the first obstacle in the dynamic laser point cloud; Preferably, the target condition includes: the radius is smaller than the target length.

7. The obstacle recognition method according to any one of claims 1 to 6, characterized in that: The tracking of the first obstacle to determine the moving speed of the first obstacle includes: For each frame of scanning data collected by the laser radar, determine each first obstacle C in the current frame of scanning data i The respective position parameters, (i∈{1,…,N k }), N k Indicates the number of first obstacles in the current frame scanning data; Based on each of the first obstacles C i The respective position parameters are determined in the previous frame scanning data and are related to each of the first obstacles C i The first obstacle C with the shortest distance j ,(j∈{1,…,N k―1 }), N k―1 Indicates the number of first obstacles in the previous frame of scanning data; If the first obstacle C j With the first obstacle C i The shortest distance of the obstacle is less than the target obstacle following distance threshold, then based on the first obstacle C j With the first obstacle C i The respective distance parameters determine the first obstacle C i moving speed.

8. The obstacle recognition method according to claim 7, characterized in that: Also includes: If the first obstacle C j With the first obstacle C i is not less than the target obstacle following distance threshold, then the first obstacle C is determined i is the second obstacle in the dynamic laser point cloud.

9. The obstacle recognition method according to any one of claims 1 to 6, characterized in that: The step of determining a dynamic laser point cloud based on the scanning data collected by the laser radar comprises: Generate a grid map based on the scan data collected by the laser radar; Mapping each laser point included in the scan data to a grid map; If the laser point falls into the drivable area of ​​the grid map, the laser point is determined to be the dynamic laser point cloud.

10. The obstacle recognition method according to claim 9, characterized in that: The step of generating a grid map based on the scan data collected by the laser radar comprises: Create a blank raster map of the target size; Based on each frame of scan data, determining the penetration grid between the laser starting point and the laser point in the blank grid map; The attribute information of the penetration grid is determined to obtain the grid map, wherein the attribute information includes category information and coordinate information of the penetration grid.

11. The obstacle recognition method according to claim 10, characterized in that: The determining the attribute information of the penetration grid includes: For each of the penetration grids, recording a first number of times the laser beam hits the penetration grid and a second number of times the laser beam does not hit the penetration grid; If the first number is not less than the second number, determining that the category information of the penetration grid is an occupied grid, and the occupied grid represents an obstacle area; If the first number is less than the second number, determining that the category information of the penetration grid is an idle grid, and the idle grid represents a drivable area; If the first number and the second number are both zero, it is determined that the category information of the penetration grid is an unknown grid, and the unknown grid represents an unknown area.

12. The obstacle recognition method according to claim 10, characterized in that: The determining the attribute information of the penetration grid includes: Determine the slope K of the straight line from the laser starting point to the laser point and the resolution P of the blank grid map; If the absolute value of the slope K is greater than 1, it is determined that the ordinate of the penetration grid from the laser starting point to the laser point is an arithmetic progression with an interval of P, and the abscissa is an arithmetic progression with an interval of K*P; If the absolute value of the slope K is less than 1, it is determined that the horizontal coordinate of the penetration grid from the laser starting point to the laser point is an arithmetic progression with an interval of P, and the vertical coordinate is an arithmetic progression with an interval of P / K; Based on the current position of the laser radar and the arithmetic relationship between the horizontal coordinate and the vertical coordinate of the penetration grid, the coordinate information of each penetration grid is determined.

13. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and the computer program is used to execute the obstacle recognition method according to any one of claims 1 to 12.

14. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is used to execute the obstacle recognition method described in any one of claims 1 to 12 above.

15. A computer program product, characterized in that The computer program product comprises instructions, which, when executed on an electronic device, enable the electronic device to implement the obstacle recognition method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Dynamic obstacle anti-collision method

    CN111650945A

  • Reversing navigation control method and system of intelligent vehicle for spraying pesticide between ridges in greenhouse

    CN114063615A

  • Tunnel section point cloud filtering method based on minimum circle algorithm and electronic equipment

    CN116152108A

  • Obstacle detection method, electronic equipment and storage medium

    CN117690113A

  • Dynamic obstacle avoidance system and method for animal house cleaning robot based on laser sensing

    CN118760195A