An adaptive obstacle detection method and system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UNIV OF SCI & TECH BEIJING
- Filing Date
- 2023-10-25
- Publication Date
- 2026-06-05
Smart Images

Figure CN117518198B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving technology, and in particular to an adaptive obstacle detection method and system. Background Technology
[0002] In the field of autonomous driving, environmental perception is the foundation for autonomous vehicles to understand their surroundings, make autonomous decisions, and control navigation. Stable and accurate environmental perception capabilities are essential for the safety of autonomous vehicle movement. Obstacle detection is a crucial component of environmental perception, providing autonomous vehicles with information such as the location, size, type, and speed of obstacles. Currently, obstacle detection methods used in autonomous navigation vehicles in China can be categorized by sensor type into camera-based, LiDAR-based, and multimodal methods. Among these, camera-based methods are severely affected by lighting conditions, exhibiting unstable performance in low-light conditions such as nighttime or dusk, or under strong light or backlighting from different angles. LiDAR, on the other hand, is less affected by lighting conditions, offers high accuracy, and exhibits good robustness, making it widely used in the environmental perception field of autonomous driving. LiDAR-based environmental perception methods can also be categorized by their principles into deep learning-based and non-learning-based methods. Non-learning-based obstacle detection methods mainly involve point cloud processing techniques such as point cloud filtering, feature extraction, and point cloud clustering. These methods have low computational requirements, good real-time performance, and high reliability; therefore, in the field of autonomous navigation vehicles, non-learning-based LiDAR methods are primarily used for obstacle detection.
[0003] The general process of non-learning obstacle detection methods based on LiDAR includes point cloud preprocessing, point cloud clustering, bounding box fitting, and obstacle information dissemination. Since point cloud clustering can easily misidentify some ground points as obstacles, ground segmentation is necessary before clustering to filter out ground points. Accurate and fast ground segmentation is crucial for subsequent algorithm processing. Current mainstream ground segmentation algorithms generally suffer from poor real-time performance, over-segmentation, incomplete ground segmentation due to noise, and severe under-segmentation on sloping surfaces, leading to inaccurate obstacle detection and impacting the safety of autonomous vehicle navigation. Summary of the Invention
[0004] This invention provides an adaptive obstacle detection method and system to address the problem that mainstream ground segmentation algorithms for obstacle detection in existing autonomous navigation vehicles (RVs) cannot accurately and reliably classify ground and non-ground points, resulting in inaccurate obstacle detection and affecting the safety of RV autonomous navigation. To achieve the above-mentioned objective, the technical solution is as follows:
[0005] On one hand, this disclosure provides an adaptive obstacle detection method, which is implemented by an adaptive obstacle detection system. The adaptive obstacle detection system includes an autonomous navigation module, an inertial measurement module, a lidar module, a preprocessing module, a point cloud processing module, and an obstacle detection module. The method includes the following steps:
[0006] S1: The autonomous navigation module calculates the passable area information to obtain a global environment navigation map;
[0007] S2: Based on the global environment navigation map, point cloud data at a predetermined frequency is collected through the lidar module, and IMU information is collected through the inertial measurement module at the same time;
[0008] S3: The IMU information is processed through the inertial measurement module to obtain the attitude information of the unmanned vehicle;
[0009] S4: The point cloud data of a predetermined frequency is preprocessed by the preprocessing module to obtain the preprocessed point cloud data;
[0010] S5: Obtain road slope information through the attitude information of the unmanned vehicle. Based on the road slope information, perform ground segmentation on the preprocessed point cloud data through the point cloud processing module to obtain non-ground point cloud data after ground segmentation.
[0011] S6: Obstacle detection is performed on the non-ground point cloud data after ground segmentation using the obstacle detection module to obtain obstacle data.
[0012] Preferably, step S1, which calculates passable area information through the autonomous navigation module to obtain a global environment navigation map, includes:
[0013] S11: Acquire point cloud data;
[0014] S12: Create an environmental map based on point cloud data;
[0015] S13: Identify passable areas based on preset conditions and an environmental map;
[0016] S14: Based on the passable area, perform global path planning to obtain a global environment navigation map.
[0017] Preferably, the global environment navigation map in S2 collects point cloud data at a predetermined frequency through a lidar module and simultaneously collects IMU information through an inertial measurement module, including:
[0018] S21: Based on the global environment navigation map, scan the surrounding environment in a multi-threaded manner at selected time intervals to complete one scan and obtain a frame of point cloud data based on the ranging principle;
[0019] S22: Real-time reading of IMU information;
[0020] S23: Following the global environment navigation map, complete the scan along all selected paths to obtain point cloud data at a predetermined frequency.
[0021] Preferably, step S3 processes the IMU information through the inertial measurement module to obtain the autonomous vehicle's attitude information, including:
[0022] S31: Read IMU information as a state vector;
[0023] S32: Calculate the Kalman gain and estimate the error covariance matrix based on the measurement model;
[0024] S33: Update the error covariance matrix according to the error propagation process;
[0025] S34: Establish the observation equation for the Kalman filter, update the state vector according to the state covariance matrix, and obtain the updated state vector;
[0026] S35: Extract the autonomous vehicle's attitude information from the updated state vector.
[0027] Preferably, step S4 involves preprocessing the point cloud data of a predetermined frequency using a preprocessing module to obtain preprocessed point cloud data, including:
[0028] S41: Spatial cropping is performed on each frame of the collected point cloud data at a predetermined frequency to remove distant points, invalid points, and vehicle projection points, resulting in cropped point cloud data.
[0029] S42: Perform point cloud filtering on each frame of the cropped point cloud data to obtain filtered point cloud data;
[0030] S43: Use vehicle speed information to perform motion distortion correction on each frame of the filtered point cloud data to obtain preprocessed point cloud data.
[0031] Preferably, in step S5, road slope information is obtained through the autonomous vehicle's attitude information. Based on the road slope information, the preprocessed point cloud data is segmented into ground data using a point cloud processing module to obtain non-ground point cloud data after ground segmentation, including:
[0032] S501: Obtain the height of the lidar above the ground and the angle between the lowest line of the lidar and the horizontal, and calculate the blind zone distance of the lidar based on formula (1):
[0033] r=tanβ*h (1)
[0034] Where r is the blind zone distance of the lidar, h is the height of the lidar above the ground, and β is the angle between the lowest line of the lidar and the horizontal.
[0035] S502: Set the pass-through filter threshold;
[0036] S503: Calculate the slope angle of the ground based on formula (2):
[0037] α = max(Pitch, Roll) (2)
[0038] Where α is the slope angle of the ground, Pitch is the pitch angle, and Roll is the roll angle;
[0039] S504: Obtain the angle between the lowest laser radar beam and the horizontal plane;
[0040] S505: Based on the ground slope angle, the pass-through filter threshold, and the angle between the lowest laser beam and the horizontal, the farthest segmentation distance threshold of the pass-through filter is calculated using formula (3). The farthest segmentation distance threshold of the pass-through filter is greater than the blind zone distance of the laser radar.
[0041]
[0042] Where b is the threshold for the farthest segmentation distance of the through filter, d is the threshold for the through filter, β is the angle between the lowest line beam of the lidar and the horizontal, and α is the slope angle of the ground;
[0043] S506: Based on the ground slope angle and a preset slope angle threshold, select areas from the preprocessed point cloud data where the ground slope angle is less than the preset slope angle threshold to obtain flat area point cloud data.
[0044] S507: Use a pass-through filter to perform ground segmentation on point cloud data in a flat area to obtain the first part of non-ground point cloud data after segmentation;
[0045] S508: Based on the ground slope angle and a preset slope angle threshold, select areas from the preprocessed point cloud data where the ground slope angle is greater than or equal to the preset slope angle threshold to obtain point cloud data of areas with slope.
[0046] S509: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select areas from the point cloud data of sloping areas where the distance from the ground to the lidar does not exceed the farthest segmentation distance threshold to obtain point cloud data of the near-field area of the slope.
[0047] S510: Use pass-through filtering to perform ground segmentation on the point cloud data of the near-field area of the slope to obtain the second part of the segmented non-ground point cloud data;
[0048] S511: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select the area where the distance from the ground to the lidar exceeds the farthest segmentation distance threshold from the point cloud data of the slope area to obtain the point cloud data of the far-distance area of the slope.
[0049] S512: The original point cloud coordinates of the distant area point cloud data of the slope are transformed by formulas (4) and (5) to obtain the rotated point cloud coordinates, which are then saved as the transformed distant area point cloud data of the slope:
[0050] Rotation_Tans=Rx(Roll)*Ry(Pitch)*Rz(Yaw) (4)
[0051] p i ′=Rotation_Tans*p i (5)
[0052] Where Rotation_Tans represents the selected rotation matrix, Rx(Roll) represents the rotation matrix around the x-axis, Ry(Pitch) represents the rotation matrix around the y-axis, and Rz(Yaw) represents the rotation matrix around the z-axis. The original point cloud coordinates are p. i The coordinates of the rotated point cloud are p i ′ ;
[0053] S513: Perform ground segmentation on the converted point cloud data of distant areas of the slope to obtain the third part of segmented non-ground point cloud data;
[0054] S514: Merge the non-ground point cloud data after the first part of the segmentation, the non-ground point cloud data after the second part of the segmentation, and the non-ground point cloud data after the third part of the segmentation to obtain the non-ground point cloud data after ground segmentation.
[0055] Preferably, step S513 involves ground segmentation of the converted point cloud data of the distant slope area to obtain a third part of segmented non-ground point cloud data, including:
[0056] S5131: Set the converted pass-through filter threshold, wherein the absolute value of the converted pass-through filter threshold is less than the installation height of the lidar and not more than five centimeters.
[0057] S5132: Ground segmentation of converted point cloud data of distant areas of slope based on the converted pass-through filter threshold;
[0058] S5133: Obtain the non-ground point cloud data after the third part is segmented.
[0059] Preferably, step S6 involves using an obstacle detection module to detect obstacles in the segmented non-ground point cloud data to obtain obstacle data, including:
[0060] S61: Use a point cloud clustering algorithm to cluster the non-ground point cloud data after ground segmentation to obtain obstacles;
[0061] S62: Fit bounding boxes to the obstacles and extract static information of the obstacles, wherein the static information includes at least coordinates, category and velocity.
[0062] Secondly, embodiments of this disclosure provide an adaptive obstacle detection system, including the following modules:
[0063] Autonomous navigation module: Used to calculate passable area information and obtain a global environment navigation map;
[0064] LiDAR module: Used for navigation based on a global environment map, it collects point cloud data at a predetermined frequency through the LiDAR module, and simultaneously collects IMU information through the inertial measurement module;
[0065] Inertial Measurement Module: Used to process IMU information to obtain the attitude information of the unmanned vehicle, which includes pitch angle, yaw angle and roll angle information;
[0066] Preprocessing module: Used to preprocess point cloud data of a predetermined frequency to obtain preprocessed point cloud data;
[0067] Point cloud processing module: used to obtain road slope information through the attitude information of unmanned vehicle, and based on the road slope information, the point cloud processing module performs ground segmentation on the preprocessed point cloud data to obtain non-ground point cloud data after ground segmentation;
[0068] Obstacle detection module: Used to detect obstacles in the non-ground point cloud data after ground segmentation, and obtain obstacle data.
[0069] Thirdly, embodiments of this disclosure provide a computer-readable storage medium, characterized in that the computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the above-described method.
[0070] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following:
[0071] Compared with existing technologies, the above technical solution has at least the following advantages: Autonomous navigation vehicles can use inertial measurement units (IMUs) to calculate vehicle attitude information and indirectly obtain ground slope angle information. Based on the ground slope angle information, the maximum segmentation distance threshold of the pass-through filter is adaptively adjusted. On flat roads, a single pass-through filter removes most ground points. On sloping roads, two pass-through filters are used to filter out ground point clouds on the slope, the slope surface, and the road surface below the slope, respectively. The non-ground point clouds after ground segmentation are fed into a point cloud clustering algorithm for obstacle detection and bounding box fitting, and information such as obstacle coordinates, category, and speed are published. This greatly reduces the number of point clouds fed into the point cloud clustering algorithm, improves the real-time performance of obstacle detection, and solves the problems of poor real-time performance, over-segmentation, noise preventing complete ground segmentation, and severe under-segmentation on sloping roads that are common in current mainstream ground segmentation algorithms. Attached Figure Description
[0072] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0073] Figure 1 This is a flowchart of an adaptive obstacle detection method provided in an embodiment of the present invention;
[0074] Figure 2 This is a schematic diagram of an autonomous navigation unmanned vehicle collecting data on a flat road surface, provided in an embodiment of the present invention.
[0075] Figure 3 This is a schematic diagram of an autonomous navigation unmanned vehicle collecting data on a sloping road surface, as provided in an embodiment of the present invention.
[0076] Figure 4 This is a block diagram of an adaptive obstacle detection system provided in an embodiment of the present invention;
[0077] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0078] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0079] This invention provides an adaptive obstacle detection method, which can be implemented by an electronic device, such as a terminal or a server.
[0080] like Figure 1As shown, this disclosure provides an adaptive obstacle detection method, which is implemented by an adaptive obstacle detection system. The adaptive obstacle detection system includes an autonomous navigation module, an inertial measurement module, a lidar module, a preprocessing module, a point cloud processing module, and an obstacle detection module. The processing flow of this method may include the following steps:
[0081] S1: The autonomous navigation module calculates the passable area information to obtain a global environment navigation map;
[0082] Preferably, S1 includes:
[0083] S11: Acquire point cloud data;
[0084] S12: Create an environmental map based on point cloud data;
[0085] S13: Identify passable areas based on preset conditions and an environmental map;
[0086] S14: Based on the passable area, perform global path planning to obtain a global environment navigation map.
[0087] In some embodiments, the unmanned vehicle may consist of a tracked or wheeled differential unmanned vehicle chassis, an IMU, an infrared camera, a binocular camera, a lidar, an industrial control computer, and GPS, etc.
[0088] It should be noted that a global environmental navigation map can be built based on technologies such as SLAM to obtain information on passable areas. It is also possible to obtain information on impassable areas such as road shoulders and grass in advance to prevent autonomous vehicles from mistakenly entering such low-lying impassable areas due to blind spots of the lidar during subsequent obstacle detection.
[0089] S2: Based on the global environment navigation map, point cloud data at a predetermined frequency is collected through the lidar module, and IMU information is collected through the inertial measurement module at the same time;
[0090] Preferably, S2 includes:
[0091] S21: Based on the global environment navigation map, scan the surrounding environment in a multi-threaded manner at selected time intervals to complete one scan and obtain a frame of point cloud data based on the ranging principle;
[0092] S22: Real-time reading of IMU information;
[0093] S23: Following the global environment navigation map, complete the scan along all selected paths to obtain point cloud data at a predetermined frequency.
[0094] In some embodiments, the inertial measurement unit (IMU) is fixed on the unmanned vehicle according to a certain coordinate system rule, and consists of three single-axis accelerometers and three single-axis gyroscopes. The accelerometers detect the acceleration signals of the unmanned vehicle's coordinate system in three independent cycles, and the gyroscopes detect the angular velocity signals of the unmanned vehicle.
[0095] It should be noted that the lidar can be a multi-line mechanical lidar or other lidar, which is installed on the top of the autonomous vehicle and uses a multi-threaded scanning method. Each scan can obtain tens of thousands of three-dimensional points. Using the TOF ranging principle, the three-dimensional structural information of the 360° environment around the autonomous navigation vehicle can be accurately obtained.
[0096] S3: The IMU information is processed through the inertial measurement module to obtain the attitude information of the unmanned vehicle;
[0097] Preferably, S3 includes:
[0098] S31: Read IMU information as a state vector;
[0099] S32: Calculate the Kalman gain and estimate the error covariance matrix based on the measurement model;
[0100] S33: Update the error covariance matrix according to the error propagation process;
[0101] S34: Establish the observation equation for the Kalman filter, update the state vector according to the state covariance matrix, and obtain the updated state vector;
[0102] S35: Extract the autonomous vehicle's attitude information from the updated state vector.
[0103] In some embodiments, IMU information processing specifically refers to reading IMU feedback information in real time and calculating robot attitude information based on Kalman filtering or other methods, specifically including pitch, yaw, and roll information.
[0104] S4: The point cloud data of a predetermined frequency is preprocessed by the preprocessing module to obtain the preprocessed point cloud data;
[0105] Preferably, S4 includes:
[0106] S41: Spatial cropping is performed on each frame of the collected point cloud data at a predetermined frequency to remove distant points, invalid points, and vehicle projection points, resulting in cropped point cloud data.
[0107] S42: Perform point cloud filtering on each frame of the cropped point cloud data to obtain filtered point cloud data;
[0108] S43: Use vehicle speed information to perform motion distortion correction on each frame of the filtered point cloud data to obtain preprocessed point cloud data.
[0109] In some embodiments, spatial clipping refers to using a clipping tool, such as the CropBox filter provided by the PCL library, to retain point cloud data that affects the autonomous vehicle while removing distant points, invalid points, and vehicle projection points from each frame of point cloud acquired. Point cloud filtering refers to using voxel filtering based on the nearest centroid to represent the point cloud data of each voxel with a representative point, and downsampling the point cloud to reduce the point cloud data density. Motion distortion correction refers to using the speed information of the autonomous vehicle to compensate for the laser point cloud data during the journey, since the LiDAR installed on the autonomous vehicle will cause motion distortion due to movement, thereby reducing the point cloud distortion caused by motion.
[0110] S5: Obtain road slope information through the attitude information of the unmanned vehicle. Based on the road slope information, perform ground segmentation on the preprocessed point cloud data through the point cloud processing module to obtain non-ground point cloud data after ground segmentation.
[0111] Preferably, S5 includes:
[0112] S501: Obtain the height of the lidar above the ground and the angle between the lowest line of the lidar and the horizontal, and calculate the blind zone distance of the lidar based on formula (1):
[0113] r=tanβ*h (1)
[0114] Where r is the blind zone distance of the lidar, h is the height of the lidar above the ground, and β is the angle between the lowest line of the lidar and the horizontal.
[0115] S502: Set the pass-through filter threshold;
[0116] S503: Calculate the slope angle of the ground based on formula (2):
[0117] α = max(Pitch, Roll) (2)
[0118] Where α is the slope angle of the ground, Pitch is the pitch angle, and Roll is the roll angle;
[0119] It should be noted that in some embodiments, the attitude information of the autonomous vehicle is read, specifically including pitch and roll angles. The pitch and roll angles are compared, and the larger angle value is selected as the ground slope angle α information.
[0120] S504: Obtain the angle between the lowest laser radar beam and the horizontal plane;
[0121] S505: Based on the ground slope angle, the pass-through filter threshold, and the angle between the lowest laser beam and the horizontal, the farthest segmentation distance threshold of the pass-through filter is calculated using formula (3). The farthest segmentation distance threshold of the pass-through filter is greater than the blind zone distance of the laser radar.
[0122]
[0123] Where b is the threshold for the farthest segmentation distance of the through filter, d is the threshold for the through filter, β is the angle between the lowest line beam of the lidar and the horizontal, and α is the slope angle of the ground;
[0124] It should be noted that the pass-through filter threshold d is generally a negative number, and its absolute value is three to five centimeters less than the lidar installation height h. The maximum segmentation distance threshold b should always be greater than the lidar's blind zone r.
[0125] S506: Based on the ground slope angle and a preset slope angle threshold, select areas from the preprocessed point cloud data where the ground slope angle is less than the preset slope angle threshold to obtain flat area point cloud data.
[0126] S507: Use a pass-through filter to perform ground segmentation on point cloud data in a flat area to obtain the first part of non-ground point cloud data after segmentation;
[0127] S508: Based on the ground slope angle and a preset slope angle threshold, select areas from the preprocessed point cloud data where the ground slope angle is greater than or equal to the preset slope angle threshold to obtain point cloud data of areas with slope.
[0128] S509: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select areas from the point cloud data of sloping areas where the distance from the ground to the lidar does not exceed the farthest segmentation distance threshold to obtain point cloud data of the near-field area of the slope.
[0129] S510: Use pass-through filtering to perform ground segmentation on the point cloud data of the near-field area of the slope to obtain the second part of the segmented non-ground point cloud data;
[0130] S511: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select the area where the distance from the ground to the lidar exceeds the farthest segmentation distance threshold from the point cloud data of the slope area to obtain the point cloud data of the far-distance area of the slope.
[0131] S512: The original point cloud coordinates of the distant area point cloud data of the slope are transformed by formulas (4) and (5) to obtain the rotated point cloud coordinates, which are then saved as the transformed distant area point cloud data of the slope:
[0132] Rotation_Tans=Rx(Roll)*Ry(Pitch)*Rz(Yaw) (4)
[0133] p i =Rotation_Tans*pi (5)
[0134] Where Rotation_Tans represents the selected rotation matrix, Rx(Roll) represents the rotation matrix around the x-axis, Ry(Pitch) represents the rotation matrix around the y-axis, and Rz(Yaw) represents the rotation matrix around the z-axis. The original point cloud coordinates are p. i The coordinates of the rotated point cloud are p i ′;
[0135] S513: Perform ground segmentation on the converted point cloud data of distant areas of the slope to obtain the third part of segmented non-ground point cloud data;
[0136] Preferably, S513 includes:
[0137] S5131: Set the converted pass-through filter threshold, wherein the absolute value of the converted pass-through filter threshold is less than the installation height of the lidar and not more than five centimeters.
[0138] S5132: Ground segmentation of converted point cloud data of distant areas of slope based on the converted pass-through filter threshold;
[0139] S5133: Obtain the non-ground point cloud data after the third part is segmented;
[0140] S514: Merge the non-ground point cloud data after the first part of the segmentation, the non-ground point cloud data after the second part of the segmentation, and the non-ground point cloud data after the third part of the segmentation to obtain the non-ground point cloud data after ground segmentation.
[0141] It should be noted that when a lidar is working, it scans in circles, and the radius of the scanning circle gradually increases as the vertical angle increases. For example... Figure 2 As shown, on a flat road surface, a straight-through filter can remove the vast majority of ground points. Figure 3 As shown, on roads with slopes, pass-through filtering can only filter out ground points that are not far from the maximum segmentation distance threshold b; ground points that exceed the maximum segmentation distance threshold b cannot be filtered out temporarily. Therefore, considering the coordinates of the point cloud after pass-through filtering as x i y i The coordinates are transformed back to the lidar coordinate system, and then the transformed pass-through filter threshold d′ is used to filter out ground points. After these several rounds of ground point filtering, the non-ground point cloud data is then further segmented for ground segmentation.
[0142] It should be further noted that the converted pass-through filter threshold d′ is generally a negative number, and its absolute value is three to five centimeters less than the installation height h of the lidar.
[0143] S6: Obstacle detection is performed on the non-ground point cloud data after ground segmentation using the obstacle detection module to obtain obstacle data.
[0144] Preferably, S6 includes:
[0145] S61: Use a point cloud clustering algorithm to cluster the non-ground point cloud data after ground segmentation to obtain obstacles;
[0146] S62: Fit bounding boxes to the obstacles and extract static information of the obstacles, wherein the static information includes at least coordinates, category and velocity.
[0147] This disclosure addresses the problem that mainstream ground segmentation algorithms for obstacle detection in existing autonomous navigation vehicles (ADAS) cannot accurately and reliably classify ground and non-ground points, resulting in inaccurate obstacle detection and affecting the safety of autonomous navigation. It provides an adaptive obstacle detection method. This method solves the common problems of current mainstream ground segmentation algorithms, such as poor real-time performance, over-segmentation, the presence of noise preventing complete ground segmentation, and severe under-segmentation on sloping surfaces.
[0148] The above is an introduction to the method embodiments. The following system embodiments will further illustrate the solution described in this disclosure.
[0149] like Figure 4 As shown, this disclosure provides an adaptive obstacle detection system, which includes an autonomous navigation module 410, a lidar module 420, an inertial measurement module 430, a preprocessing module 440, a point cloud processing module 450, and an obstacle detection module 460, wherein:
[0150] Autonomous navigation module 410: used to calculate passable area information through the autonomous navigation module to obtain a global environment navigation map;
[0151] LiDAR module 420: Used for navigation based on a global environment map, collecting point cloud data at a predetermined frequency through the LiDAR module, and simultaneously collecting IMU information through the inertial measurement module;
[0152] Inertial measurement module 430: used to process IMU information through the inertial measurement module to obtain the attitude information of the unmanned vehicle, the attitude information of the unmanned vehicle including pitch angle, yaw angle and roll angle information;
[0153] Preprocessing module 440: Used to preprocess point cloud data of a predetermined frequency to obtain preprocessed point cloud data;
[0154] Point cloud processing module 450: used to obtain road slope information through the attitude information of unmanned vehicle, and based on the road slope information, to perform ground segmentation on the preprocessed point cloud data to obtain non-ground point cloud data after ground segmentation.
[0155] Obstacle detection module 460: Used to detect obstacles in the non-ground point cloud data after ground segmentation, and obtain obstacle data.
[0156] This disclosure also provides an adaptive obstacle detection electronic device, characterized in that the electronic device includes: a housing, a processor, a memory, a circuit board, and a power supply circuit, wherein the circuit board is disposed inside the space enclosed by the housing, and the processor and memory are disposed on the circuit board; the power supply circuit is used to supply power to various circuits or devices of the electronic device; the memory is used to store executable program code; the processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, for executing the method described in any one of claims 1 to 8.
[0157] This disclosure also provides a computer-readable storage medium for adaptive obstacle detection, characterized in that the computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the method of any one of claims 1 to 8.
[0158] This disclosure addresses the problem that mainstream ground segmentation algorithms for obstacle detection in existing autonomous navigation vehicles (ADAS) cannot accurately and reliably classify ground and non-ground points, resulting in inaccurate obstacle detection and affecting the safety of autonomous navigation. It provides an adaptive obstacle detection method. This method solves the common problems of current mainstream ground segmentation algorithms, such as poor real-time performance, over-segmentation, the presence of noise preventing complete ground segmentation, and severe under-segmentation on sloping surfaces.
[0159] Figure 5 This is a schematic diagram of the structure of an electronic device 500 provided in an embodiment of the present invention. The electronic device 500 may vary considerably due to different configurations or performance. It may include one or more central processing units (CPUs) 501 and one or more memories 502. The memory 502 stores at least one instruction, which is loaded and executed by the processor 501 to implement the steps of the above-mentioned Chinese text spelling check method.
[0160] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including instructions that can be executed by a processor in a terminal to complete the aforementioned Chinese text spelling check method. For example, the computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, or optical data storage device.
[0161] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0162] The following points need to be explained:
[0163] (1) The accompanying drawings of the embodiments of the present invention only involve the structures involved in the embodiments of the present invention. Other structures can refer to the general design.
[0164] (2) For clarity, the thickness of layers or regions is enlarged or reduced in the drawings used to describe embodiments of the present invention; that is, these drawings are not drawn to actual scale. It is understood that when an element such as a layer, film, region, or substrate is referred to as being “above” or “below” another element, the element may be “directly” located “above” or “below” the other element, or there may be intermediate elements.
[0165] 3) Where there is no conflict, the embodiments of the present invention and the features in the embodiments can be combined with each other to obtain new embodiments.
[0166] 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. An adaptive obstacle detection method, characterized in that, The method is implemented by an adaptive obstacle detection system, which includes an autonomous navigation module, an inertial measurement module, a lidar module, a preprocessing module, a point cloud processing module, and an obstacle detection module. The method includes the following steps: S1: The autonomous navigation module calculates the passable area information to obtain a global environment navigation map; S2: Based on the global environment navigation map, point cloud data at a predetermined frequency is collected through the lidar module, and IMU information is collected through the inertial measurement module at the same time; S3: The IMU information is processed through the inertial measurement module to obtain the attitude information of the unmanned vehicle; S4: The point cloud data of a predetermined frequency is preprocessed by the preprocessing module to obtain the preprocessed point cloud data; S5: Obtain road slope information through the autonomous vehicle's attitude information. Based on the road slope information, the point cloud processing module performs ground segmentation on the preprocessed point cloud data to obtain non-ground point cloud data after ground segmentation, specifically including: S501: Obtain the height of the lidar above the ground and the angle between the lowest line of the lidar and the horizontal, and calculate the blind zone distance of the lidar based on formula (1): (1) in, This refers to the blind zone distance of the lidar. The height of the lidar above the ground. β The angle between the lowest beam of the lidar and the horizontal. S502: Set the pass-through filter threshold; S503: Calculate the slope angle of the ground based on formula (2): (2) in, The slope angle of the ground. for Pitch angle, This refers to the roll angle; S504: Obtain the angle between the lowest laser radar beam and the horizontal plane; S505: Based on the ground slope angle, the pass-through filter threshold, and the angle between the lowest laser beam and the horizontal, the farthest segmentation distance threshold of the pass-through filter is calculated using formula (3). The farthest segmentation distance threshold of the pass-through filter is greater than the blind zone distance of the laser radar. (3) in, This is the threshold for the furthest segmentation distance in the pass-through filtering. This is the pass-through filter threshold. The angle between the lowest beam of the lidar and the horizontal. The slope angle of the ground; S506: Based on the ground slope angle and a preset slope angle threshold, select areas where the ground slope angle is less than the preset slope angle threshold from the preprocessed point cloud data to obtain flat area point cloud data. S507: Use a pass-through filter to perform ground segmentation on point cloud data in a flat area to obtain the first part of the segmented non-ground point cloud data; S508: Based on the ground slope angle and a preset slope angle threshold, select areas from the preprocessed point cloud data where the ground slope angle is greater than or equal to the preset slope angle threshold to obtain point cloud data of areas with slope. S509: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select areas from the point cloud data of sloping areas where the distance from the ground to the lidar does not exceed the farthest segmentation distance threshold to obtain point cloud data of the near-field area of the slope. S510: Use pass-through filtering to perform ground segmentation on the point cloud data of the near-field area of the slope to obtain the second part of the segmented non-ground point cloud data; S511: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select areas from the point cloud data of sloping areas where the distance from the ground to the lidar exceeds the farthest segmentation distance threshold to obtain point cloud data of sloping areas at long distances. S512: The original point cloud coordinates of the point cloud data of the distant area of the slope are transformed by formulas (4) and (5) to obtain the rotated point cloud coordinates, which are then saved as the transformed point cloud data of the distant area of the slope: (4) (5) in, Indicates the selection of the rotation matrix. The rotation matrix represents the rotation angle about the x-axis. The rotation matrix represents the rotation angle around the y-axis. The rotation matrix represents the rotation angle around the z-axis, and the original point cloud coordinates are... The coordinates of the rotated point cloud are ; S513: Perform ground segmentation on the converted point cloud data of distant areas of the slope to obtain the third part of segmented non-ground point cloud data; S514: Merge the non-ground point cloud data after the first part of the segmentation, the non-ground point cloud data after the second part of the segmentation, and the non-ground point cloud data after the third part of the segmentation to obtain the non-ground point cloud data after ground segmentation; S6: Obstacle detection is performed on the non-ground point cloud data after ground segmentation using the obstacle detection module to obtain obstacle data.
2. The adaptive obstacle detection method according to claim 1, characterized in that, The step S1 calculates passable area information through the autonomous navigation module to obtain a global environment navigation map, including: S11: Acquire point cloud data; S12: Create an environmental map based on point cloud data; S13: Identify passable areas based on preset conditions and an environmental map; S14: Based on the passable area, perform global path planning to obtain a global environment navigation map.
3. The adaptive obstacle detection method according to claim 1, characterized in that, The S2-based global environment navigation map collects point cloud data at a predetermined frequency through a lidar module and simultaneously collects IMU information through an inertial measurement module, including: S21: Based on the global environment navigation map, scan the surrounding environment in a multi-threaded manner at selected time intervals to complete one scan and obtain a frame of point cloud data based on the ranging principle; S22: Real-time reading of IMU information; S23: Following the global environment navigation map, complete the scan along all selected paths to obtain point cloud data at a predetermined frequency.
4. The adaptive obstacle detection method according to claim 1, characterized in that, The S3 process the IMU information through the inertial measurement module to obtain the autonomous vehicle's attitude information, including: S31: Read IMU information as a state vector; S32: Calculate the Kalman gain and estimate the error covariance matrix based on the measurement model; S33: Update the error covariance matrix according to the error propagation process; S34: Establish the observation equation for the Kalman filter, update the state vector based on the state covariance matrix, and obtain the updated state vector; S35: Extract the autonomous vehicle's attitude information from the updated state vector.
5. The adaptive obstacle detection method according to claim 1, characterized in that, S4 involves preprocessing the point cloud data of a predetermined frequency using a preprocessing module to obtain preprocessed point cloud data, including: S41: Spatial cropping is performed on each frame of the collected point cloud data at a predetermined frequency to remove distant points, invalid points, and vehicle projection points, resulting in cropped point cloud data. S42: Perform point cloud filtering on each frame of the cropped point cloud data to obtain filtered point cloud data; S43: Use vehicle speed information to perform motion distortion correction on each frame of the filtered point cloud data to obtain preprocessed point cloud data.
6. The adaptive obstacle detection method according to claim 1, characterized in that, S513 performs ground segmentation on the converted point cloud data of the distant slope area to obtain the third part of segmented non-ground point cloud data, including: S5131: Set the converted pass-through filter threshold, wherein the absolute value of the converted pass-through filter threshold is less than the installation height of the lidar and not more than five centimeters. S5132: Ground segmentation of converted point cloud data of distant areas of slope based on the converted pass-through filter threshold; S5133: Obtain the non-ground point cloud data after the third part is segmented.
7. The adaptive obstacle detection method according to claim 1, characterized in that, The step S6 involves using an obstacle detection module to detect obstacles in the segmented non-ground point cloud data to obtain obstacle data, including: S61: Use a point cloud clustering algorithm to cluster the non-ground point cloud data after ground segmentation to obtain obstacles; S62: Fit bounding boxes to the obstacles and extract static information of the obstacles, wherein the static information includes at least coordinates, category and velocity.
8. An adaptive obstacle detection system, characterized in that, The system is applicable to the method of any one of claims 1-7 above, and provides the following: Autonomous navigation module: Used to calculate passable area information and obtain a global environment navigation map through the autonomous navigation module; LiDAR module: Used for navigation based on a global environment map, it collects point cloud data at a predetermined frequency through the LiDAR module, and simultaneously collects IMU information through the inertial measurement module; Inertial Measurement Module: Used to process IMU information to obtain the attitude information of the unmanned vehicle, which includes pitch angle, yaw angle and roll angle information; Preprocessing module: Used to preprocess point cloud data of a predetermined frequency to obtain preprocessed point cloud data; Point cloud processing module: Used to obtain road slope information from the autonomous vehicle's attitude information. Based on the road slope information, the point cloud processing module performs ground segmentation on the preprocessed point cloud data to obtain non-ground point cloud data after ground segmentation. Specifically, it includes: S501: Obtain the height of the lidar above the ground and the angle between the lowest line of the lidar and the horizontal, and calculate the blind zone distance of the lidar based on formula (1): (1) in, This refers to the blind zone distance of the lidar. The height of the lidar above the ground. β The angle between the lowest beam of the lidar and the horizontal. S502: Set the pass-through filter threshold; S503: Calculate the slope angle of the ground based on formula (2): (2) in, The slope angle of the ground. for Pitch angle, This refers to the roll angle; S504: Obtain the angle between the lowest laser radar beam and the horizontal plane; S505: Based on the ground slope angle, the pass-through filter threshold, and the angle between the lowest laser beam and the horizontal, the farthest segmentation distance threshold of the pass-through filter is calculated using formula (3). The farthest segmentation distance threshold of the pass-through filter is greater than the blind zone distance of the laser radar. (3) in, This is the threshold for the furthest segmentation distance in the pass-through filtering. This is the pass-through filter threshold. The angle between the lowest beam of the lidar and the horizontal. The slope angle of the ground; S506: Based on the ground slope angle and a preset slope angle threshold, select areas where the ground slope angle is less than the preset slope angle threshold from the preprocessed point cloud data to obtain flat area point cloud data. S507: Use a pass-through filter to perform ground segmentation on point cloud data in a flat area to obtain the first part of non-ground point cloud data after segmentation; S508: Based on the ground slope angle and a preset slope angle threshold, select areas from the preprocessed point cloud data where the ground slope angle is greater than or equal to the preset slope angle threshold to obtain point cloud data of areas with slope. S509: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select areas from the point cloud data of sloping areas where the distance from the ground to the lidar does not exceed the farthest segmentation distance threshold to obtain point cloud data of the near-field area of the slope. S510: Use pass-through filtering to perform ground segmentation on the point cloud data of the near-field area of the slope to obtain the second part of the segmented non-ground point cloud data; S511: Based on the distance from the ground to the lidar and the farthest segmentation distance threshold, select areas from the point cloud data of sloping areas where the distance from the ground to the lidar exceeds the farthest segmentation distance threshold to obtain point cloud data of sloping areas at long distances. S512: The original point cloud coordinates of the point cloud data of the distant area of the slope are transformed by formulas (4) and (5) to obtain the rotated point cloud coordinates, which are then saved as the transformed point cloud data of the distant area of the slope: (4) (5) in, Indicates the selection of the rotation matrix. The rotation matrix represents the rotation angle about the x-axis. The rotation matrix represents the rotation angle around the y-axis. The rotation matrix represents the rotation angle around the z-axis, and the original point cloud coordinates are... The coordinates of the rotated point cloud are ; S513: Perform ground segmentation on the converted point cloud data of distant areas of the slope to obtain the third part of segmented non-ground point cloud data; S514: Merge the non-ground point cloud data after the first part of the segmentation, the non-ground point cloud data after the second part of the segmentation, and the non-ground point cloud data after the third part of the segmentation to obtain the non-ground point cloud data after ground segmentation; Obstacle detection module: Used to detect obstacles in the non-ground point cloud data after ground segmentation, and obtain obstacle data.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the method of any one of claims 1 to 7.