Obstacle recognition methods, storage media, electronic devices and software products
By collecting scanning data with LiDAR and using clustering and tracking techniques to identify dynamic obstacles, the problem of low recall and poor accuracy of traditional obstacle recognition methods is solved, achieving more efficient dynamic obstacle recognition and navigation optimization for self-moving devices.
Patent Information
- Application Number
- CN202411692471.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2044-11-22
AI Technical Summary
Traditional obstacle recognition methods mainly determine whether an obstacle is dynamic based on its shape. This results in low recall and poor accuracy, leading to low reliability in practical applications.
Using LiDAR to collect scanning data, dynamic LiDAR point clouds are determined. Dynamic obstacles are identified through clustering and tracking techniques, including clustering the dynamic LiDAR point clouds, determining the moving speed of the first obstacle, and identifying obstacles with moving speeds greater than the target speed as dynamic obstacles.
It improves the accuracy of dynamic obstacle recognition and optimizes the navigation and path planning capabilities of self-moving devices in dynamic environments.
Smart Images

Figure CN119644355B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, in particular to an obstacle identification method, a storage medium, an electronic device and a program product. BACKGROUND
[0002] When a self-moving device is working, it usually needs to distinguish the type of the obstacle so as to take appropriate measures to avoid the obstacle. For example, when facing a dynamic obstacle, the self-moving device needs to estimate the motion direction thereof so as to intelligently avoid the obstacle or stop to give way when necessary; and for a static obstacle, it needs to quickly plan a new path to bypass the obstacle. However, the traditional obstacle identification method mainly judges whether the obstacle is a dynamic obstacle through the shape of the obstacle, and this method has the problems of low recall rate and poor precision, resulting in low reliability in actual application. SUMMARY
[0003] Therefore, an embodiment of the present application provides an obstacle identification 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 applied to a self-moving device with a laser radar, and the method comprises: 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 a moving speed of the first obstacle; and determining a second obstacle in the dynamic laser point cloud as the first obstacle with a moving speed greater than a target speed.
[0005] In combination with the first aspect, in some implementations of the first aspect, the clustering of the dynamic laser point cloud to obtain the first obstacle in the dynamic laser point cloud comprises: determining, for each laser point in the dynamic laser point cloud, a distance difference value between the laser point and a neighboring laser point of the laser point, wherein the neighboring laser point of the laser point is a previous laser point whose cluster is iteratively calculated; determining whether the laser point and the neighboring laser point are in the same cluster based on a size relationship between the distance difference value and a target distance difference threshold value, wherein the target distance difference threshold value is adjusted when the neighboring laser point is iteratively calculated to belong to which cluster; and determining the first obstacle in the dynamic laser point cloud based on the cluster in the dynamic laser point cloud.
[0006] In combination with the first aspect, in some implementations of the first aspect, the method further comprises: if the laser point and the neighboring laser point are in the same cluster, adjusting the target distance difference threshold value based on the distance difference value; and if the laser point and the neighboring laser point are not in the same cluster, adjusting the target distance difference threshold value based on a measured distance value of the laser point and an angle increment between the laser point and the neighboring laser point.
[0007] In some implementations of the first aspect, the target distance difference threshold is adjusted based on the distance difference value, including: 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 some implementations of the first aspect, 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, including: determining a 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 some implementations of the first aspect, the first obstacle in the dynamic laser point cloud is determined based on the cluster in the dynamic laser point cloud, including: determining a size of the cluster in the dynamic laser point cloud; and determining the cluster with the size meeting a target condition as the first obstacle in the dynamic laser point cloud; preferably, the target condition includes that the radius is less than a target length.
[0010] In some implementations of the first aspect, the first obstacle is tracked to determine the moving speed of the first obstacle, including: for each frame of scan data collected by the laser radar, determining, for each first obstacle C i , in the current frame of scan data, a first obstacle C k with a shortest distance to the first obstacle C k , (i∈{1,…,N i ), N i representing a number of the first obstacles in the current frame of scan data; and determining, based on respective position parameters of the first obstacle C j and the first obstacle C k―1 , a moving speed of the first obstacle C k―1 , (j∈{1,…,N j ), N i representing a number of the first obstacles in the previous frame of scan data; and if a shortest distance between the first obstacle C j and the first obstacle C i is less than a target obstacle following distance threshold, determining, based on respective distance parameters of the first obstacle C i and the first obstacle C
[0011] In some implementations of the first aspect, the method further includes: if the shortest distance between the first obstacle C j and the first obstacle C i is not less than the target obstacle following distance threshold, determining the first obstacle C i as a second obstacle in the dynamic laser point cloud.
[0012] With reference to the first aspect, in some implementations of the first aspect, the determining the dynamic laser point cloud based on the scanning data collected by the laser radar comprises: generating a grid map based on the scanning data collected by the laser radar; mapping each laser point contained in the scanning data to the grid map; and determining the laser point as the dynamic laser point cloud if the laser point falls into a drivable area of the grid map.
[0013] With reference to the first aspect, in some implementations of the first aspect, the generating the grid map based on the scanning data collected by the laser radar comprises: creating a blank grid map of a target size; determining a penetration grid between a laser starting point and a laser point in the blank grid map based on each frame of scanning data; and determining attribute information of the penetration grid to obtain the grid map, the attribute information comprising category information and coordinate information of the penetration grid.
[0014] With reference to the first aspect, in some implementations of the first aspect, the determining the attribute information of the penetration grid comprises: recording, for each penetration grid, a first number of laser beams hitting the penetration grid and a second number of laser beams not hitting the penetration grid; determining the category information of the penetration grid as an occupied grid if the first number is not less than the second number, the occupied grid indicating an obstacle area; determining the category information of the penetration grid as an idle grid if the first number is less than the second number, the idle grid indicating a drivable area; and determining the category information of the penetration grid as an unknown grid if both the first number and the second number are zero, the unknown grid indicating an unknown area.
[0015] With reference to the first aspect, in some implementations of the first aspect, the determining the attribute information of the penetration grid comprises: determining a slope K of a straight line on which the laser starting point and the laser point are located and a resolution P of the blank grid map; determining a vertical coordinate of the penetration grid between the laser starting point and the laser point as an arithmetic sequence with an interval of P and a horizontal coordinate as an arithmetic sequence with an interval of K*P if an absolute value of the slope K is greater than 1; determining the horizontal coordinate of the penetration grid between the laser starting point and the laser point as the arithmetic sequence with the interval of P and the vertical coordinate as an arithmetic sequence with an interval of P / K if the absolute value of the slope K is less than 1; and determining the coordinate information of the penetration grid based on a current pose of the laser radar and the respective arithmetic relationships of the horizontal coordinate and the vertical coordinate of the penetration grid.
[0016] In a second aspect, an embodiment of the present application provides an obstacle identification device applied to a self-moving device with a laser radar, the device comprising: a first determination module configured to determine a dynamic laser point cloud based on scanning data collected by the laser radar; a clustering module configured to cluster the dynamic laser point cloud to obtain first obstacles in the dynamic laser point cloud; a tracking module configured to track the first obstacles to determine moving speeds of the first obstacles; and a second determination module configured to determine, as second obstacles in the dynamic laser point cloud, the first obstacles with the moving speeds greater than a target speed.
[0017] In a third aspect, an embodiment of the present application provides a computer readable storage medium storing a computer program for executing the obstacle identification method of 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 processor-executable instructions; and the processor configured to execute the obstacle identification method of the first aspect.
[0019] In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions for causing an electronic device to implement the obstacle identification method of the first aspect when the instructions are executed on the electronic device.
[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 subsequent dynamic obstacle identification. Then, the dynamic laser point cloud is subjected to clustering analysis to effectively separate potential dynamic obstacles from the background, forming a preliminary identification of the first obstacles. Further, by tracking these first obstacles and calculating their moving speeds, the real dynamic obstacles, i.e., the second obstacles, can be accurately identified. The method in the present embodiment not only improves the accuracy of dynamic obstacle identification, but also further optimizes the navigation and path planning capabilities of the self-moving device in a dynamic environment. BRIEF DESCRIPTION OF DRAWINGS
[0021] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description of embodiments of the present application taken in conjunction with the accompanying drawings. The drawings provided in the present application are used to provide further understanding of the embodiments of the present application, and constitute a part of the specification, and are used to explain the present application together with the embodiments of the present application, but do not constitute a limitation of the present application. In the drawings, the same reference numerals generally indicate the same components or steps.
[0022] Figure 1 Fig. 1 shows a flowchart of an obstacle identification method according to an embodiment of the present application.
[0023] Figure 2 Fig. 1 shows a flowchart of a method for clustering a dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud according to an embodiment of the present disclosure.
[0024] Figure 3 Fig. 2 shows a schematic diagram of laser emission according to an embodiment of the present disclosure.
[0025] Figure 4 Fig. 3 shows a flowchart of a method for determining a first obstacle in a dynamic laser point cloud based on a cluster in the dynamic laser point cloud according to an embodiment of the present disclosure.
[0026] Figure 5 Fig. 4 shows a flowchart of a method for determining a moving speed of a first obstacle according to an embodiment of the present disclosure.
[0027] Figure 6 Fig. 5 shows a flowchart of a method for determining a dynamic laser point cloud according to an embodiment of the present disclosure.
[0028] Figure 7 Fig. 6 shows a schematic diagram of a grid map according to an embodiment of the present disclosure.
[0029] Figure 8 Fig. 7 shows a flowchart of a method for generating a grid map according to an embodiment of the present disclosure.
[0030] Figure 9 Fig. 8 shows a structural diagram of an obstacle recognition device according to an embodiment of the present disclosure.
[0031] Figure 10 Fig. 9 shows a structural diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0032] The technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, but not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present disclosure.
[0033] Figure 1 Fig. 10 shows a flowchart of an obstacle recognition method according to an embodiment of the present disclosure. Exemplarily, the method is applied to a self-moving device with a laser radar, for example, the self-moving device is a transport robot. The method includes the following steps.
[0034] In step S110, a dynamic laser point cloud is determined based on scanning data collected by the laser radar.
[0035] The scan data collected by the lidar refers to the environmental information obtained by the lidar when performing environmental detection through the emission of laser beams and the reception of reflected laser points. Exemplarily, the scan data includes parameters such as the position, intensity, timestamp, and distance of the laser points. The dynamic laser point cloud refers to those laser points in the scan data that are related to dynamic obstacles.
[0036] In some embodiments, a time-series-based dynamic point cloud analysis model is used to identify the dynamic laser point cloud. Exemplarily, the dynamic point cloud analysis model first extracts key features from the scan data collected by the lidar, including the position, reflection intensity, and timestamp of the laser points. Then, the features are used to establish a correspondence between consecutive scan frames, and by comparing the changes of laser points at the same position or adjacent positions in different time scan frames, the dynamic laser point cloud is detected.
[0037] Step S120, clustering the dynamic laser point cloud to obtain a 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 the points in the dynamic laser point cloud, and then a clustering algorithm such as DBSCAN or K-means is used to group the points according to their features, forming different clusters, each of which represents a set of potential obstacles.
[0040] Step S130, tracking the first obstacle to determine the moving speed of the first obstacle.
[0041] Exemplarily, each first obstacle is assigned a unique identifier, and then an optical flow algorithm is used to estimate the position change of each obstacle in the time series. Based on the position change of the same obstacle in the time series, the speed vector, i.e., the size and direction of the speed, is calculated.
[0042] Step S140, determining the first obstacle with a moving speed greater than a target speed as a second obstacle in the dynamic laser point cloud.
[0043] The second obstacle refers to the real dynamic obstacle. Exemplarily, the moving speed of each first obstacle is compared with a pre-set target speed. If the moving speed of a certain first obstacle exceeds the target speed, it is marked as a second obstacle, i.e., a real dynamic obstacle.
[0044] In this embodiment, scanning data collected by LiDAR is first used to determine a dynamic LiDAR point cloud. This captures dynamic changes in the environment, providing a foundation for subsequent dynamic obstacle identification. Next, cluster analysis is performed on the dynamic LiDAR point cloud to effectively separate potential dynamic obstacles from the background, forming a preliminary identification of the first obstacle. Furthermore, by tracking these first obstacles and calculating their movement speed, the true dynamic obstacles, i.e., the second obstacle, 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-moving device in dynamic environments.
[0045] Figure 2 The diagram shown is a schematic representation of a process for clustering dynamic laser point clouds to obtain the first obstacle in the dynamic laser point cloud, according to an embodiment of this application. Figure 1 Extending from the illustrated embodiment Figure 2 The illustrated embodiment will be described in detail below. Figure 2 The illustrated embodiments and Figure 1 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0046] like Figure 2 As shown, in this embodiment, clustering of dynamic laser point clouds 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 points are the laser points that were previously iteratively calculated to belong to which cluster. Figure 3 The diagram shown is a schematic representation of laser emission according to an embodiment of this application. Figure 3 As shown, the lidar emits a series of laser beams that intersect with obstacles in the environment, forming a series of laser points. These laser points are labeled with numbers 0, 1, 2...13, 14, 15. Furthermore, these laser points are stored in the data structure in the order they were scanned; therefore, each laser point can be compared with its immediate and adjacent laser points to calculate the distance difference between them.
[0049] For example, Euclidean distance or Manhattan distance can be used to calculate the distance difference between adjacent laser points. Euclidean distance calculation involves square root operations, which is less efficient; Manhattan distance calculation is more efficient, but its difference from Euclidean distance is significant for large distances. In practical applications, the appropriate distance difference calculation method can be selected based on specific needs.
[0050] Step S220, based on the size relationship between the distance difference value and the target distance difference threshold, determine whether the laser point and the adjacent laser point are in the same cluster.
[0051] In the present embodiment, the target distance difference threshold is a preset parameter for determining whether two laser points are close enough to be classified into the same cluster. Illustratively, the target distance difference threshold is set based on the measurement accuracy of the lidar, environmental characteristics, and the expected size of the obstacle.
[0052] In some embodiments, if the distance difference value is less than the target distance difference threshold, it 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 and the adjacent laser point are classified into the same cluster. Conversely, if the distance difference value is greater than or equal to the target distance difference threshold, it 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 and the adjacent laser point cannot be classified into the same cluster.
[0053] It should be noted that the target distance difference threshold is adjusted when the adjacent laser point is iteratively calculated to belong to which cluster, 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, the angle increment between the laser point and the adjacent laser point.
[0055] Specifically, when the laser point and the adjacent laser point are determined to be in the same cluster, it means that the distance difference value 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 value can make the threshold closer to the actual conditions of the current environment, improve the accuracy of clustering, and ensure that laser points belonging to the same cluster will not be mistakenly separated due to a too high target distance difference threshold.
[0056] Conversely, if the laser point and the adjacent laser point do not belong to the same cluster, it indicates that the distance difference value between them is large, or that their spatial distribution has a significant difference. The measured distance value provides specific positional information of the laser point relative to the laser starting point of the lidar, and the angle increment provides distribution information of the obstacle in different directions. By combining these two parameters, the characteristics of the obstacle can be more accurately captured, and the target distance difference threshold can be dynamically adjusted to adapt to the identification of different obstacles, thereby improving the effect of clustering and the accuracy of obstacle identification.
[0057] This adaptive adjustment mechanism of the target distance difference threshold based on actual measurement data makes the clustering algorithm more flexible and accurate, and can cope with complex and variable environments, providing more reliable data support for obstacle identification.
[0058] Next, the two implementation methods are analyzed in detail to explain how to adjust the target distance difference threshold when the laser point and the adjacent laser point are in the same cluster, and how to adjust the target distance difference threshold when the laser point and the adjacent laser point are not in the same cluster.
[0059] In one example, when the laser point and the adjacent laser point are in the same cluster: adjust the target distance difference threshold to the first target multiple of the larger value between 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 value between the laser point and its adjacent laser point is 0.4 meters, so the laser point and the 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 between the distance difference value and the current target distance difference threshold. In this example, the target distance difference threshold needs to be adjusted to the first target multiple of 0.5. Assuming the first target multiple is 2 times, then the target distance difference threshold needs to be adjusted to 1 meter. This means that only when the distance difference value 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 in the same cluster.
[0061] In this example, selecting the larger value between the distance difference value and the target distance difference threshold can adapt to the change of the maximum distance difference value between laser points in the actual environment, ensuring that the clustering result is still valid even when the distance difference value 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 value changes while maintaining the stability of clustering, 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 point are not in the same cluster, determine the product result of the measurement distance value and the angle increment of the laser point; adjust the target distance difference threshold to the 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 in the laser radar scanning sector. Multiplying these two values together, the resulting product represents the amount of change in distance at a given angle increment, which can be considered as an indicator of the density or distribution characteristics of the local region in the dynamic laser point cloud. Accordingly, adjusting the target distance difference threshold to a second target multiple of the product result can adapt to the density and distribution characteristics of different regions in the dynamic laser point cloud, thereby more accurately distinguishing different obstacles or different parts of the obstacle. Similarly, this dynamic adjustment mechanism based on the product result also enables the clustering algorithm to flexibly respond to environmental changes, improving the accuracy and robustness of clustering, especially in the case of obstacle edges or irregular shapes, it can more effectively identify and distinguish adjacent laser points belonging to different clusters.
[0064] Step S230, based on the clusters in the dynamic laser point cloud, determine the first obstacle 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 are checked, such as the number of laser points in the cluster, if the number of laser points is greater than the target value, the cluster is determined as 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, improving the flexibility and accuracy of clustering. Finally, based on these dynamically formed clusters, the first obstacle in the dynamic laser point cloud, i.e. the potential dynamic obstacle, can be determined, providing 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 introduced how to determine the first obstacle by the number of laser points in the cluster. Next, a more detailed and accurate method will be introduced, i.e. how to determine the first obstacle based on the size of the cluster.
[0068] Specifically, Figure 4 The flowchart shown is the process 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. In Figure 2 Based on the embodiment shown Figure 4 The embodiment shown, the following focuses on Figure 4 The embodiment shown and Figure 2 The differences between the embodiments shown, the same will not be repeated.
[0069] As shown in the figure, in the present embodiment, determining the first obstacle in the dynamic laser point cloud based on the cluster in the dynamic laser point cloud comprises the following steps. Figure 4
[0070] Step S410, determining the size of the cluster in the dynamic laser point cloud.
[0071] Exemplarily, the size of the cluster comprises the radius of the cluster.
[0072] In some embodiments, the starting laser point and the ending laser point of the cluster are determined; the Euclidean distance between the starting laser point and the ending laser point is determined; and the radius of the cluster is determined based on the Euclidean distance between the starting laser point and the ending laser point.
[0073] Exemplarily, the starting laser point and the ending laser point of the cluster represent the farthest endpoints of the cluster in space, and then the Euclidean distance between the two endpoints is calculated, i.e. the straight-line distance between two points in three-dimensional space, which 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, helping to determine whether the cluster represents an actual obstacle.
[0074] Step S420, determining the cluster with a size meeting the target condition as the first obstacle in the dynamic laser point cloud.
[0075] Optionally, the target condition comprises: the radius is less than a target length. That is, if the radius of the cluster is less than a preset target length, the cluster is determined as the first obstacle in the dynamic laser point cloud. If the radius of the cluster is not less than the preset target length, 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 can be understood that in the working scene of a self-moving device (such as a delivery robot or a transport robot), a dynamic obstacle usually does not reach a size as large 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, a wall or other fixed obstacles, rather than a first obstacle that can move.
[0077] In the present embodiment, setting the target condition as the radius being less than the target length is based on a reasonable estimation of the size of a dynamic obstacle in an actual scene, and this condition helps to screen out clusters that are smaller in size and more likely to be dynamic obstacles. Therefore, the present embodiment not only improves the accuracy of obstacle detection, but also reduces false positives, so that the self-moving device can more effectively react to the real obstacles.
[0078] Figure 5 As shown in the figure, the present embodiment provides a flowchart for determining the moving speed of the first obstacle.Figure 1 The embodiments shown in the above Figure 5 The embodiments shown in the above Figure 5 The embodiments shown in the above Figure 1 The embodiments shown in the above, the same will not be repeated.
[0079] As Figure 5 shown, in the present embodiment, the first obstacle is tracked to determine the moving speed of the first obstacle, including the following steps.
[0080] Step S510, for each frame of scanning data collected by the laser radar, determine the position parameters of each first obstacle C i .
[0081] (i∈{1,…,N k}),N k represents the number of first obstacles in the current frame of scanning data, and the position parameters include the horizontal and vertical coordinates and the radius of the first obstacle.
[0082] Step S520, based on the position parameters of each first obstacle C i , determine the first obstacle C i with the shortest distance to each first obstacle C j in the previous frame of scanning data.
[0083] (j∈{1,…,N k―1}),N k―1 represents the number of first obstacles in the previous frame of scanning data.
[0084] Exemplarily, the distance i between the first obstacle C h and any first obstacle C
[0085] Wherein, x i represents the horizontal coordinate of the first obstacle C i , y i represents the vertical coordinate of the first obstacle C i , r i represents the radius of the first obstacle C i ; x h represents the horizontal coordinate of the first obstacle C h , y h represents the vertical coordinate of the first obstacle C h , r h represents the radius of the first obstacle C h .
[0086] Then, after determining the first obstacle C iand the first obstacle C h , and then the distance of each first obstacle C i from the vehicle can be determined. j
[0087] In step S530, if the shortest distance between the first obstacle C j and the target obstacle is less than the target obstacle following distance threshold, the moving speed of the first obstacle C i is determined based on the respective distance parameters of the first obstacle C j and the first obstacle C i . i
[0088] Specifically, if the shortest distance between the first obstacle C j and the target obstacle is less than the target obstacle following distance threshold, the motion state prediction data and the motion state observation data of the first obstacle C i are determined; the motion state prediction data is corrected based on the motion state observation data to obtain the motion state correction data of the first obstacle C i ; and the moving speed of the first obstacle C i is calculated based on the motion state correction data. i
[0089] In some embodiments, a state transition matrix is determined based on the sampling time interval of the adjacent two frames of scanning data, the state transition matrix being used to describe the evolution relationship of the motion state of the first obstacle over time; the motion state prediction data of the first obstacle C j is determined; and the motion state prediction data of the first obstacle C j is determined based on the motion state prediction data of the first obstacle C i and the state transition matrix.
[0090] Exemplarily, the state transition matrix is wherein, T p represents the sampling time interval of the adjacent two frames of scanning data. Assuming that q k―1 represents the motion state prediction data of the first obstacle C j in the previous frame of scanning data, the motion state prediction data of the first obstacle C i in the current frame of scanning data is
[0091] In some embodiments, an observation matrix is determined, the observation matrix being used to describe the motion state variables that can be measured by the sensor; and the motion state prediction data of the first obstacle C i Based on the motion state prediction data, 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 motion state observation data
[0093] For example, suppose the first obstacle C i The motion state correction data includes x0 (horizontal axis correction data) and y0 (vertical axis correction data). Therefore, the first obstacle C... i movement speed in, Denotes the derivative of x0. It represents the reciprocal of y0.
[0094] In this embodiment, by analyzing each frame of scan data collected by the LiDAR, the position parameters of each first obstacle in the current frame of scan data can be determined, providing a data foundation for subsequent tracking. Then, using these position parameters, the first obstacle with the shortest distance to each first obstacle in the current frame of scan data is found in the previous frame of scan data, thereby establishing the obstacle correspondence between consecutive frames. When the shortest distance between corresponding obstacles in two adjacent frames of scan data is less than the target obstacle following distance threshold, these obstacles can be considered to be the same obstacle at different points in time. Therefore, the moving speed of each first obstacle in the current frame of scan data can be calculated based on these distance parameters, which helps predict the future position of the first obstacle and facilitates path planning for the self-moving device.
[0095] exist Figure 5 In the illustrated embodiment, the focus is on determining the movement speed of first obstacles by comparing their positional changes in consecutive frame scan data. However, there are cases where the shortest distance between obstacles is not less than the target obstacle following distance threshold. That is, if an obstacle belonging to the same category as the first obstacle in the current frame scan data cannot be tracked in the previous frame scan data, then the first obstacle in the current frame scan data is identified as a real dynamic obstacle in the dynamic laser point cloud. In other words, if the first obstacle C... j With the first obstacle C i If the shortest distance is not less than the target obstacle following distance threshold, then the first obstacle C is determined. i This is the second obstacle in the dynamic laser point cloud.
[0096] It can be understood that in some cases, the first obstacle can not be detected in the previous frame of scanning data due to rapid movement, sudden appearance or scanning characteristics of the laser radar. Treating these first obstacles as real dynamic obstacles is to ensure that the self-moving device does not ignore any obstacles that may affect navigation. Further, the moving speed of the first obstacle C i is set to zero, which is a conservative strategy taken when there is not enough information to determine the actual moving speed of the first obstacle C i , that is, it is assumed that the obstacle has not moved at the latest time point, thereby avoiding obstacle avoidance failure due to false motion prediction. This method helps the self-moving device to maintain stable and safe operation when facing rapidly changing environment, and in the case where the obstacle motion cannot be tracked, complex speed estimation and prediction are not performed, simplifying the calculation.
[0097] Figure 6 Fig. 1 shows a flowchart of determining a dynamic laser point cloud according to an embodiment of the present application. On the basis of the embodiment shown in Figure 1 , the embodiment shown in Figure 6 extends, and the differences between the embodiment shown in Figure 6 and the embodiment shown in Figure 1 will be described below, and the same parts will not be described again.
[0098] As shown in Figure 6 , in this embodiment, based on the scanning data collected by the laser radar, the dynamic laser point cloud is determined, including the following steps.
[0099] Step S610, generating a grid map based on the scanning data collected by the laser radar.
[0100] The grid map is a data structure that divides the environment into grid cells, which is used to represent the layout of the environment and the position of the obstacles in two-dimensional or three-dimensional space. In the scanning data collected by the laser radar, the grid map is used to convert continuous spatial data into a discrete set of cells, each cell representing a part of the environment.
[0101] Step S620, mapping each laser point contained in the scanning data to the grid map.
[0102] Exemplarily, the exact position of each laser point is determined, including the coordinates of the laser point relative to the origin of the laser radar. Then, according to the definition of the grid map, these continuous coordinates are converted into discrete grid indexes, 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 as a dynamic laser point cloud.
[0104] In the grid map, the drivable region refers to those free regions that are not marked as obstacles, i.e., the space that the self-moving device can theoretically enter and move. When the laser points fall into these regions, it represents the dynamic changes in the environment, and therefore, the laser points falling into the drivable region are likely to be caused by dynamic obstacles.
[0105] Figure 7 A schematic diagram of a grid map provided by an embodiment of the present application is shown. It is assumed that, in the Figure 7 white region represents the drivable region, the gray region represents the unknown region, and the black region represents the obstacle region. After mapping the laser points to the grid map, the laser points fall into the white region, i.e., the drivable region, so the laser points are dynamic laser point clouds.
[0106] In this embodiment, each laser point is mapped to the grid map, which can accurately locate the relative position of each point in the environment. Then, the laser points falling into the drivable region are taken as dynamic laser point clouds, which can effectively distinguish dynamic obstacles and static environment, so as to more accurately predict the motion of obstacles and make a quick response.
[0107] Figure 8 A flowchart of generating a grid map provided by an embodiment of the present application is shown. In Figure 6 the embodiment shown, the embodiment shown in Figure 8 extends Figure 8 the embodiment shown, the differences between the embodiment shown and Figure 1 the embodiment shown will not be described again.
[0108] As Figure 8 shown, in this embodiment, a grid map is generated based on the scan data collected by the lidar, including the following steps.
[0109] Step S810, a blank grid map of a target size is created.
[0110] Optionally, the blank grid map is Q times the laser measurement distance in length and width, for example, Q is 2, i.e., the length and width of the blank grid map is 2 times the laser measurement distance. Such a setting means that if the lidar can measure a distance of up to 10 meters, the target size of the generated blank grid map will be a square region 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 enough space 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, the penetration grid between the laser starting point and the laser point in the blank grid map is determined.
[0112] A penetration grid refers to a grid that is penetrated by a laser beam emitted by a laser radar on a path from a laser starting point to a laser point.
[0113] When scanning an environment and constructing a local map by using a laser radar, a laser beam is emitted at a certain scanning angle and distance. When the laser beam encounters an obstacle, the laser radar receives a signal reflected back, and calculates a distance from the laser beam to the obstacle according to a time difference between emission and reception. The path of the laser beam can be regarded as a series of penetration grids on a grid map, and each penetration grid represents a unit on the path of the laser beam.
[0114] In step S830, attribute information of the penetration grids is determined to obtain the grid map.
[0115] Specifically, the attribute information includes category information and coordinate information of the penetration grids.
[0116] The present scheme first generates a blank grid map, and then determines attribute information of the penetration grids, which not only includes category information of the grids, but also includes coordinate information. The category information helps the self-moving device to distinguish between an obstacle and a drivable area, and the coordinate information provides an accurate reference for movement of the self-moving device.
[0117] In some embodiments, for each penetration grid, a first number of times that the laser beam hits the penetration grid and a second number of times that the laser beam does not hit the penetration grid are recorded; if the first number is not less than the second number, it is determined that the category information of the penetration grid is an occupied grid, which represents an obstacle area; if the first number is less than the second number, it is determined that the category information of the penetration grid is an idle grid, which represents a drivable area; and if both the first number and the second number are zero, it is determined that the category information of the penetration grid is an unknown grid, which represents an unknown area.
[0118] Suppose that the penetration grids on the path of the laser beam include grid A, grid B, grid C, grid D, and grid E. For each penetration grid, the number of times that the laser beam hits and does not hit is recorded: 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; and 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] The determination manner in the embodiment not only considers the case that the laser beam actually hits the penetration grid, but also considers the case that the laser beam does not hit the penetration grid, and the state of the penetration grid is determined by comparing the first quantity and the second quantity, which is helpful to more accurately identify the obstacle and the open space.
[0120] In some 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, it is determined that the longitudinal coordinate of the penetration grid between the laser starting point and the laser point is an arithmetic sequence with an interval of P, and the transverse coordinate 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 transverse coordinate of the penetration grid between the laser starting point and the laser point is an arithmetic sequence with an interval of P, and the longitudinal coordinate is an arithmetic sequence with an interval of P / K; based on the current pose of the laser radar and the respective arithmetic relationships of the transverse coordinate and the longitudinal coordinate of the penetration grid, the respective coordinate information of the penetration grid is determined.
[0121] It can be understood that when the absolute value of the slope K is greater than 1, it indicates that the longitudinal change of the laser beam is greater than the transverse change, and at this time, the longitudinal dimension is traversed. Conversely, if the absolute value of the slope K is less than 1, it indicates that the transverse change of the laser beam is greater than the longitudinal change, and at this time, the transverse dimension is traversed.
[0122] In one example, it is assumed that the current pose 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, the slope K of the straight line from the laser starting point to the laser point is calculated as 0.75. Because the absolute value of the slope K is less than 1, the transverse change of the laser beam is greater than the longitudinal change, and the transverse dimension is selected as the traversal dimension. According to the slope K, the transverse coordinate of the penetration grid forms an arithmetic sequence with an interval of P, i.e., x=0, P, 2P, 3P, 4P. The longitudinal coordinate forms an arithmetic sequence with an interval of K*P according to the slope K and the resolution P, i.e., y=0, 0.75P, 1.5P, 2.25P, 3P. Therefore, the coordinates of the penetration 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, the slope K of the straight line from the laser starting point to the laser point is calculated as 2. 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 dimension is selected as the traversal dimension. According to the slope K, the longitudinal coordinates of the penetration grid form an arithmetic sequence with interval P, i.e., y = 0, P, 2P, 3P, 4P. The lateral coordinates form an arithmetic sequence with interval P / K according to the slope K and the resolution P, i.e., x = 0, 0.5P, P, 1.5P, 2P. Therefore, the coordinates of the penetration grid on the laser beam path are (0, 0), (0.5P, P), (P, 2P), (1.5P, 3P), and (2P, 4P).
[0125] The method of calculating the coordinate information of the penetration grid in this embodiment can adapt to the degree of inclination of the laser beam path, and accurately determine the penetration grid through which the laser beam passes, whether the inclination is steep or gentle.
[0126] The obstacle identification method embodiments of the present application are described in detail above, Figures 1 to 8 The obstacle identification device embodiments of the present application are described in detail below. It should be understood that the description of the obstacle identification method embodiments corresponds to the description of the obstacle identification device embodiments, and therefore, the parts not described in detail can be referred to the previous method embodiments. Figure 9 The obstacle identification device embodiments of the present application are described in detail below. It should be understood that the description of the obstacle identification method embodiments corresponds to the description of the obstacle identification device embodiments, and therefore, the parts not described in detail can be referred to the previous method embodiments.
[0127] Figure 9 Fig. 1 shows a structure schematic diagram of an obstacle identification device provided by an embodiment of the present application. As shown in Fig. 1, Figure 9 The obstacle identification device 90 provided by the embodiment of the present application includes:
[0128] A first determination module 910 is configured to determine a dynamic laser point cloud based on the scanning data collected by the laser radar.
[0129] A clustering module 920 is configured to cluster the dynamic laser point cloud to obtain a first obstacle in the dynamic laser point cloud.
[0130] A tracking module 930 is configured to track the first obstacle to determine a moving speed of the first obstacle.
[0131] A second determination module 940 is configured to determine a second obstacle in the dynamic laser point cloud by taking the first obstacle with a moving speed greater than a target speed as the second obstacle.
[0132] In an embodiment of the present application, the clustering module 920 is further configured to, for each laser point in the dynamic laser point cloud, determine a distance difference value between the laser point and a neighboring laser point of the laser point, wherein the neighboring laser point of the laser point is a laser point whose belonging to which cluster is iteratively calculated last time; determine whether the laser point and the neighboring laser point belong to a same cluster based on a size relationship between the distance difference value and a target distance difference threshold value, wherein the target distance difference threshold value is adjusted when the neighboring laser point is iteratively calculated to belong to which cluster; and determine a first obstacle in the dynamic laser point cloud based on the cluster in the dynamic laser point cloud.
[0133] In an embodiment of the present application, the clustering module 920 is further configured to, if the laser point and the neighboring laser point belong to the same cluster, adjust the target distance difference threshold value based on the distance difference value; and if the laser point and the neighboring laser point do not belong to the same cluster, adjust the target distance difference threshold value based on a measured distance value of the laser point and an angle increment between the laser point and the neighboring laser point.
[0134] In an embodiment of the present application, the clustering module 920 is further configured to adjust the target distance difference threshold value to a first target multiple of a larger value between the distance difference value and the target distance difference threshold value.
[0135] In an embodiment of the present application, the clustering module 920 is further configured to determine a product result of the measured distance value of the laser point and the angle increment; and adjust the target distance difference threshold value to a second target multiple of the product result.
[0136] In an embodiment of the present application, the clustering module 920 is further configured to determine a size of the cluster in the dynamic laser point cloud; and determine a cluster with a size meeting a target condition as the first obstacle in the dynamic laser point cloud; preferably, the target condition comprises: a radius smaller than a target length.
[0137] In an embodiment of the present application, the tracking module 930 is further configured to, for each frame of scan data collected by the laser radar, determine a first obstacle C i , respectively, (i∈{1,…,N k}) and N k denotes a number of the first obstacles in the current frame of scan data; determine, based on the respective position parameters of each first obstacle C i , a first obstacle C i with a shortest distance to each first obstacle C j , respectively, (j∈{1,…,N k―1}) and N k―1 denotes a number of the first obstacles in the previous frame of scan data; and if the shortest distance between the first obstacle C j and the first obstacle C i is smaller than a target obstacle following distance threshold value, determine, based on the first obstacle C j , a first obstacle C i in the previous frame of scan data that follows the first obstacle C j .j the first obstacle C i a respective distance parameter, determining the first obstacle C i a moving speed.
[0138] In an embodiment of the present application, the tracking module 930 is further configured to determine the first obstacle C j the first obstacle C i a shortest distance is not less than a target obstacle following distance threshold, determine the first obstacle C i as a second obstacle in the dynamic laser point cloud.
[0139] In an embodiment of the present application, the first determining module 910 is further configured to generate a grid map based on the scanning data collected by the laser radar; map each laser point contained in the scanning data to the grid map; and determine the laser point as a dynamic laser point cloud if the laser point falls into a drivable area of the grid map.
[0140] In an embodiment of the present application, the first determining module 910 is further configured to create a blank grid map of a target size; determine a penetration grid between a laser starting point and a laser point in the blank grid map based on each frame of scanning data; and determine attribute information of the penetration grid to obtain the grid map, the attribute information including category information and coordinate information of the penetration grid.
[0141] In an embodiment of the present application, the first determining module 910 is further configured to, for each penetration grid, record a first number of laser beams hitting the penetration grid and a second number of laser beams not hitting the penetration grid; determine the category information of the penetration grid as an occupied grid if the first number is not less than the second number, the occupied grid representing an obstacle area; determine the category information of the penetration grid as an idle grid if the first number is less than the second number, the idle grid representing a drivable area; and determine the category information of the penetration grid as an unknown grid if both the first number and the second number are zero, the unknown grid representing an unknown area.
[0142] In an embodiment of the present application, the first determining module 910 is further configured to determine a slope K of a straight line on which the laser starting point and the laser point are located and a resolution P of the blank grid map; determine a vertical coordinate of the penetration grid between the laser starting point and the laser point as an arithmetic sequence with an interval of P and a horizontal coordinate as an arithmetic sequence with an interval of K*P if an absolute value of the slope K is greater than 1; determine the horizontal coordinate of the penetration grid between the laser starting point and the laser point as an arithmetic sequence with an interval of P and the vertical coordinate as an arithmetic sequence with an interval of P / K if the absolute value of the slope K is less than 1; and determine respective coordinate information of the penetration grid based on a current pose of the laser radar and respective arithmetic relationships of the horizontal coordinate and the vertical coordinate of the penetration grid.
[0143] In the following, reference will be made to Figure 10This describes an electronic device according to embodiments of the present application. Figure 10 The diagram shown is a structural schematic of an electronic device provided in an embodiment of this application.
[0144] like Figure 10 As shown, the electronic device 100 includes one or more processors 1001 and storage. Figure 10 The diagram shown is a structural schematic of an electronic device provided in an embodiment of this application. Figure 10 As shown, the electronic device 100 includes one or more processors 1001 and memory 1002.
[0145] The processor 1001 may be a central processing unit (CPU) or other form of processing unit with 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, which 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. 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 execute the program instructions to implement the obstacle recognition methods of the various embodiments of this application described above and / or other desired functions. The computer-readable storage medium may also store various contents such as scan data, dynamic laser point clouds, first obstacles, second obstacles, etc.
[0147] In one example, the electronic device 100 may also include an input device 1003 and an output device 1004, which are interconnected via a bus system and / or other forms of connection mechanism (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 scan data, dynamic laser point clouds, first obstacles, second obstacles, etc. The output device 1004 may include, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices, etc.
[0150] Of course, for the sake of simplicity, Figure 10Only some of the components of the electronic device 100 related to the present application are shown, and components such as a bus, an input / output interface, and the like are omitted. In addition, the electronic device 100 can include any other appropriate components according to a specific application.
[0151] In addition to the above method and device, an embodiment of the present application can also be a computer program product, which includes computer program instructions, which, when executed by a processor, cause the processor to perform the steps of the obstacle identification method according to various embodiments of the present application described above in the specification.
[0152] The computer program product can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++, etc., and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server.
[0153] In addition, an embodiment of the present application can also be a computer readable storage medium, which stores computer program instructions, which, when executed by a processor, cause the processor to perform the steps of the obstacle identification method according to various embodiments of the present application described above in the specification.
[0154] The computer readable storage medium can take any combination of one or more of the following: a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, an electrical, a magnetic, an optical, an electromagnetic, an infrared, or a semiconductor system, device or apparatus, or any suitable combination of the above. More specific examples (a non-exhaustive list) of the readable storage medium include an electrical connection having one or more wires, a portable disc, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0155] The above describes the basic principles of the present application in combination with specific embodiments, but it needs to be pointed out that the advantages, benefits, effects and the like mentioned in the present application are only examples and are not limiting, and these advantages, benefits, effects and the like cannot be considered as necessary for each embodiment of the present application. In addition, the above specific details disclosed are only for the purpose of example and understanding, and are not limiting, and the above details do not limit the present application to be necessarily implemented with the above specific details.
[0156] The block diagrams of the devices, apparatuses, equipment, systems involved in the present application are only illustrative examples and are not intended to require or imply the connection, arrangement, configuration shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, equipment, systems can be connected, arranged, configured in any manner. Words such as "include", "contain", "have" and the like are open-ended words, mean "including but not limited to", and can be used interchangeably. The words "or" and "and" used herein mean the word "and / or", and can be used interchangeably unless the context clearly indicates otherwise. The word "such as" used herein means the phrase "such as but not limited to", and can be used interchangeably.
[0157] It also needs to be pointed out that in the devices, equipment and methods of the present application, each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be considered as equivalent solutions of the present application.
[0158] The above description of the disclosed aspects is provided so that any person skilled in the art can make or use the present application. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein can 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 is intended to be accorded 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. Furthermore, this description is not intended to limit the embodiments of the present application to the forms disclosed herein. Although a number of 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 by, Applied to a self-moving device deployed with a laser radar, the method comprises: 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 a moving speed of the first obstacle; determining a second obstacle in the dynamic laser point cloud as the first obstacle with a moving speed greater than a target speed. The clustering of the dynamic laser point cloud to obtain the first obstacle in the dynamic laser point cloud comprises: determining, for each laser point in the dynamic laser point cloud, a distance difference value between the laser point and a neighboring laser point of the laser point, wherein the neighboring laser point of the laser point is a previous laser point iteratively calculated to belong to which cluster; determining whether the laser point and the neighboring laser point belong to the same cluster based on a size relationship between the distance difference value and a target distance difference threshold value, wherein the target distance difference threshold value is adjusted when the neighboring laser point is iteratively calculated to belong to which cluster; and determining the first obstacle in the dynamic laser point cloud based on the clusters in the dynamic laser point cloud.
2. The obstacle recognition method according to claim 1, characterized by, Further comprising: if the laser point and the neighboring laser point belong to the same cluster, adjusting the target distance difference threshold value based on the distance difference value; if the laser point and the neighboring laser point do not belong to the same cluster, adjusting the target distance difference threshold value based on a measured distance value of the laser point and an angle increment between the laser point and the neighboring laser point.
3. The obstacle recognition method according to claim 2, characterized by, The adjusting of the target distance difference threshold value based on the distance difference value comprises: adjusting the target distance difference threshold value to a first target multiple of a larger value between the distance difference value and the target distance difference threshold value.
4. The obstacle recognition method according to claim 2, characterized by, The adjusting of the target distance difference threshold value based on the measured distance value of the laser point and the angle increment between the laser point and the neighboring laser point comprises: determining a product result of the measured distance value of the laser point and the angle increment; adjusting the target distance difference threshold value to a second target multiple of the product result.
5. The obstacle recognition method according to claim 1, characterized by, The determining of the first obstacle in the dynamic laser point cloud based on the clusters in the dynamic laser point cloud comprises: determining a size of the clusters in the dynamic laser point cloud; determining a cluster with a size meeting a target condition as the first obstacle in the dynamic laser point cloud.
6. The obstacle recognition method according to claim 5, wherein The target condition comprises: a radius less than a target length.
7. The obstacle recognition method according to any one of claims 1 to 6, characterized by, The tracking of the first obstacle to determine the moving speed of the first obstacle comprises: For each frame of scan data collected by the laser radar, determine each first obstacle in the current frame of scan data respective position parameters, , denotes the number of first obstacles in the current frame of scan data; based on each of the first obstacles respective position parameters determined in a previous frame of scan data for each of the first obstacles the first obstacle having the shortest distance , , denotes the number of first obstacles in the previous frame of scan data; If the first obstacle With the first obstacle If the shortest distance is less than the target obstacle following distance threshold, then based on the first obstacle... With the first obstacle The distance parameters of each object are used to determine the first obstacle. Movement speed.
8. The obstacle recognition method according to claim 7, characterized by, Further comprising: If the first obstacle With the first obstacle If the shortest distance is not less than the target obstacle following distance threshold, then the first obstacle is determined. This refers to the second obstacle in the dynamic laser point cloud.
9. The obstacle recognition method according to any one of claims 1 to 6, characterized by, The determining of the dynamic laser point cloud based on the scanning data collected by the laser radar comprises: generating a grid map based on the scanning data collected by the laser radar; mapping each laser point contained in the scanning data to the grid map; if the laser point falls into a drivable area of the grid map, determining the laser point as the dynamic laser point cloud.
10. The obstacle recognition method according to claim 9, characterized by, The generating of the grid map based on the scanning data collected by the laser radar comprises: creating a blank grid map with a target size; determining a penetration grid between a laser starting point and a laser point in the blank grid map based on each frame of scanning data; Determine attribute information of the penetration grid to obtain the grid map, the attribute information including category information and coordinate information of the penetration grid.
11. The obstacle recognition method according to claim 10, characterized by, The determining the attribute information of the penetration grid comprises: For each of the penetration grid, record a first number of laser beams hitting the penetration grid and a second number of the laser beams not hitting the penetration grid; If the first number is not less than the second number, determine the category information of the penetration grid as an occupied grid, the occupied grid representing an obstacle region; If the first number is less than the second number, determine the category information of the penetration grid as an idle grid, the idle grid representing a drivable region; If the first number and the second number are both zero, determine the category information of the penetration grid as an unknown grid, the unknown grid representing an unknown region.
12. The obstacle recognition method according to claim 10, wherein The determining the attribute information of the penetration grid comprises: Determine a slope K of a straight line from the laser starting point to the laser point and a resolution P of the blank grid map; If the absolute value of the slope K is greater than 1, then the longitudinal coordinates of the penetration grid between the laser starting point and the laser point are an arithmetic progression with a step P, and the transverse coordinates are an arithmetic progression with a step K P; If the absolute value of the slope K is less than 1, determine the horizontal coordinates of the penetration grid between the laser starting point and the laser point as an arithmetic sequence with an interval of P and the vertical coordinates as an arithmetic sequence with an interval of P / K; Determine the coordinate information of the penetration grid based on the current pose of the laser radar and the respective arithmetic relationship of the horizontal coordinates and the vertical coordinates of the penetration grid.
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 identification method in any one of claims 1 to 12.
14. An electronic device, comprising: Comprise: A processor; A memory for storing instructions executable by the processor; The processor is used to execute the obstacle identification method in any one of claims 1 to 12.
15. A computer program product, characterised in that, The computer program product comprises instructions for causing an electronic device to implement the obstacle identification method in any one of claims 1 to 12 when the instructions are executed on the electronic device. The computer program product comprises instructions for causing an electronic device to implement the obstacle identification method in any one of claims 1 to 12 when the instructions are executed on the electronic device.
Citation Information
Patent Citations
Dynamic obstacle anti-collision method
CN111650945A