A laser radar obstacle detection method, device and storage medium

By using a lidar obstacle detection method assisted by IMU and gyroscope data, a 3D bounding box for obstacles is constructed, which solves the problems of false alarms, fuzziness, and removal of hollow structures in lidar obstacle detection in high vegetation environments, and achieves accurate obstacle detection and improved robustness.

CN123029499APending Publication Date: 2026-11-03HUBEI CHUYU WATER TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611386453.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-08
Publication Date
2026-11-03

AI Technical Summary

Technical Problem

Existing lidar obstacle detection methods suffer from problems such as false alarm interference, blurred physical boundaries of obstacles, difficulty in stripping features from hollow structures, and a contradiction between real-time perception efficiency and algorithm robustness in high-vegetation environments, making it difficult to achieve accurate obstacle detection in complex unstructured scenarios.

Method used

By importing IMU acceleration data and gyroscope data for point cloud analysis, a 3D bounding box for obstacles is constructed. Fences and towers are then detected. The fence detection analysis results are used to construct a 3D bounding box for the fences, and the tower detection analysis results are used to construct a 3D bounding box for the towers, thus achieving precise geometric stripping and robust detection of obstacles.

Benefits of technology

It suppressed false alarms caused by tall vegetation, ensured the continuity of operations, achieved precise geometric separation between tall grass and obstacles, solved the problems of missed cutting and missed detection, and improved the accuracy and robustness of obstacle detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123029499A_ABST
    Figure CN123029499A_ABST
Patent Text Reader

Abstract

The application provides a laser radar obstacle detection method, device and storage medium, and belongs to the technical field of obstacle detection.The method comprises the following steps: introducing original laser point clouds, IMU acceleration data and gyroscope data, performing point cloud analysis on the original laser point clouds according to the IMU acceleration data and the gyroscope data to obtain a target laser point cloud set; constructing an obstacle 3D bounding box through the target laser point cloud set; performing fence detection analysis on the target laser point cloud set, and constructing a fence 3D bounding box according to the fence detection analysis result.The application suppresses the false alarm caused by high vegetation, guarantees the continuity of operation, realizes the accurate geometric stripping of high grass and obstacles, solves the problem of missed cutting, solves the problem of missed detection and accurate positioning of the hollow structure in a complex background, reduces the dependence of the perception algorithm on the hardware computing power, effectively improves the recognition robustness in an unstructured and chaotic vegetation environment, and improves the accuracy of obstacle detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of obstacle detection technology, specifically to a lidar obstacle detection method, device, and storage medium. Background Technology

[0002] With the development of intelligent agricultural and forestry machinery, lawnmower robots have gradually expanded from regular environments such as courtyards and parks to complex unstructured scenarios such as embankments, slopes, and water conservancy projects. Currently, mainstream outdoor robot perception solutions generally employ a strategy that integrates LiDAR and visual sensors (color image + depth map), with the two serving as redundancy and complements each other. Visual sensors possess excellent semantic recognition capabilities, but they heavily rely on deep learning detection or segmentation models, exhibiting poor stability under drastic changes in outdoor lighting. Furthermore, the openwork structure makes it difficult to generate continuous and effective depth information in the visual sensor's depth map. LiDAR, on the other hand, offers high ranging accuracy, is less affected by ambient light, and has a wider field of view, making it a core and reliable data source for obstacle avoidance decisions. However, in practical operations, existing LiDAR obstacle detection methods face the following serious challenges: I. False Alarm Interference in High-Vegetation Environments. Traditional LiDAR obstacle detection algorithms typically follow a processing logic of "first segmenting and stripping the ground, then performing spatial clustering on the remaining point cloud," treating all point cloud clusters above the ground as potential obstacles. This perception's "high false alarm rate" leads to frequent mis-triggering of obstacle avoidance procedures, causing unnecessary robot downtime or route changes, severely disrupting the continuity and efficiency of unmanned operations.

[0003] 2. Blurred physical boundaries of obstacles. Traditional clustering algorithms treat obstacles and surrounding clumps of weeds as a single unit, resulting in severely redundant obstacle bounding boxes. This forces the robot to allocate excessive safety margins during path planning, leaving large untrimmed areas around obstacles and significantly impacting operational coverage.

[0004] III. Difficulty in Identifying Features from Hollow Structures. Although lidar can capture depth information of hollow structures, the echo points of hollow objects are sparse and discontinuous, making them easily obscured by dense vegetation point clouds. Accurately extracting the rigid geometric features of a target object while removing non-rigid vegetation attached to it, even when partially obscured by vegetation, remains a key technical challenge in current sensing technology.

[0005] IV. The contradiction between real-time perception efficiency and algorithm robustness. Some existing high-precision segmentation algorithms attempt to distinguish targets by calculating features such as local normal vectors or curvature of point clouds. However, in high-density point cloud scenarios like embankments, the computational overhead is extremely high due to the need to perform large-scale neighborhood searches and feature estimations, making it difficult to meet the stringent real-time perception requirements of embedded edge devices in lawnmower robots. In addition, the unstructured characteristics of weed vegetation cause drastic fluctuations in local normal distribution, making segmentation methods based on geometric consistency less robust when dealing with "weed barrier stripping," easily leading to recognition failures.

[0006] Therefore, how to accurately separate obstacle entities from interfering weeds and restore the true physical outline of obstacles in complex sloping vegetation environments using algorithms with low computational overhead and strong robustness has become the key to ensuring operational safety and improving mowing efficiency. Summary of the Invention

[0007] The technical problem to be solved by the present invention is to provide a lidar obstacle detection method, device and storage medium to address the shortcomings of the prior art.

[0008] The technical solution of the present invention to solve the above-mentioned technical problems is as follows: A laser radar obstacle detection method, comprising the following steps: Import the original laser point cloud, IMU acceleration data and gyroscope data, and perform point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set; A 3D bounding box for obstacles is constructed using the target laser point cluster; The target laser point cloud is subjected to fence detection and analysis, and a 3D bounding box of the fence is constructed based on the fence detection and analysis results; The target laser point cloud is subjected to tower detection and analysis, and a 3D bounding box of the tower is constructed based on the fence detection and analysis results. The obstacle 3D bounding box, the fence 3D bounding box, and the tower 3D bounding box are used as the obstacle detection results of the lidar.

[0009] Another technical solution of the present invention to solve the above-mentioned technical problems is as follows: A laser radar obstacle detection device, comprising: The import module is used to import raw laser point clouds, IMU acceleration data, and gyroscope data; The point cloud analysis module is used to perform point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set; A construction module is used to construct a 3D bounding box for obstacles using the target laser point cloud; The fence detection and analysis module is used to perform fence detection and analysis on the target laser point cloud and construct a 3D bounding box of the fence based on the fence detection and analysis results. The detection result acquisition module is used to perform tower detection analysis on the target laser point cloud, construct a 3D bounding box for the tower based on the fence detection analysis results, and use the obstacle 3D bounding box, the fence 3D bounding box, and the tower 3D bounding box as the LiDAR obstacle detection results.

[0010] Based on the above-mentioned lidar obstacle detection method, the present invention also provides a lidar obstacle detection system.

[0011] Another technical solution of the present invention to solve the above-mentioned technical problems is as follows: an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the laser radar obstacle detection method described above is implemented.

[0012] Based on the above-described lidar obstacle detection method, the present invention also provides a computer-readable storage medium.

[0013] Another technical solution of the present invention to solve the above-mentioned technical problems is as follows: a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the laser radar obstacle detection method as described above.

[0014] The beneficial effects of this invention are as follows: A target laser point cloud set is obtained through point cloud analysis of the original laser point cloud using IMU acceleration data and gyroscope data. An obstacle 3D bounding box is constructed using this target laser point cloud set. Fence detection analysis is performed on the target laser point cloud set, and a fence 3D bounding box is constructed based on the fence detection analysis results. Tower detection analysis is performed on the target laser point cloud set, and a tower 3D bounding box is constructed based on the fence detection analysis results. These obstacle 3D bounding boxes, fence 3D bounding boxes, and tower 3D bounding boxes are used as the LiDAR obstacle detection results. This suppresses false alarms caused by high vegetation, ensures the continuity of operations, achieves precise geometric separation between tall grass and obstacles, solves the problem of missed cutting, and addresses the challenges of missed detection and accurate positioning of hollow structures in complex backgrounds. It also reduces the dependence of the perception algorithm on hardware computing power, effectively improves the robustness of recognition in unstructured and cluttered vegetation environments, and enhances the accuracy of obstacle detection. Attached Figure Description

[0015] Figure 1 A schematic flowchart of the lidar obstacle detection method provided in an embodiment of the present invention; Figure 2A flowchart illustrating the solid obstacle extraction process of the lidar obstacle detection method provided in this embodiment of the invention; Figure 3 A block diagram illustrating the architecture of the lidar obstacle detection method provided in this embodiment of the invention; Figure 4 A schematic diagram of the coordinate system for the lidar obstacle detection method provided in an embodiment of the present invention; Figure 5 A schematic diagram of high-voltage tower fitting for the lidar obstacle detection method provided in this embodiment of the invention; Figure 6 This is a block diagram of a lidar obstacle detection device provided in an embodiment of the present invention. Detailed Implementation

[0016] The principles and features of the present invention are described below with reference to the accompanying drawings. The examples given are only for explaining the present invention and are not intended to limit the scope of the present invention.

[0017] Figure 1 This is a flowchart illustrating a lidar obstacle detection method provided in an embodiment of the present invention.

[0018] like Figures 1 to 4 As shown, a lidar obstacle detection method includes the following steps: S1: Import the original laser point cloud, IMU acceleration data and gyroscope data, and perform point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set; S2: Construct a 3D bounding box for the obstacle using the target laser point cloud; S3: Perform fence detection and analysis on the target laser point cloud, and construct a 3D bounding box for the fence based on the fence detection and analysis results; S4: Perform tower detection and analysis on the target laser point cloud, construct a tower 3D bounding box based on the fence detection and analysis results, and use the obstacle 3D bounding box, the fence 3D bounding box, and the tower 3D bounding box as the LiDAR obstacle detection results.

[0019] In the above embodiments, the target laser point cloud set is obtained by analyzing the original laser point cloud using IMU acceleration data and gyroscope data. An obstacle 3D bounding box is constructed using the target laser point cloud set. Fence detection analysis is performed on the target laser point cloud set, and a fence 3D bounding box is constructed based on the fence detection analysis results. Tower detection analysis is performed on the target laser point cloud set, and a tower 3D bounding box is constructed based on the fence detection analysis results. The obstacle 3D bounding box, fence 3D bounding box, and tower 3D bounding box are used as the obstacle detection results of the lidar. This suppresses false alarms caused by tall vegetation, ensures the continuity of operations, achieves precise geometric separation between tall grass and obstacles, solves the problem of missed cutting, and solves the problem of missed detection and accurate positioning of hollow structures in complex backgrounds. It reduces the dependence of the perception algorithm on hardware computing power, effectively improves the robustness of recognition in unstructured and messy vegetation environments, and also improves the accuracy of obstacle detection.

[0020] Optionally, as an embodiment of the present invention, the process of performing point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set includes: S11: Perform attitude fusion on the IMU acceleration data and the gyroscope data to obtain the original gravity vector; S12: The original gravity vector is calculated using the first equation to obtain the unit vector of the body coordinates. The first equation is: , in, The unit vector for body coordinates. The original gravity vector, It is an L2 norm; S13: Solve for the rotation quaternions of the body coordinate unit vector and the body Z-axis unit vector to obtain the horizontal coordinate rotation matrix; S14: The transformed laser point cloud is obtained by calculating the horizontal coordinate rotation matrix and the original laser point cloud using the second equation, which is: , in, The converted laser point cloud, This is the horizontal coordinate rotation matrix. Original laser point cloud; S15: Divide the converted laser point cloud according to the preset sector division rules to obtain multiple divided laser point clouds in multiple sectors. The divided laser point cloud includes the vertical height of the divided laser point cloud. S16: Select the minimum vertical height of multiple divided laser point clouds for each sector, and use the corresponding divided laser point clouds as ground seed points to obtain ground seed points corresponding to each sector. S17: Use the principal component analysis algorithm to fit each of the ground seed points to obtain the original fitting plane corresponding to each of the sectors; S19: Extract the fitting plane feature values ​​corresponding to each sector from each of the original fitting planes; S110: Determine whether the feature value of the fitting plane is greater than or equal to the preset feature threshold. If yes, take the original fitting plane of the previous fitting iteration number as the target fitting plane and execute S112; otherwise, execute S111. S111: Determine whether the first preset number of iterations has been reached. If not, return to S11; if yes, use the original fitting plane of the current iteration as the target fitting plane and execute S112. S112: Extract the median height of each of the target fitting planes to obtain the local ground height corresponding to each sector; S113: Calculate the distance between each of the divided laser point clouds and the local ground height corresponding to each sector to obtain multiple unprocessed distances corresponding to each sector; S114: If the distance to be processed is greater than the first preset distance threshold, then the multiple divided laser point clouds corresponding to the distance to be processed are taken as target laser point clouds, thereby obtaining multiple target laser point clouds, and all the target laser point clouds are combined to obtain a target laser point cloud set.

[0021] It should be understood that point cloud horizon projection and ground smoothing extraction are based on gravity compensation.

[0022] Specifically, the current real-time gravity direction is calculated using complementary filtering or attitude fusion algorithms to obtain the gravity vector in the body coordinate system. (i.e., the original gravity vector), which is then normalized to obtain the unit vector representing the "physical upward" direction in the body coordinate system (i.e., the body coordinate unit vector). Through calculation (i.e., the unit vector of the body coordinates) and the unit vector The minimum rotation quaternion between the two coordinate systems yields the rotation matrix from the body coordinate system to the horizon coordinate system. (i.e., the horizontal coordinate rotation matrix). Utilizing... (i.e., the horizon coordinate rotation matrix) projects the entire original laser point cloud onto the horizon coordinate system. For any point in the body coordinate system... Its coordinates in the horizon system (i.e., the transformed laser point cloud). Considering that typical obstacles in a dam environment (such as fences, towers, utility poles, and pedestrians) typically have their geometric principal axes distributed vertically along the direction of gravity, i.e., perpendicular to the XY plane of the horizontal coordinate system in physical space; this transformation can restore the true vertical properties of obstacles, avoiding feature distortion caused when directly using the body-on-the-sky (BEV) projection in high-slope (e.g., 30 degrees) scenarios. The following operations are all performed based on the horizontal coordinate system. It should be noted that the above-mentioned geometry normalization method based on gravity vectors is not only applicable to high-slope conditions but also to flat terrain scenarios. Considering that the dam working environment typically involves alternating transitions between large-angle slopes and locally flat working surfaces (such as dam crest platforms and dam bottom buffer zones), this transformation ensures that the vertical geometric features of obstacles can obtain a consistent spatial representation under all terrain conditions.

[0023] It should be understood that the process of sector-based topology partitioning (i.e., pre-defined sector partitioning rules) is as follows: The point cloud (i.e., the converted laser point cloud) is divided into multiple sectors along the circumference and multiple rings along the radial direction to establish a spatial index.

[0024] Specifically, the process of ground seed point extraction and iterative fitting is as follows: Within each sector, the set of points with the lowest vertical height is selected as the initial seed points (i.e., ground seed points). An iterative plane fitting algorithm based on principal component analysis (PCA) is used to calculate the local ground normal vector. A maximum number of iterations (e.g., three) is set for the fitting process to balance computational efficiency and accuracy. In each iteration, the eigenvalue distribution of the fitted plane is calculated. If the plane's disorder exceeds a threshold (i.e., a preset plane feature threshold), the current candidate point set is determined to be contaminated by non-ground targets (such as the bottom of tall grass or obstacles). The iteration is immediately stopped, and the last valid fitting result is used as the local ground baseline.

[0025] It should be understood that the median height of the point set within the fitted plane of each sector is extracted as the local ground height. Point clouds with a distance greater than a certain threshold (e.g., 0.1m) (i.e., the first preset distance threshold) are considered non-ground points (i.e., target laser point clouds) and enter the subsequent fine stripping process.

[0026] In the above embodiments, point cloud analysis is performed on the original laser point cloud based on IMU acceleration data and gyroscope data to obtain the target laser point cloud set, which restores the true vertical properties of the obstacle. This avoids the feature distortion that occurs when directly using the body coordinate system to project a top view in a steep slope scene, and ensures that the vertical geometric features of the obstacle can obtain a consistent spatial expression under all terrain conditions.

[0027] Optionally, as an embodiment of the present invention, the target laser point cloud set includes multiple target laser point clouds, and the process of constructing an obstacle 3D bounding box through the target laser point cloud set includes: Point cloud cluster analysis was performed on all the target laser point clouds to obtain multiple original point cloud clusters; By filtering and analyzing all the original point cloud clusters, multiple target point cloud clusters are obtained; The maximum values ​​of the three axes are calculated for each target point cloud cluster to obtain the maximum value of the X-axis, the maximum value of the Y-axis, and the maximum value of the Z-axis corresponding to each target point cloud cluster. The minimum values ​​of the three axes are calculated for each of the target point cloud clusters to obtain the minimum value of the X-axis, the minimum value of the Y-axis, and the minimum value of the Z-axis corresponding to each of the target point cloud clusters. Construct the obstacle 3D bounding box using all the X-axis maximum values, all the Y-axis maximum values, all the Z-axis maximum values, all the X-axis minimum values, all the Y-axis minimum values, and all the Z-axis minimum values.

[0028] It should be understood that solid obstacles (such as boundary markers, walls, tree trunks, etc.) are extracted and screened based on the peak density search of the horizon system. Other methods, such as voxel covariance features, have poor discriminative power under mixed voxels of obstacles and vegetation and are difficult to optimize voxel scale parameters, and are not as stable as peak density projection in this scenario.

[0029] It should be understood that the maximum and minimum values ​​of these clusters (i.e., target point cloud clusters) in the x, y, z directions are calculated to obtain the 3D bounding box (i.e., obstacle 3D bounding box).

[0030] In the above embodiments, the 3D bounding box of obstacles is constructed by the target laser point cloud, which improves the stability of the projection, solves the problem of missed cutting, solves the problem of missed detection and accurate positioning of hollow structures in complex backgrounds, reduces the dependence of the perception algorithm on hardware computing power, effectively improves the recognition robustness in unstructured messy vegetation environment, and also improves the accuracy of obstacle detection.

[0031] Optionally, as an embodiment of the present invention, the target laser point cloud includes the target laser point cloud X-axis coordinate and the target laser point cloud Y-axis coordinate, and the process of performing point cloud cluster analysis on all the target laser point clouds to obtain multiple original point cloud clusters includes: Calculate the minimum X-axis coordinate of all the target laser point clouds to obtain the minimum X-axis coordinate of the laser point cloud; Calculate the minimum Y-axis coordinate of all the target laser point clouds to obtain the minimum Y-axis coordinate of the laser point cloud; The minimum X-axis coordinate of the laser point cloud and the X-axis coordinates of each target laser point cloud are calculated using the third equation to obtain multiple grid row indices. The third equation is as follows: , The minimum Y-axis coordinate of the laser point cloud and the Y-axis coordinates of each target laser point cloud are calculated using the fourth equation to obtain multiple grid column indices. The fourth equation is: , in, For the first Each grid row index For the first X-axis coordinates of the laser point cloud of the target. The minimum X-axis coordinate of the laser point cloud. To preset the grid cell resolution, This is the floor function. For the first Grid column index, For the first The Y-axis coordinates of the laser point cloud of the target. The minimum X-axis coordinate of the laser point cloud; Multiple raw grid densities are constructed using all the grid row indexes and all the grid column indexes; If the original mesh density is greater than a preset density threshold and is greater than the eight-neighbor mesh density of the original mesh density, then the original mesh density is used as a candidate mesh density, thereby obtaining multiple candidate mesh densities. The candidate grid densities are sorted according to their density height to obtain multiple sorted grid densities; If the sorted grid density meets the determination condition, then the sorted grid density is used as the grid density to be processed, thereby obtaining multiple grid densities to be processed. The determination condition is: , in, It is a minimum value function. For the first Sorted grid density row index For the first One grid density row index to be processed, For the first Sorted grid density column index, For the first One grid density row index to be processed, The preset suppression radius threshold; Extract the peak center corresponding to each of the grid densities to be processed; Distances are calculated for each target laser point cloud and the peak center corresponding to each grid density to be processed, to obtain multiple processed distances corresponding to each target laser point cloud. If the multiple processed distances corresponding to the target laser point cloud are all less than the preset clustering search radius, then the target laser point cloud is assigned to the original point cloud cluster corresponding to the grid density to be processed, thereby obtaining multiple original point cloud clusters.

[0032] It should be understood that for non-ground point clusters any point in (i.e., the target laser point cloud), its mapped grid index for: , in, and The minimum x and y coordinates of the non-ground point cluster. For a preset grid cell resolution (e.g., 0.1m), the number of point cloud points projected onto each grid cell is counted; this is the density of that grid cell. (i.e., the original mesh density).

[0033] Specifically, for any grid cell, if its density If the original grid density meets a preset minimum density threshold (e.g., 5) and is greater than the density values ​​of all its 8-neighboring grids, it is recorded as a candidate unit for local density peaks (i.e., candidate grid density). Compared with traditional Euclidean clustering, this method can more effectively locate rigid targets with significant reflective characteristics hidden in tall grass. Tall grass exhibits spatial dispersion in BEV space, making it difficult to form high-density peak centers.

[0034] Specifically, given that a single obstacle may physically span multiple grids, generating multiple spatially adjacent local peaks in the BEV density map, directly using all peaks as cluster centers would lead to duplicate identification of the same target. Therefore, redundant candidate density peak units are eliminated by performing greedy non-maximum suppression (NMS) logic. First, all candidate units (i.e., candidate grid densities) are sorted according to density... (i.e., the original mesh density) are arranged from high to low. Candidate cells are traversed, and the index of the current peak cell to be processed is set to... The set of higher-density cell indices that have been retained (i.e., the mesh density to be processed) is The condition for retaining the current unit is: , in The preset suppression radius threshold (e.g., 3) is used to identify an obstacle cluster center only when it maintains a sufficient distance from all retained cells.

[0035] Specifically, using the geometric center of the peak unit retained after NMS filtering (i.e., the peak center) as the anchor point, the original non-ground point cloud (i.e., the target laser point cloud) is traversed, and the distance from each point to each peak center in the XY plane (i.e., the processed distance) is calculated. If the distance (i.e., the processed distance) is less than the preset clustering search radius (set according to the physical size of typical obstacles, such as 0.3m) (i.e., the preset clustering search radius), the point is assigned to the cluster to which the nearest peak belongs (i.e., the original point cloud cluster). The search radius effectively prevents the infinite extension of the obstacle boundary caused by the physical adhesion of tall grass. For obstacles with physical sizes much larger than the clustering search radius (such as walls), multiple local high-density peak centers will be formed in the previous processing, thus ensuring that the system can achieve complete coverage of the physical outline of large targets through multi-center association.

[0036] In the above embodiments, point cloud cluster analysis is performed on all target laser point clouds to obtain multiple original point cloud clusters, which more effectively locates rigid targets with significant reflective characteristics hidden in tall grass, and achieves complete coverage of the physical outline of large targets.

[0037] Optionally, as an embodiment of the present invention, the process of filtering and analyzing all the original point cloud clusters to obtain multiple target point cloud clusters includes: S221: Count the total number of point clouds in each of the original point cloud clusters to obtain the total number of point clouds corresponding to each of the original point cloud clusters; S222: If the total number of point clouds is greater than the preset threshold for the total number of point clouds, then the original point cloud cluster corresponding to the total number of point clouds is taken as the point cloud cluster to be processed, thereby obtaining multiple point cloud clusters to be processed. S223: Calculate the vertical height of each of the point cloud clusters to be processed to obtain the vertical height of the point cloud clusters corresponding to each of the point cloud clusters to be processed. S224: If the vertical height of the point cloud cluster is greater than the preset vertical height threshold, then the point cloud cluster to be processed corresponding to the vertical height of the point cloud cluster is taken as the processed point cloud cluster, thereby obtaining multiple processed point cloud clusters. S225: Perform vertical layering along the Z-axis on each of the processed point cloud clusters to obtain multiple vertical point cloud layers corresponding to each of the processed point cloud clusters. S226: Calculate the point cloud density for each of the vertical point cloud layers to obtain multiple point cloud densities corresponding to each of the processed point cloud clusters. S227: According to the preset vertical connectivity filtering rules, the multiple point cloud densities corresponding to each processed point cloud cluster are filtered, and the processed point cloud clusters corresponding to the filtering results are used as filtered point cloud clusters, thereby obtaining multiple filtered point cloud clusters. S228: Import the body transformation matrix and the obstacle mass center of the previous moment. Calculate the reference coordinates using the fifth equation, which is: , in, As reference coordinates, For the transformation matrix of the organism, For the first The obstacle of time, the material mind; S229: Using the reference coordinates as the center and the preset neighborhood search radius as the radius, search all the filtered point cloud clusters. If the search is successful, obtain the confidence score and sum the preset weight value and the confidence score to obtain the summed confidence score. If the search fails, execute S2210. S2210: Determine whether the preset frame dropping threshold has been reached. If not, return to S228; if so, delete the filtered point cloud clusters. S2211: If the summed confidence score is greater than or equal to the preset confidence threshold, then the filtered point cloud cluster corresponding to the summed confidence score is taken as the target point cloud cluster, thereby obtaining multiple target point cloud clusters.

[0038] It should be understood that although rigid obstacle removal has been initially achieved, some tall grass may still generate local density peaks and absorb surrounding point clouds, resulting in some false alarms of vegetation remaining in the clustering results. Therefore, false alarm removal and screening based on multi-dimensional physical characteristics are still necessary. a) Remove clusters whose number of points (i.e., the total number of point clouds) is less than the preset minimum number of points (e.g., 30) (i.e., the preset threshold for the total number of point clouds). b) Calculate the vertical height of each cluster under the horizon (i.e., the vertical height of the point cloud cluster), and retain only clusters that are greater than the preset safety threshold (e.g., 0.6m) (i.e., the preset vertical height threshold). c) Vertically stratify the clusters along the Z-axis, calculate the point cloud density of each layer, and retain only clusters with vertical connectivity (i.e., the preset vertical connectivity screening rule), thereby obtaining the single-frame point cloud solid obstacle candidate clusters (i.e., the screened point cloud clusters).

[0039] It should be understood that, after the above steps, a very small amount of vegetation noise may still remain in the present invention, which may be misidentified as solid obstacles due to excessive echo density. Therefore, it is necessary to introduce an obstacle confidence tracking mechanism based on cross-frame evidence accumulation. In actual engineering practice, conventional laser SLAM or point cloud registration algorithms perform poorly in unstructured grassland scenes (on the one hand, algorithms based on planar feature matching are prone to geometric degradation in complex vegetation environments; on the other hand, vegetation has obvious non-rigid fluctuation characteristics under wind or machine disturbance, making it difficult for algorithms based on voxel covariance matching to obtain stable residual convergence on non-rigid objects). Furthermore, the yaw angle of the RTK positioning system fluctuates instantaneously, so the strategy of superimposing multiple frames of point clouds and then calculating the covariance cannot be adopted. Forced superposition will instead cause severe ghosting of obstacle boundaries, thereby destroying the original clear geometric determinism in a single frame.

[0040] Specifically, the tracking steps are as follows: Using the transformation matrix (i.e., the body transformation matrix), the center coordinates of the obstacles identified in the previous frame are... (i.e., the obstacle's center of mass) is projected onto the local coordinate system of the current frame to obtain the reference coordinates. As shown in the following formula: With aligned reference coordinates Centered on the current frame, within the candidate cluster set after single-frame quality inspection, the nearest candidate cluster within a preset neighborhood search radius (e.g., 0.5m) is searched. If a candidate cluster is successfully matched within the neighborhood, the obstacle state is updated using the current observation value of that cluster, and the obstacle's confidence score is incremented by a weight value (preset weight value). If no candidate cluster is matched within the neighborhood, the obstacle's reference coordinates are retained. The current confidence level is recorded, and the process enters the frame drop counting stage until the preset maximum frame drop tolerance limit (e.g., 5 frames) (i.e., the preset frame drop threshold) is reached. Then, the deletion operation is performed. This invention only determines the target with a confidence score that exceeds the confidence threshold (corresponding to multiple consecutive successful tracking frames) as the final solid obstacle.

[0041] In the above embodiments, all original point cloud clusters are screened and analyzed to obtain multiple target point cloud clusters, which reduces the dependence of the perception algorithm on hardware computing power, effectively improves the robustness of recognition in unstructured and messy vegetation environments, and also improves the accuracy of obstacle detection.

[0042] Optionally, as an embodiment of the present invention, the process of performing fence detection analysis on the target laser point cloud and constructing a 3D bounding box of the fence based on the fence detection analysis results includes: S31: Perform downsampling processing on the target laser point cloud to obtain a downsampled laser point cloud, wherein the downsampled laser point cloud includes multiple downsampled laser point clouds; S32: The sixth equation is used to calculate the mapped laser point cloud corresponding to each of the downsampled laser point clouds, and the sixth equation is: , in, For the first The mapped laser point cloud corresponding to each downsampled laser point cloud For the first The X-axis coordinates of the downsampled laser point cloud are as follows: Let be the side length of the hash voxel bucket. This is the floor function. For the first The Y-axis coordinate of the downsampled laser point cloud is shown below. For the first The Z-axis coordinates of the downsampled laser point cloud; S33: Multiple three-dimensional hash voxel buckets are obtained from the laser point cloud after all the mappings described; S34: Randomly extract all the three-dimensional hash voxel buckets to obtain the first extracted hash voxel bucket, the second extracted hash voxel bucket, and the third extracted hash voxel bucket. S35: Randomly extract a point from the first extracted hash voxel bucket, the second extracted hash voxel bucket, and the third extracted hash voxel bucket respectively, so as to obtain the first hash voxel bucket sample point, the second hash voxel bucket sample point, and the third hash voxel bucket sample point. S36: The candidate plane unit normal vector is obtained by calculating the sample points of the first hash voxel bucket, the second hash voxel bucket, and the third hash voxel bucket using the seventh formula. The seventh formula is: , in, Let be the candidate plane unit normal vector. For the second hash voxel bucket sample point, This is the sample point of the first hash voxel bucket. This is the sample point of the third hash voxel bucket. It is an L2 norm; S37: Determine whether the absolute value of the candidate plane unit normal vector is less than or equal to a preset near-vertical threshold. If yes, proceed to S38; otherwise, return to S34. S38: Construct the original fence plane using the candidate plane unit normal vector; S39: Calculate the distance between the original fence plane and each of the downsampled laser point clouds to obtain the target distance; S310: If the target distance is less than the second preset distance threshold, then the downsampled laser point cloud corresponding to the target distance is taken as the laser point cloud to be processed, thereby obtaining multiple laser point clouds to be processed; S311: Count the number of all laser point clouds to be processed to obtain the number of points in the laser point cloud to be processed; S312: Return to S34 until the second preset number of iterations is reached, thereby obtaining the number of points within the laser point cloud to be processed; S313: Filter out the number of points in the laser point cloud that meets the filtering conditions from all the points in the laser point cloud to be processed, and take the corresponding original fence plane as the target fence plane and the corresponding laser point cloud to be processed as the fence point cloud. The filtering condition is the maximum value among all the points in the laser point cloud to be processed, and the number of points in the laser point cloud to be processed is greater than or equal to the preset point threshold. S314: Construct a 3D bounding box for the fence using the target fence plane and all the fence point clouds.

[0043] It should be understood that for the near-vertical prior random sampling consensus (RANSAC) plane fitting of the fence, since the point cloud of the fence and other hollow structures is sparse, it is often ignored in the above steps due to insufficient density. This step is specifically compensated for this.

[0044] Specifically, when the visual semantic recognition module detects a fence-type target within the current field of view, the system calls a planar fitting algorithm for the hollow structure as needed to perform spatial voxel downsampling on the obtained non-ground point cloud (i.e., the target laser point cloud set) to construct a point set to be processed with consistent density, setting the voxel grid size to [value missing]. (e.g., 0.1m).

[0045] Set of points to be processed (i.e., the downsampled laser point cloud) is further divided into large-size three-dimensional hash voxel buckets. (bucket size) Significantly greater than (e.g., 0.5m), using a hash function Map the spatial coordinates to the corresponding voxel bucket indices, as follows: The sample extraction logic for RANSAC plane fitting is executed. First, it is extracted from the voxel bucket set. Three distinct voxel buckets were randomly selected from the pool. (i.e., the first extracted hash voxel bucket, the second extracted hash voxel bucket, and the third extracted hash voxel bucket); then, a sample point is randomly selected from each selected voxel bucket. (i.e., the first hash voxel bucket sample points, the second hash voxel bucket sample points, and the third hash voxel bucket sample points), through this two-layer sampling mechanism, it is forcibly ensured that the initial sample points participating in the fitting have sufficient geometric span in physical space.

[0046] Two spatial vectors are constructed using the three extracted sample points (i.e., the sample points of the first hash voxel bucket, the sample points of the second hash voxel bucket, and the sample points of the third hash voxel bucket). and Calculate their cross product to obtain the unit normal vector of the candidate plane. (i.e., the candidate plane unit normal vector), as shown in the following formula: , Extract the vertical component of the normal vector. Determine whether its absolute value meets the preset near-vertical threshold. (i.e., a preset near-vertical threshold), as shown in the following formula: , If the conditions are not met (i.e. the plane is too tilted), the current sampling combination is discarded and resampling is performed.

[0047] For a candidate plane that meets the conditions (i.e., the original fence plane), its plane equation is defined as: (in Traversing the point set. all points Calculate the perpendicular distance from each point to the plane. (i.e., target distance), as shown in the following formula: , Statistics satisfy the distance threshold condition Number of interior points (i.e., the number of points in the laser point cloud to be processed).

[0048] Within a preset number of iterations (i.e., the second preset number of iterations), record the plane parameters that obtain the maximum number of interior points and satisfy the minimum interior point threshold (i.e., the preset interior point threshold). As the final fence plane equation (i.e., the target fence plane), its interior points are the segmented point cloud belonging to the fence (i.e., the fence point cloud).

[0049] In the above embodiments, fence detection analysis is performed on the target laser point cloud, and a 3D bounding box of the fence is constructed based on the fence detection analysis results. This ensures that the initial sample points participating in the fitting have sufficient geometric span in physical space, effectively improving the robustness of recognition in unstructured and messy vegetation environments, and also improving the accuracy of obstacle detection.

[0050] Optionally, as an embodiment of the present invention, such as Figure 5 As shown, the target laser point cloud includes multiple target laser point clouds. The process of performing tower detection and analysis on the target laser point cloud and constructing a 3D bounding box for the tower based on the fence detection and analysis results includes: S41: Select the maximum value from the target laser point cloud set according to the preset ground height threshold to obtain the highest laser point cloud; S42: Import the vertical bandwidth of the current iteration number, and construct a filtering interval using the eighth formula, the highest laser point cloud, and the vertical bandwidth of the current iteration number. The eighth formula is: , in, To filter the range, For the highest laser point cloud, This represents the current iteration number. Vertical bandwidth; S43: Filter the target laser point cloud set according to the filtering interval to obtain multiple filtered laser point clouds; S44: Count the number of all filtered laser point clouds to obtain the number of filtered laser point clouds; S45: Determine whether the number of laser point clouds after screening is less than the first preset point cloud number threshold. If yes, return to S42; if no, use the screened laser point clouds as processed laser point clouds to obtain multiple processed laser point clouds. S46: Perform median calculation on all the processed laser point clouds to obtain the initial cross-section center; S47: Construct a vertical space to be processed with the highest laser point cloud as the top and a preset grass height threshold as the bottom. S48: Divide the vertical space to be processed according to a preset thickness to obtain multiple horizontal slice layers; S49: Perform median calculation on the multiple target laser point clouds in each of the horizontal slice layers to obtain the center of the cross section to be processed corresponding to each of the horizontal slice layers; S410: A candidate point cloud set is obtained by calculating the initial cross-section center, all the cross-section centers to be processed, and multiple target laser point clouds in all the horizontal slice layers using the ninth equation. The ninth equation is: , in, , , in, With a large number of candidate sites gathered, For the first The first horizontal slice layer laser point cloud of a target, For the first X-axis coordinates of the laser point cloud of the target. For the first The X-axis search center corresponds to each horizontal slice layer. For the first The Y-axis coordinates of the laser point cloud of the target. For the first The Y-axis search center corresponds to each horizontal slice layer. To preset the tracking radius, To obtain the median function, The initial cross-section center is along the X-axis. For the first The center of the X-axis section to be processed corresponds to each horizontal slice layer. The initial cross-section center is along the Y-axis. For the first The center of the Y-axis section to be processed corresponding to each horizontal slice layer; S411: Obtain the number of candidate point clouds by using the number of candidate point clouds in the candidate point cloud set; S412: If the number of candidate point clouds is greater than the second preset point cloud number threshold, then the median of the candidate point cloud set is calculated to obtain the observation center; S413: Calculate the distance between the observation center and each candidate point cloud in the candidate point cloud set to obtain the horizontal distance between the candidate point cloud and each horizontal slice layer; S414: The horizontal distances of multiple candidate point clouds corresponding to each horizontal slice layer are calculated using the tenth formula to obtain the cross-sectional envelope radius corresponding to each horizontal slice layer. The tenth formula is: , in, For the first The cross-sectional envelope radius corresponding to each horizontal slice layer It is a quantile function. For a set, For the first The first horizontal slice layer horizontal distance of candidate point clouds For the first The set of horizontal distances of all candidate point clouds in each horizontal slice layer; S415: Extract the height of the horizontal slice layer corresponding to each of the horizontal slice layers from each of the horizontal slice layers respectively; S416: Use the least squares algorithm to fit the envelope radius of all the cross sections and the height of all the horizontal slice layers to obtain the fitting slope; S417: Select the minimum value from the target laser point cloud set to obtain the lowest laser point cloud; S418: If the fitting slope is less than 0, and the difference between the highest laser point cloud and the lowest laser point cloud is greater than or equal to a preset vertical span threshold, then all the horizontal slice layers are sorted in order of vertical height from low to high to obtain multiple sorted slice layers. S419: Take the first M sorted slice layers as the target slice layers to obtain multiple target slice layers; S420: Calculate the median value of the center of the cross section to be processed corresponding to all the target slice layers to obtain the tower base center; S421: Calculate the median of the cross-sectional envelope radius corresponding to all the target slice layers to obtain the median cross-sectional envelope radius; S422: The base radius of the tower is obtained by calculating the median value of the cross-sectional envelope radius using the eleventh equation, which is: , in, The radius of the tower base, The median value of the cross-sectional envelope radius. It is a minimum value function. Preset tracking radius; S423: Using the center of the tower base as the center and the radius of the tower base as the radius, extract multiple tower base point clouds from all target laser point clouds in the vertical space to be processed, and construct a 3D bounding box for the tower based on all the tower base point clouds.

[0051] It should be understood that layered center tracking, linear fitting, and position completion are performed for high-voltage towers.

[0052] Specifically, when the visual semantic recognition module detects the presence of a high-voltage tower type target within the current field of view, it searches for the highest point in the global point cloud above a ground height threshold (e.g., 5m) (i.e., a preset ground height threshold) within the view frustum space corresponding to the image mask. (i.e., the highest laser point cloud).

[0053] by Define the initial vertical bandwidth as a reference upper limit. (e.g., 0.5m) (i.e., vertical bandwidth), extract the interval Points within the specified area are selected as candidate seed points (i.e., the filtered laser point cloud); if the number of points (i.e., the number of filtered laser point clouds) is less than the threshold... (i.e., the first preset point cloud quantity threshold), then with a step size The bandwidth is recursively expanded downwards until the required number of points is met.

[0054] Calculate the median coordinates of all candidate seed points (i.e., the filtered laser point cloud) in the XY plane to obtain the initial cross-section center. As shown in the following formula: , Will The vertical space (i.e., the vertical space to be processed) from below the highest laser point cloud to above the grass height threshold (i.e., the preset grass height threshold) is processed according to a fixed thickness. (e.g., 0.3m) (i.e., the preset thickness) is divided into several horizontal slices. .

[0055] For the current slice layer to be processed Calculate its search center The center is the median of the set of center coordinates of all processed historical layers, as shown in the following formula: , In slice layer Inside, traverse all points (i.e., the target laser point cloud), extract the candidate point set that satisfies the distance constraint. (i.e., candidate point cloud), as shown in the following formula: , in The preset tracking radius (e.g., 2m).

[0056] If Collection If the number of elements (i.e., the number of candidate point clouds) is greater than the threshold (i.e., the second preset point cloud number threshold), the observation center of this layer is calculated. As shown in the following formula: , Computation set (i.e., each point in the candidate point cluster) relative to the observation center horizontal distance (i.e., the horizontal distance of the candidate point cloud), and take its 95th percentile as the envelope radius of the cross section of that layer. As shown in the following formula: , Height of all slice layers (i.e., the height of the horizontal slice layer) and the radius of the cross-section envelope Perform least squares regression and calculate the slope. (i.e., the fitting slope), as shown in the following formula: , Determine whether the fitting result simultaneously satisfies: (1) slope (i.e., fitting slope) (2) Total vertical height span If the conditions are not met, the current target is determined to be a disruptive element and the process is terminated.

[0057] Extract the last The median of the center of each stable slice layer (the layer closest to the ground) (i.e., the target slice layer) (i.e., the center of the tower base) and the median of the cross-sectional envelope radius , as the prediction parameter of the tower base in the shaded area.

[0058] by Centered on the tower base, within the point cloud between the ground and the height of the tall grass threshold (i.e., the vertical space to be processed), using the radius... Extract the hidden tower base point cloud (i.e., tower base radius).

[0059] In the above embodiments, tower detection and analysis are performed on the target laser point cloud, and a 3D bounding box of the tower is constructed based on the fence detection and analysis results. This reduces the dependence of the perception algorithm on hardware computing power, effectively improves the robustness of recognition in unstructured and messy vegetation environments, and also improves the accuracy of obstacle detection.

[0060] Optionally, as another embodiment of the present invention, in view of the shortcomings of existing lidar obstacle detection algorithms, such as high false alarm rate in complex vegetation environments, low operational coverage due to redundant obstacle boundary descriptions, and difficulty in extracting hollow structures, the present invention aims to solve the following technical problems: (i) Suppressing false alarms caused by tall vegetation and ensuring operational continuity. Addressing the obstacle detection shortcomings of traditional algorithms that rely on "clustering after ground segmentation," this invention aims to establish a specific identification and filtering mechanism for non-rigid tall grass, effectively distinguishing between false alarms caused by tall grass and actual obstacles. By reducing unnecessary downtime or frequent avoidance maneuvers due to false vegetation alarms, the efficiency of unmanned operation of the lawnmower robot in complex scenarios is ensured.

[0061] (II) Achieving precise geometric separation between tall grass and obstacles, solving the problem of missed mowing. Addressing the bounding box redundancy problem caused by "grass obstacle adhesion" mentioned in the background art, this invention aims to provide a refined segmentation mechanism capable of distinguishing between rigid obstacles and non-rigid vegetation. By accurately removing attached weed point clouds from clusters, the true physical contours of obstacles are restored. By compressing the dimensional redundancy of the obstacle bounding box, the robot is guided to achieve extreme obstacle avoidance close to the edge, thereby maximizing the coverage of the mowing operation.

[0062] (III) Overcoming the Feature Extraction Challenge of Hollow Structures. Addressing the challenges of sparse and occluded point clouds in hollow objects such as fences and high-voltage towers, this invention aims to utilize geometric priors to stably extract the geometric semantics of targets from sparse and disturbed point clouds, thus solving the problems of missed detection and accurate localization of hollow structures in complex backgrounds.

[0063] (iv) Enhancing the Real-Time Perception and Algorithm Robustness of Embedded Edge Systems. Addressing the issue that existing algorithms suffer from enormous computational overhead and difficulty in meeting real-time requirements in large-scale, high-density point cloud scenarios due to complex neighborhood searches or feature estimations (such as local normal vectors and curvature calculations), this invention aims to provide a lightweight local feature extraction and cross-frame evidence accumulation mechanism. By avoiding time-consuming geometric feature calculations, the dependence of the perception algorithm on hardware computing power is reduced, ensuring that the system can stably and frequently output perception results on resource-constrained robot edge computing units, and effectively improving its robustness in unstructured, cluttered vegetation environments.

[0064] This invention primarily addresses the problem of refined identification of obstacles exposed on the surface of vegetation or symbiotic with vegetation. For extremely short obstacles that are completely buried inside dense vegetation and whose geometric features are missing due to the inability of laser rays to penetrate them, this invention treats them as environmental background because they do not have an effective echo response. This invention aims to achieve optimal obstacle avoidance coverage performance while ensuring safety by mining the extreme features of visible and partially visible targets.

[0065] Optionally, as another embodiment of the present invention, the present invention integrates a lidar, an inertial measurement unit (IMU), and an edge computing unit; it also has a semantic information acquisition module for acquiring prior information on the category of obstacles (such as labels for fences, high-voltage towers, etc.) as prior input to trigger the execution of refined geometric compensation recognition for specific hollow structures.

[0066] Define the following coordinate system: B: Body frame, the machine's coordinate system. Its origin is located at the lawnmower's reference center, the Z-axis is perpendicular to the chassis and pointing upwards, and the X-axis and Y-axis are mutually perpendicular in the chassis plane and conform to the right-hand rule (including but not limited to the right-front-up or front-left-up coordinate conventions).

[0067] L: level frame, the horizontal coordinate system, whose origin coincides with the body coordinate system, but the Z-axis always points in the opposite direction of physical gravity (the sky).

[0068] Alternatively, as another embodiment of the present invention, the steps of the present invention are as follows: 1. Geometric Attribute Normalization Based on Gravity Vector Compensation: Utilizing the real-time gravity direction sensed by the IMU, the original laser point cloud is projected from the body coordinate system to the horizontal coordinate system, restoring the vertical geometric features of obstacles in physical space. This step eliminates the BEV projection distortion caused by the steep slope of the dam, providing a unified geometric reference for subsequent fine-grained obstacle removal using vertical priors under all terrain conditions (alternating slopes and flat ground).

[0069] 2. Refined Segmentation Based on BEV Density Peak Anchor Points and Physical Size Constraints: This invention avoids the shortcomings of voxel covariance features in identifying mixed voxels of obstacles and vegetation, and the difficulty in optimizing voxel scale parameters. It maps non-ground point clouds in the horizon to a top-view (BEV) grid and uses non-maximum suppression (NMS) to extract local point density peaks as core anchor points for identifying obstacle entities. Using each anchor point as the center, local point cloud clustering is performed within a preset radius based on the typical physical dimensions of the obstacle. False alarms caused by tall grass are then filtered out by combining physical dimensions such as height threshold, point cloud quantity, and vertical connectivity. This mechanism utilizes strong density constraints in the BEV space to fundamentally block the geometric adhesion between obstacle entities and surrounding tall grass, achieving accurate extraction of the target's true physical boundary.

[0070] 3. Lightweight Confidence Tracking Based on Cross-Frame Evidence Accumulation: Addressing the instantaneous accuracy fluctuations of positioning systems (especially yaw angles) in unstructured scenarios, this approach abandons the traditional "multi-frame point cloud accumulation" strategy and adopts a "single-frame geometric quality inspection + feature-level evidence tracking" logic. It utilizes short-term pre-integration of the IMU to compensate for body displacement, performing attribute association and confidence accumulation on the obstacle matter centers of adjacent frames within the BEV space. This mechanism filters out instantaneous false alarms caused by vegetation through multi-frame temporal verification, while simultaneously avoiding the destruction of recognition features due to point cloud "diffuseness" or "ghosting" caused by pose errors.

[0071] 4. Specific compensation recognition for hollow obstacles: A plane fitting algorithm based on "near vertical prior constraint" and "RANSAC" is integrated for fence recognition, and the interference of oblique and long vegetation is eliminated by the angle constraint between the normal vector and the gravity direction; and a prediction algorithm based on "vertical skeleton extraction" and "central axis linear fitting" is used for high-voltage tower recognition, and the accurate coordinates of the target base hidden by tall grass are obtained by extrapolating the high-position features to the low-position shading area.

[0072] Alternatively, as another embodiment of the present invention, the main differences and beneficial effects of the present invention compared with the commonly used LiDAR perception algorithms for lawnmower robots are as follows: (1) Significantly improved coverage: Traditional sensing solutions, unable to physically separate weeds attached to obstacles, typically use a large fixed protection radius as a no-entry zone, resulting in numerous "missed blind spots." This invention, through refined segmentation of the obstacle entity and the attached grass points, can restore the true physical boundary of the target. This supports the motion control system in achieving obstacle avoidance close to the edge, minimizing the untreated area while ensuring safety.

[0073] (2) High robustness of perception in extreme scenarios: To address the pain points of severe shaking and unstable rotational positioning accuracy of the machine during dam operations, this invention replaces "point cloud overlay" with "feature tracking," ensuring accurate identification using the geometric sharpness of a single-frame point cloud even when there is pose drift in the underlying layer. Combined with gravity compensation technology, the problem of perception feature projection offset in steep slope environments is solved, ensuring that the positioning coordinates of obstacles in three-dimensional space are not distorted by terrain undulations.

[0074] (3) Effectively suppressing abnormal interruptions caused by false alarms due to vegetation: In response to the frequent false triggering problem caused by the traditional algorithm's "non-ground points are obstacles", this invention identifies and filters tall grass from two dimensions: geometric attributes and temporal cross-frame evidence accumulation logic. This significantly reduces the system's obstacle avoidance false alarm rate, reduces unnecessary downtime of the lawnmower robot in complex vegetation environments, and greatly improves the continuity of unmanned operation.

[0075] (4) Optimization of real-time performance and resource consumption at the edge: In view of the limited computing power of the embedded edge of the lawnmower robot, this invention avoids large-scale neighborhood search, complex normal vector calculation and massive point cloud accumulation. Through lightweight voxel deconstruction and centroid tracking algorithms, the computing load and memory usage of the edge CPU are greatly reduced, ensuring that the system can output perception results in real time with high frequency and low latency, thus meeting the needs of large-scale and efficient operation.

[0076] (5) Overcoming recognition blind spots in typical scenarios: For hollow objects such as fences and high-voltage towers, the problem of sparse echoes and difficulty in feature extraction caused by the strong penetration of lidar has been solved. Through specific plane fitting and vertical center tracking algorithms, the accurate position calculation from the visible high structure to the hidden root is realized, filling the technical gap in the perception of hollow obstacles under the interference of weeds.

[0077] Optionally, as another embodiment of the present invention, the present invention needs to acquire in real time time-synchronized lidar point clouds, body acceleration and angular velocity data output by the inertial measurement unit, and simultaneously receive target category prior semantic information from an external image perception module. Before the system runs, the horizon grid resolution, local density peak threshold, typical physical radius of obstacles, and tracking confidence threshold need to be preset. Based on the input sensor data, the method automatically outputs obstacle physical contour information that has undergone refined stripping and time-series verification.

[0078] Alternatively, as another embodiment of the present invention, the specific implementation process of the present invention is as follows: Horizontal Coordinate System Projection and Geometric Attribute Normalization. This invention utilizes real-time gravity vectors from an IMU to compensate the original point cloud to a horizontal coordinate system, eliminating geometric distortions caused by dam slopes, restoring the physical properties of obstacles perpendicular to the ground plane, and providing a unified geometric benchmark for subsequent segmentation.

[0079] BEV Density Peak Search and Fine Segmentation of Solid Obstacles. This invention locks local density peak anchor points in a horizon-based BEV grid using non-maximum suppression (NMS) and performs local clustering within the physical radius. Combining vertical connectivity and height features, it peels away the attached tall grass point clouds from the clusters, restoring the compact and realistic boundaries of obstacles.

[0080] Cross-frame feature tracking and confidence evidence accumulation. This invention utilizes IMU short-time pre-integration to compensate for body displacement, performing centroid-based cross-frame correlation tracking in BEV space. Evidence accumulation is performed through a temporal confidence scoring mechanism, outputting only confirmed targets that have passed verification across multiple consecutive frames, thereby avoiding diffusion errors caused by point cloud overlay and filtering out false alarms from random vegetation.

[0081] Specific identification and location completion of hollowed-out obstacles. For sparse hollowed-out targets, this invention uses near-vertical prior constraints to perform planar fitting to identify fences, or extracts the central main axis through vertical layered slicing to identify high-voltage towers; and uses the extracted geometric features to extrapolate to the root area covered by vegetation to achieve accurate completion of the target base in occluded environments.

[0082] Ultimately, this invention outputs accurate obstacle contours in real time, providing reliable support for obstacle avoidance decisions in the backend motion control layer.

[0083] Figure 6 This is a block diagram of a lidar obstacle detection device provided in an embodiment of the present invention.

[0084] Alternatively, as another embodiment of the present invention, such as Figure 6 As shown, a lidar obstacle detection device includes: The import module is used to import raw laser point clouds, IMU acceleration data, and gyroscope data; The point cloud analysis module is used to perform point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set; A construction module is used to construct a 3D bounding box for obstacles using the target laser point cloud; The fence detection and analysis module is used to perform fence detection and analysis on the target laser point cloud and construct a 3D bounding box of the fence based on the fence detection and analysis results. The detection result acquisition module is used to perform tower detection analysis on the target laser point cloud, construct a 3D bounding box for the tower based on the fence detection analysis results, and use the obstacle 3D bounding box, the fence 3D bounding box, and the tower 3D bounding box as the LiDAR obstacle detection results.

[0085] Optionally, another embodiment of the present invention provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the lidar obstacle detection method as described above. This electronic device may be a computer or other electronic device.

[0086] Optionally, another embodiment of the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the lidar obstacle detection method as described above.

[0087] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus.

[0088] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described apparatus and unit can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0089] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0090] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments of the present invention, depending on actual needs.

[0091] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0092] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0093] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A lidar obstacle detection method, characterized in that, Includes the following steps: Import the original laser point cloud, IMU acceleration data and gyroscope data, and perform point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set; A 3D bounding box for obstacles is constructed using the target laser point cluster; The target laser point cloud is subjected to fence detection and analysis, and a 3D bounding box of the fence is constructed based on the fence detection and analysis results; The target laser point cloud is subjected to tower detection and analysis, and a 3D bounding box of the tower is constructed based on the fence detection and analysis results. The obstacle 3D bounding box, the fence 3D bounding box, and the tower 3D bounding box are used as the obstacle detection results of the lidar.

2. The lidar obstacle detection method according to claim 1, characterized in that, The process of performing point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set includes: S11: Perform attitude fusion on the IMU acceleration data and the gyroscope data to obtain the original gravity vector; S12: The original gravity vector is calculated using the first equation to obtain the unit vector of the body coordinates. The first equation is: , in, The unit vector for body coordinates. The original gravity vector, It is an L2 norm; S13: Solve for the rotation quaternions of the body coordinate unit vector and the body Z-axis unit vector to obtain the horizontal coordinate rotation matrix; S14: The transformed laser point cloud is obtained by calculating the horizontal coordinate rotation matrix and the original laser point cloud using the second equation, whereby the second equation is: , in, For the converted laser point cloud, This is the horizontal coordinate rotation matrix. This is the original laser point cloud; S15: Divide the converted laser point cloud according to the preset sector division rules to obtain multiple divided laser point clouds in multiple sectors. The divided laser point cloud includes the vertical height of the divided laser point cloud. S16: Select the minimum vertical height of multiple divided laser point clouds for each sector, and use the corresponding divided laser point clouds as ground seed points to obtain ground seed points corresponding to each sector. S17: Use the principal component analysis algorithm to fit each of the ground seed points to obtain the original fitting plane corresponding to each of the sectors; S19: Extract the fitting plane feature values ​​corresponding to each sector from each of the original fitting planes; S110: Determine whether the feature value of the fitting plane is greater than or equal to the preset feature threshold. If yes, take the original fitting plane of the previous fitting iteration number as the target fitting plane and execute S112; otherwise, execute S111. S111: Determine whether the first preset number of iterations has been reached. If not, return to S11; if yes, use the original fitting plane of the current iteration as the target fitting plane and execute S112. S112: Extract the median height of each of the target fitting planes to obtain the local ground height corresponding to each sector; S113: Calculate the distance between each of the divided laser point clouds and the local ground height corresponding to each sector to obtain multiple unprocessed distances corresponding to each sector; S114: If the distance to be processed is greater than the first preset distance threshold, then the multiple divided laser point clouds corresponding to the distance to be processed are taken as target laser point clouds, thereby obtaining multiple target laser point clouds, and all the target laser point clouds are combined to obtain a target laser point cloud set.

3. The lidar obstacle detection method according to claim 1, characterized in that, The target laser point cloud set includes multiple target laser point clouds, and the process of constructing an obstacle 3D bounding box using the target laser point cloud set includes: Point cloud cluster analysis was performed on all the target laser point clouds to obtain multiple original point cloud clusters; By filtering and analyzing all the original point cloud clusters, multiple target point cloud clusters are obtained; The maximum values ​​of the three axes are calculated for each of the target point cloud clusters to obtain the maximum value of the X-axis, the maximum value of the Y-axis, and the maximum value of the Z-axis corresponding to each of the target point cloud clusters. The minimum values ​​of the three axes are calculated for each target point cloud cluster to obtain the minimum value of the X-axis, the minimum value of the Y-axis, and the minimum value of the Z-axis corresponding to each target point cloud cluster. Construct the obstacle 3D bounding box using all the X-axis maximum values, all the Y-axis maximum values, all the Z-axis maximum values, all the X-axis minimum values, all the Y-axis minimum values, and all the Z-axis minimum values.

4. The lidar obstacle detection method according to claim 3, characterized in that, The target laser point cloud includes the target laser point cloud X-axis coordinate and the target laser point cloud Y-axis coordinate. The process of performing point cloud cluster analysis on all the target laser point clouds to obtain multiple original point cloud clusters includes: Calculate the minimum X-axis coordinate of all the target laser point clouds to obtain the minimum X-axis coordinate of the laser point cloud; Calculate the minimum Y-axis coordinate of all the target laser point clouds to obtain the minimum Y-axis coordinate of the laser point cloud; The minimum X-axis coordinate of the laser point cloud and the X-axis coordinates of each target laser point cloud are calculated using the third equation to obtain multiple grid row indices. The third equation is as follows: , The minimum Y-axis coordinate of the laser point cloud and the Y-axis coordinates of each target laser point cloud are calculated using the fourth equation to obtain multiple grid column indices. The fourth equation is: , in, For the first Grid row index For the first X-axis coordinates of the laser point cloud of the target. The minimum X-axis coordinate of the laser point cloud. To preset the grid cell resolution, This is the floor function. For the first Grid column index, For the first The Y-axis coordinates of the laser point cloud of the target. The minimum X-axis coordinate of the laser point cloud; Multiple raw grid densities are constructed using all the grid row indexes and all the grid column indexes; If the original mesh density is greater than a preset density threshold and is greater than the eight-neighbor mesh density of the original mesh density, then the original mesh density is used as a candidate mesh density, thereby obtaining multiple candidate mesh densities. The candidate grid densities are sorted according to their density height to obtain multiple sorted grid densities; If the sorted grid density meets the determination condition, then the sorted grid density is used as the grid density to be processed, thereby obtaining multiple grid densities to be processed. The determination condition is: , in, It is a minimum value function. For the first Sorted grid density row index For the first One grid density row index to be processed, For the first Index of sorted grid density columns, For the first One grid density row index to be processed, The preset suppression radius threshold; Extract the peak center corresponding to each of the grid densities to be processed; Distance calculations are performed on each of the target laser point clouds and the peak center corresponding to each of the grid densities to be processed, to obtain multiple processed distances corresponding to each of the target laser point clouds; If the multiple processed distances corresponding to the target laser point cloud are all less than the preset clustering search radius, then the target laser point cloud is assigned to the original point cloud cluster corresponding to the grid density to be processed, thereby obtaining multiple original point cloud clusters.

5. The lidar obstacle detection method according to claim 3, characterized in that, The process of filtering and analyzing all the original point cloud clusters to obtain multiple target point cloud clusters includes: S221: Count the total number of point clouds in each of the original point cloud clusters to obtain the total number of point clouds corresponding to each of the original point cloud clusters; S222: If the total number of point clouds is greater than the preset threshold for the total number of point clouds, then the original point cloud cluster corresponding to the total number of point clouds is taken as the point cloud cluster to be processed, thereby obtaining multiple point cloud clusters to be processed. S223: Calculate the vertical height of each of the point cloud clusters to be processed to obtain the vertical height of the point cloud clusters corresponding to each of the point cloud clusters to be processed. S224: If the vertical height of the point cloud cluster is greater than the preset vertical height threshold, then the point cloud cluster to be processed corresponding to the vertical height of the point cloud cluster is taken as the processed point cloud cluster, thereby obtaining multiple processed point cloud clusters. S225: Perform vertical layering along the Z-axis on each of the processed point cloud clusters to obtain multiple vertical point cloud layers corresponding to each of the processed point cloud clusters. S226: Calculate the point cloud density for each of the vertical point cloud layers to obtain multiple point cloud densities corresponding to each of the processed point cloud clusters. S227: According to the preset vertical connectivity filtering rules, the multiple point cloud densities corresponding to each processed point cloud cluster are filtered, and the processed point cloud clusters corresponding to the filtering results are used as filtered point cloud clusters, thereby obtaining multiple filtered point cloud clusters. S228: Import the body transformation matrix and the obstacle mass center of the previous moment. Calculate the reference coordinates using the fifth equation, which is: , in, As a reference coordinate, For the transformation matrix of the organism, For the first The obstacle of time, the material mind; S229: Using the reference coordinates as the center and the preset neighborhood search radius as the radius, search all the filtered point cloud clusters. If the search is successful, obtain the confidence score and sum the preset weight value and the confidence score to obtain the summed confidence score. If the search fails, execute S2210. S2210: Determine whether the preset frame dropping threshold has been reached. If not, return to S228; if yes, delete the filtered point cloud clusters. S2211: If the summed confidence score is greater than or equal to the preset confidence threshold, then the filtered point cloud cluster corresponding to the summed confidence score is taken as the target point cloud cluster, thereby obtaining multiple target point cloud clusters.

6. The lidar obstacle detection method according to claim 1, characterized in that, The process of performing fence detection and analysis on the target laser point cloud and constructing a 3D bounding box for the fence based on the fence detection and analysis results includes: S31: Perform downsampling processing on the target laser point cloud to obtain a downsampled laser point cloud, wherein the downsampled laser point cloud includes multiple downsampled laser point clouds; S32: The sixth equation is used to calculate the mapped laser point cloud corresponding to each of the downsampled laser point clouds, and the sixth equation is: , in, For the first The mapped laser point cloud corresponding to each downsampled laser point cloud For the first The X-axis coordinates of the downsampled laser point cloud are as follows: Let be the side length of the hash voxel bucket. This is the floor function. For the first The Y-axis coordinate of the downsampled laser point cloud is corresponding to each downsampled laser point cloud. For the first The Z-axis coordinates of the downsampled laser point cloud; S33: Multiple three-dimensional hash voxel buckets are obtained from the laser point cloud after all the mappings described; S34: Randomly extract all the three-dimensional hash voxel buckets to obtain the first extracted hash voxel bucket, the second extracted hash voxel bucket, and the third extracted hash voxel bucket. S35: Randomly extract a point from the first extracted hash voxel bucket, the second extracted hash voxel bucket, and the third extracted hash voxel bucket respectively, so as to obtain the first hash voxel bucket sample point, the second hash voxel bucket sample point, and the third hash voxel bucket sample point. S36: The candidate plane unit normal vector is obtained by calculating the sample points of the first hash voxel bucket, the second hash voxel bucket, and the third hash voxel bucket using the seventh formula. The seventh formula is: , in, Let be the candidate plane unit normal vector. For the second hash voxel bucket sample point, This is the sample point of the first hash voxel bucket. This is the sample point of the third hash voxel bucket. It is an L2 norm; S37: Determine whether the absolute value of the candidate plane unit normal vector is less than or equal to a preset near-vertical threshold. If yes, proceed to S38; otherwise, return to S34. S38: Construct the original fence plane using the candidate plane unit normal vector; S39: Calculate the distance between the original fence plane and each of the downsampled laser point clouds to obtain the target distance; S310: If the target distance is less than the second preset distance threshold, then the downsampled laser point cloud corresponding to the target distance is taken as the laser point cloud to be processed, thereby obtaining multiple laser point clouds to be processed; S311: Count the number of all laser point clouds to be processed to obtain the number of points in the laser point cloud to be processed; S312: Return to S34 until the second preset number of iterations is reached, thereby obtaining the number of points within the laser point cloud to be processed; S313: Filter out the number of points in the laser point cloud that meets the filtering conditions from all the points in the laser point cloud to be processed, and take the corresponding original fence plane as the target fence plane and the corresponding laser point cloud to be processed as the fence point cloud. The filtering condition is the maximum value among all the points in the laser point cloud to be processed, and the number of points in the laser point cloud to be processed is greater than or equal to the preset point threshold. S314: Construct a 3D bounding box for the fence using the target fence plane and all the fence point clouds.

7. The lidar obstacle detection method according to claim 1, characterized in that, The target laser point cloud set includes multiple target laser point clouds. The process of performing tower detection and analysis on the target laser point cloud set and constructing a 3D bounding box for the tower based on the fence detection and analysis results includes: S41: Select the maximum value from the target laser point cloud set according to the preset ground height threshold to obtain the highest laser point cloud; S42: Import the vertical bandwidth of the current iteration number, and construct a filtering interval using the eighth formula, the highest laser point cloud, and the vertical bandwidth of the current iteration number. The eighth formula is: , in, To filter the range, For the highest laser point cloud, This represents the current iteration number. Vertical bandwidth; S43: Filter the target laser point cloud set according to the filtering interval to obtain multiple filtered laser point clouds; S44: Count the number of all filtered laser point clouds to obtain the number of filtered laser point clouds; S45: Determine whether the number of laser point clouds after screening is less than the first preset point cloud number threshold. If yes, return to S42; if no, use the screened laser point clouds as processed laser point clouds to obtain multiple processed laser point clouds. S46: Perform median calculation on all the processed laser point clouds to obtain the initial cross-section center; S47: Construct a vertical space to be processed with the highest laser point cloud as the top and a preset grass height threshold as the bottom. S48: Divide the vertical space to be processed according to a preset thickness to obtain multiple horizontal slice layers; S49: Perform median calculation on the multiple target laser point clouds in each of the horizontal slice layers to obtain the center of the cross section to be processed corresponding to each of the horizontal slice layers; S410: A candidate point cloud set is obtained by calculating the initial cross-section center, all the cross-section centers to be processed, and multiple target laser point clouds in all the horizontal slice layers using the ninth equation. The ninth equation is: , in, , , in, With a large number of candidate sites gathered, For the first The first horizontal slice layer laser point cloud of a target, For the first X-axis coordinates of the laser point cloud of the target. For the first The X-axis search center corresponds to each horizontal slice layer. For the first The Y-axis coordinates of the laser point cloud of the target. For the first The Y-axis search center corresponds to each horizontal slice layer. To preset the tracking radius, To obtain the median function, The initial cross-section center is along the X-axis. For the first The center of the X-axis section to be processed corresponds to each horizontal slice layer. The initial cross-section center is along the Y-axis. For the first The center of the Y-axis section to be processed corresponding to each horizontal slice layer; S411: Obtain the number of candidate point clouds by using the number of candidate point clouds in the candidate point cloud set; S412: If the number of candidate point clouds is greater than the second preset point cloud number threshold, then the median of the candidate point cloud set is calculated to obtain the observation center; S413: Calculate the distance between the observation center and each candidate point cloud in the candidate point cloud set to obtain the horizontal distance between the candidate point cloud and each horizontal slice layer; S414: The horizontal distances of multiple candidate point clouds corresponding to each horizontal slice layer are calculated using the tenth formula to obtain the cross-sectional envelope radius corresponding to each horizontal slice layer. The tenth formula is: , in, For the first The cross-sectional envelope radius corresponding to each horizontal slice layer It is a quantile function. For a set, For the first The first horizontal slice layer horizontal distance of candidate point clouds For the first The set of horizontal distances of all candidate point clouds in each horizontal slice layer; S415: Extract the height of the horizontal slice layer corresponding to each of the horizontal slice layers from each of the horizontal slice layers respectively; S416: Use the least squares algorithm to fit the envelope radius of all the cross sections and the height of all the horizontal slice layers to obtain the fitting slope; S417: Select the minimum value from the target laser point cloud set to obtain the lowest laser point cloud; S418: If the fitting slope is less than 0, and the difference between the highest laser point cloud and the lowest laser point cloud is greater than or equal to a preset vertical span threshold, then all the horizontal slice layers are sorted in order of vertical height from low to high to obtain multiple sorted slice layers. S419: Take the first M sorted slice layers as the target slice layers to obtain multiple target slice layers; S420: Calculate the median value of the center of the cross section to be processed corresponding to all the target slice layers to obtain the tower base center; S421: Calculate the median of the cross-sectional envelope radius corresponding to all the target slice layers to obtain the median cross-sectional envelope radius; S422: The base radius of the tower is obtained by calculating the median value of the cross-sectional envelope radius using the eleventh equation, which is: , in, The radius of the tower base, The median value of the cross-sectional envelope radius. It is a minimum value function. Preset tracking radius; S423: Using the center of the tower base as the center and the radius of the tower base as the radius, extract multiple tower base point clouds from all target laser point clouds in the vertical space to be processed, and construct a 3D bounding box for the tower based on all the tower base point clouds.

8. A lidar obstacle detection device, characterized in that, include: The import module is used to import raw laser point clouds, IMU acceleration data, and gyroscope data; The point cloud analysis module is used to perform point cloud analysis on the original laser point cloud based on the IMU acceleration data and the gyroscope data to obtain the target laser point cloud set; A construction module is used to construct a 3D bounding box for obstacles using the target laser point cloud; The fence detection and analysis module is used to perform fence detection and analysis on the target laser point cloud and construct a 3D bounding box of the fence based on the fence detection and analysis results. The detection result acquisition module is used to perform tower detection analysis on the target laser point cloud, construct a 3D bounding box for the tower based on the fence detection analysis results, and use the obstacle 3D bounding box, the fence 3D bounding box, and the tower 3D bounding box as the LiDAR obstacle detection results.

9. A lidar obstacle detection device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the lidar obstacle detection method as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the lidar obstacle detection method as described in any one of claims 1 to 7.