Travelable area detection method, device, electronic equipment, and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUZHOU AUTOMOBILE RES INST OF TSINGHUA UNIV (WUJIANG)
- Filing Date
- 2022-12-07
- Publication Date
- 2026-08-07
AI Technical Summary
[0003]目前,使用基于深度学习的目标检测算法对于这些不常见或不规则的物体难以获取大量的数据进行训练,导致识别效果难以保证
[0020]本发明实施例的技术方案,确定车载激光雷达环视采集的第一激光点云,第一激光点云中包括非地面点对应激光点形成的点云;从第一激光点云中确定栅格地图中各个栅格匹配的激光点,栅格匹配的激光点的横纵轴位置位于栅格对应的位置范围内;依据各个栅格匹配的激光点对栅格地图中各栅格对应的行驶占用状态进行调整,得到调整后的栅格地图;依据调整后的栅格地图确定车辆的可行驶区域。通过直接基于激光雷达数据检测可行驶区域,不需获取大量数据进行训练,通过将非地面点对应激光点以栅格地图的形式输出,不依赖高精地图及定位来限定感知范围,可更容易地做可行驶区域规划。
Smart Images

Figure CN116087977B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving technology, and in particular to a method, apparatus, electronic device, and storage medium for detecting drivable areas. Background Technology
[0002] In the field of autonomous driving, assisted / autonomous vehicles need to detect and perceive uncommon or oddly shaped small objects (such as tires, fallen cardboard boxes, etc.) in the road environment.
[0003] Currently, deep learning-based object detection algorithms struggle to acquire large amounts of data for training on uncommon or irregular objects, leading to inconsistent recognition results. Furthermore, traditional clustering-based object detection methods, without high-precision maps and localization, struggle to define the perception range. This inability to define the perception range results in point clouds of trees, grass, etc., that do not belong to the target being detected being clustered, increasing the difficulty of object recognition and tracking, and reducing the algorithm's accuracy. Summary of the Invention
[0004] This invention provides a method, apparatus, electronic device, and storage medium for detecting drivable areas based on LiDAR data without relying on other hardware.
[0005] According to one aspect of the present invention, a method for detecting drivable areas is provided, the method comprising:
[0006] The first laser point cloud collected by the vehicle-mounted lidar surround view is determined, and the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points.
[0007] The laser points that match each grid in the grid map are determined from the first laser point cloud, and the horizontal and vertical axis positions of the laser points that match the grid are within the corresponding position range of the grid.
[0008] The driving occupancy status of each grid in the grid map is adjusted based on the laser points matched in each grid, resulting in the adjusted grid map.
[0009] The drivable area for vehicles is determined based on the adjusted grid map.
[0010] According to another aspect of the present invention, a drivable area detection device is provided, the device comprising:
[0011] The first laser point cloud determination module is used to determine the first laser point cloud collected by the vehicle-mounted lidar surround view, and the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points.
[0012] The grid matching module is used to determine the laser points that match each grid in the grid map from the first laser point cloud. The horizontal and vertical axis positions of the grid-matched laser points are located within the corresponding position range of the grid.
[0013] The grid map adjustment module is used to adjust the driving occupancy status of each grid in the grid map according to the laser points matched by each grid, so as to obtain the adjusted grid map.
[0014] The drivable area determination module determines the drivable area of the vehicle based on the adjusted grid map.
[0015] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0016] At least one processor; and
[0017] A memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the drivable area detection method according to any embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the drivable area detection method according to any embodiment of the present invention.
[0020] The technical solution of this invention involves determining a first laser point cloud collected by a vehicle-mounted LiDAR surround view system. This first laser point cloud includes a point cloud formed by laser points corresponding to non-ground points. From the first laser point cloud, laser points matching each grid cell in a grid map are determined, with the horizontal and vertical axis positions of these matching laser points located within the corresponding position range of the grid cell. The driving occupancy status of each grid cell in the grid map is adjusted based on the matching laser points, resulting in an adjusted grid map. The drivable area of the vehicle is then determined based on the adjusted grid map. By directly detecting the drivable area based on LiDAR data, there is no need to acquire large amounts of data for training. By outputting the laser points corresponding to non-ground points in the form of a grid map, the perception range is not limited by high-precision maps and positioning, making drivable area planning easier.
[0021] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0022] 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.
[0023] Figure 1 This is a flowchart of a drivable area detection method provided in Embodiment 1 of the present invention;
[0024] Figure 2 This is a flowchart of a drivable area detection method according to Embodiment 2 of the present invention;
[0025] Figure 3 This is a flowchart of a drivable area detection method provided in Embodiment 3 of the present invention;
[0026] Figure 4 This is a schematic diagram of a drivable area detection device according to Embodiment 4 of the present invention;
[0027] Figure 5 This is a schematic diagram of the structure of an electronic device that implements the drivable area detection method of the present invention. Detailed Implementation
[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0030] Example 1
[0031] Figure 1 This is a flowchart illustrating a drivable area detection method according to Embodiment 1 of the present invention. This embodiment is applicable to situations where radar-acquired data is processed to obtain drivable areas. The method can be executed by a drivable area detection device, which can be implemented in hardware and / or software. This drivable area detection device can be configured in any electronic device with network communication capabilities. Figure 1 As shown, the method includes:
[0032] S110. Determine the first laser point cloud collected by the vehicle-mounted lidar surround view, wherein the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points.
[0033] During radar surround view, a raw point cloud is acquired, which includes point clouds formed by laser points corresponding to ground points and point clouds formed by laser points corresponding to non-ground points. The raw point cloud is then processed by ground segmentation, and the point cloud formed by laser points corresponding to ground points is filtered out to obtain a first laser point cloud that includes point clouds formed by laser points corresponding to non-ground points.
[0034] Point cloud is a set of points that express the spatial distribution and surface characteristics of a target in the same spatial reference frame. It is a set of points obtained after acquiring the spatial coordinates of each sampling point on the surface of an object.
[0035] The vehicle-mounted LiDAR is installed on the vehicle. The LiDAR sensor configured on the vehicle-mounted LiDAR scans the surroundings and collects its original laser point cloud. Each point in the original laser point cloud contains three-dimensional coordinate information x, y, z and reflection intensity information i.
[0036] The types of vehicle-mounted LiDAR include, but are not limited to, mechanical LiDAR, solid-state LiDAR, MEMS LiDAR, Flash array LiDAR, OPA solid-state LiDAR, and hybrid solid-state LiDAR, etc., and this application does not limit them.
[0037] S120. Determine the matching laser points of each grid in the grid map from the first laser point cloud, wherein the horizontal and vertical axis positions of the matching laser points are within the corresponding position range of the grid.
[0038] Each laser point in the first laser point cloud has its own two-dimensional coordinates. Each grid in the grid map can also describe its coverage area through coordinates. By establishing the correspondence between laser point coordinates and grid coordinates, the number and location of laser points falling in each grid can be obtained, and the laser points falling in the grid can be used as the laser points matched by that grid.
[0039] S130. Adjust the driving occupancy status of each grid in the grid map according to the laser points matched by each grid, and obtain the adjusted grid map.
[0040] Specifically, the driving occupancy status of each grid is determined based on the information of the laser points matched to the grid. This information includes the number of laser points. When the number of laser points matched to a grid is less than or equal to a preset number, it indicates that the actual area corresponding to the grid's location will not obstruct vehicle traffic, and the grid's driving occupancy status is set to false, meaning the grid is unoccupied and passable. When the number of laser points matched to a grid is greater than the preset number, it indicates that the actual area corresponding to the grid's location will obstruct vehicle traffic, and the grid's driving occupancy status is set to true, meaning the grid is occupied and not passable. This process iterates through each grid in the grid map until the driving occupancy status of all grids has been adjusted.
[0041] S140. Determine the drivable area of the vehicle based on the adjusted grid map.
[0042] The adjusted raster map is stored, and the stored information includes the raster map size, the size of each individual raster, and the occupancy status of each raster.
[0043] The drivable area of a vehicle is the area in the actual scene corresponding to the location covered by unoccupied grid cells in the grid map.
[0044] The technical solution of this application determines the first laser point cloud collected by the vehicle-mounted LiDAR surround view. The first laser point cloud includes a point cloud formed by laser points corresponding to non-ground points. The laser points matching each grid in the grid map are determined from the first laser point cloud. The horizontal and vertical axis positions of the matching laser points are located within the corresponding position range of the grid. The driving occupancy status of each grid in the grid map is adjusted according to the matching laser points of each grid to obtain an adjusted grid map. The drivable area of the vehicle is determined based on the adjusted grid map. By directly detecting the drivable area based on LiDAR data, it is not necessary to acquire a large amount of data for training. By outputting the laser points corresponding to non-ground points in the form of a grid map, it does not rely on high-precision maps and positioning to limit the perception range, making it easier to plan the drivable area.
[0045] Example 2
[0046] Figure 2 This is a flowchart of a drivable area detection method provided in Embodiment 2 of the present invention. This embodiment optimizes the step of "determining the first laser point cloud collected by the vehicle-mounted lidar surround view" in Embodiment 1. For example... Figure 2 As shown, the method includes:
[0047] S210. Determine the second laser point cloud collected by the vehicle-mounted lidar surround view, wherein the second laser point cloud includes laser points that describe the three-dimensional coordinates of the surrounding environment of the vehicle-mounted lidar.
[0048] The second laser point cloud can be the original point cloud data collected by the vehicle-mounted lidar around the surroundings. The original point cloud data includes the laser points corresponding to ground points and non-ground points in the environment. The lidar origin is used to represent the three-dimensional coordinates of each laser point in the second laser point cloud.
[0049] Optionally, determining the second laser point cloud acquired by the vehicle-mounted lidar surround view includes, but is not limited to, the following steps A1-A2:
[0050] Step A1: Acquire the second laser point cloud collected by the vehicle-mounted lidar around the vehicle's surroundings;
[0051] Step A2: Preprocess the acquired second laser point cloud to obtain the preprocessed second laser point cloud;
[0052] Since there is no need to consider whether the vehicle itself will form obstacles during the vehicle's movement, the original laser point cloud can be rotated and translated to the vehicle coordinate system to remove the vehicle's point cloud.
[0053] Similarly, point clouds higher than the vehicle will not pose an obstacle to the vehicle's movement, so height filtering can be performed to filter out point clouds higher than the vehicle's height.
[0054] Specifically, the preprocessing includes rotating and translating the laser point cloud from the lidar coordinate system to the vehicle coordinate system centered on a preset position on the vehicle, removing the laser point cloud used to describe the vehicle where the vehicle-mounted lidar is located, removing laser point clouds whose vertical axis position is greater than the height position of the vehicle where the vehicle-mounted lidar is located, and / or downsampling the laser point cloud.
[0055] The 3D coordinate information in the second laser point cloud is represented by the origin of the lidar. Therefore, after acquiring the second laser point cloud data, it is first transformed into a vehicle coordinate system with the rear axle center as the origin using lidar calibration extrinsic parameters. The lidar calibration extrinsic parameters include the distance values from the lidar reference origin to the rear axle center in three directions within the vehicle coordinate system, as well as the three attitude angles of the lidar installation: yaw, pitch, and roll. A rotation and translation matrix is then constructed based on these parameters. The second laser point cloud is then transformed into the vehicle coordinate system to obtain the transformed point cloud. Subsequently, points belonging to the vehicle itself and points with z-values greater than a threshold are removed. The z-value is the point cloud height.
[0056] Specifically, maximum and minimum values are set in the x, y, and z directions based on the vehicle size, forming a cuboid bounding box. x, y, and z represent three coordinate values in a three-dimensional coordinate system. Point clouds within the bounding box are considered as the vehicle's point clouds. The point cloud is traversed, and point clouds belonging to the vehicle or with a height z value greater than a threshold are removed.
[0057] After removing point clouds belonging to vehicles and those with a height z-value greater than a threshold, voxel filtering is used to downsample the point cloud, thus completing the preprocessing and obtaining the preprocessed point cloud. The specific implementation of voxel filtering includes, but is not limited to, the following steps B1-B6:
[0058] Step B1: Set the unit size x of the voxel c y c z c ;
[0059] Step B2: Calculate the maximum and minimum values of the point cloud in the x, y, and z directions {x}. max x min y max y min z max z min}, x max This represents the maximum value of the point cloud in the x-direction, x min This represents the minimum value of the point cloud in the x-direction, and so on.
[0060] Step B3: Calculate the number of voxels in the x, y, and z directions:
[0061] D x =(x max -x min ) / x c
[0062] D Y =(y max -y min ) / y c
[0063] D Z =(z max -z min ) / z c
[0064] D x D Y D Z These represent the number of voxels in the x, y, and z directions, respectively.
[0065] All three results are rounded up.
[0066] Step B4: Calculate the voxel index of each point:
[0067] h x =(xx) min ) / x c
[0068] h y =(yy) min ) / yc
[0069] h z =(zz) min ) / z c
[0070] h x h y h z These represent the indices of the voxels in the x, y, and z directions, respectively.
[0071] All three results are rounded up to the nearest integer. The index value h is calculated as follows:
[0072] h = h x +h y *D x +h z *D x *D y
[0073] Step B5: Create a hash table to store point clouds with the same voxel index in the same container. The key of the hash table is the voxel index, and the value is the container that stores the point cloud. This container stores the index of the point cloud, which can reduce memory usage.
[0074] Step B6: Traverse the hash table, randomly select one point to keep for each storage point cloud container, or calculate the mean of all points in the container and keep it, and then put that point into the downsampled point cloud.
[0075] After the traversal process is completed, the second laser point cloud after downsampling is obtained.
[0076] This technical solution uses a hash table, which improves the overall efficiency of downsampling by speeding up indexing, and reduces memory usage through function mapping relationships.
[0077] S220. Extract the first laser point cloud formed by the laser points corresponding to the non-ground points from the second laser point cloud.
[0078] Since the ground points correspond to the actual ground in the scene, they will not cause obstacles to vehicle movement, while the non-ground points correspond to objects in the actual scene that do not constitute the ground. The positions of these objects may cause obstacles to vehicle movement. Therefore, it is necessary to extract the point cloud formed by the laser points corresponding to the non-ground points that may cause obstacles to vehicle movement from the second laser point cloud. These point clouds are the first laser point cloud.
[0079] Optionally, a first laser point cloud is extracted from the second laser point cloud, forming a laser point cloud corresponding to non-ground points, including but not limited to the following steps C1-C3:
[0080] Step C1: Divide the second laser point cloud into at least two concentric ring sub-regions on the plane formed by the horizontal and vertical axes, and the horizontal and vertical axis positions of the second laser point cloud corresponding to the concentric ring sub-regions are located within the region position range of the concentric ring sub-regions.
[0081] Step C2: Perform ground plane fitting iteration on the second laser point cloud corresponding to the concentric annular sub-region to obtain the first laser point cloud corresponding to the concentric annular sub-region;
[0082] Step C3: Merge the first laser point cloud corresponding to each concentric ring sub-region to obtain the first laser point cloud formed by the laser points corresponding to the non-ground points.
[0083] Specifically, the second laser point cloud after downsampling is traversed, and the second laser point cloud is divided into different regions. The second laser point cloud is divided into different concentric ring sub-regions on the plane formed by the horizontal and vertical axes, i.e., the x and y planes. The number of concentric ring sub-regions is at least two. The division is made by calculating the radial distance r of each point from the origin. For example, a concentric ring region is divided if r is between 10 meters and 20 meters. In actual operation, multiple concentric ring regions can be divided according to the lidar hardware and the actual application scenario. These concentric ring regions are used as concentric ring sub-regions.
[0084] Traverse each concentric ring sub-region, and use the ground plane fitting method to segment the ground for the second laser point cloud P of each concentric ring sub-region to obtain the first laser point cloud corresponding to each concentric ring sub-region.
[0085] Merging the first laser point clouds corresponding to each concentric ring sub-region can be achieved by adding the first laser point clouds corresponding to each concentric ring sub-region to obtain the first laser point cloud formed by the laser points corresponding to non-ground points.
[0086] Optionally, the second laser point cloud corresponding to the concentric annular sub-region is subjected to ground plane fitting iteration to obtain the first laser point cloud corresponding to the concentric annular sub-region, including but not limited to the following steps D1-D4:
[0087] Step D1: Extract seed point cloud sets from the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis position of the laser point cloud in the seed point cloud set is smaller than the reference vertical axis position. The reference vertical axis position is determined based on the average value of the vertical axis positions of a preset number of reference laser point clouds selected from the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis positions of the preset number of reference laser point clouds are smaller than the vertical axis positions of the remaining laser point clouds in the second laser point cloud corresponding to the concentric ring sub-region.
[0088] Step D2: During the first iteration of ground plane fitting, the laser point cloud in the seed point cloud set is used as the laser point cloud corresponding to the ground point for ground plane fitting. Some remaining laser points are added from the second laser point cloud corresponding to the concentric ring sub-region to the laser point cloud corresponding to the ground point.
[0089] Step D3: When performing ground plane fitting iterations for the first time, perform ground plane fitting on the laser point cloud corresponding to the ground points obtained from the previous ground plane fitting iteration. Add some remaining laser points from the second laser point cloud corresponding to the concentric ring sub-region to the ground point corresponding laser point cloud until the difference between the vertical axis position of the laser points in the updated ground point corresponding laser point cloud and the laser points in the second laser point cloud corresponding to the concentric ring sub-region is greater than the preset value.
[0090] Step D4: Based on the laser point cloud corresponding to the ground point at the end of the ground plane fitting iteration and the second laser point cloud corresponding to the concentric ring sub-region, determine the first laser point cloud corresponding to the concentric ring sub-region.
[0091] Specifically, seed point set extraction is performed on the second laser point cloud P within the concentric rings. This can be achieved by sorting the second laser point cloud P according to its vertical axis position (height z-value) in the three-dimensional coordinate system, and selecting a preset number of point clouds with the lowest heights as reference laser point clouds. For example, there can be n reference laser point clouds, and the average height h of these n reference laser point clouds is calculated. mean h mean This represents the lowest point of point cloud P, and the second laser point cloud P has a height higher than h. mean At the threshold th seeds Points within the range are considered as the seed point set, i.e., points in the second laser point cloud P with heights less than h. mean +th seeds The point is used as the seed point, and the vertical axis position of the preset reference laser point cloud is smaller than the vertical axis position of the remaining laser point cloud after removing the reference laser point cloud in the second laser point cloud corresponding to the concentric ring sub-region.
[0092] The laser point cloud in the seed point cloud set is used as the ground point to perform ground plane fitting. The ground plane fitting is iterated, and the number of iterations can be denoted as N. iter In practice, the number of iterations can be set according to actual needs; this application does not limit this. In the first iteration, the seed point set is used as the ground point set P. g Perform iterations.
[0093] Specifically, for the ground point set P g To perform plane model calculations, a linear model is used for plane model estimation; the plane equations are:
[0094] ax + by + ca + d = 0
[0095] That is:
[0096] n T x = -d
[0097] Where n = [a, b, c] T x = [x, y, z] T .
[0098] Then solve for the covariance matrix C of the ground point set:
[0099]
[0100] in This represents the mean of all points. The covariance matrix C describes the distribution of the ground point set. Then, the covariance matrix C is processed using Singular Value Decomposition (SVD) to obtain three singular vectors. These three singular vectors describe the distribution of the point set in three main directions. Since it is a planar model, the normal vector n perpendicular to the plane represents the direction with the minimum variance. The normal vector n, i.e., [a, b, c], is obtained by calculating the singular vector with the minimum singular value. T This allows us to determine a planar model. After obtaining the normal vector n, d can be calculated by substituting the average value of the ground point set. It can be obtained directly.
[0101] Based on d, the height threshold h for filtering the ground point set is calculated. th_dist_d :
[0102] h th_dist_d =h th_dist -d
[0103] Where h th_dist These are parameter values, which can be set according to the needs of actual applications; this application does not impose any restrictions on them.
[0104] In the first iteration, the distance from the orthogonal projection of each point in the second laser point cloud of the corresponding concentric annular sub-region to the plane is calculated, and this distance is compared with the threshold h calculated in the previous step. th_dist_d The comparison is performed. If the height difference is less than this threshold, the point is considered a ground point. If the height difference is greater than this threshold, it is considered a non-ground point. The new ground point obtained after classification is added to the laser point cloud corresponding to the ground point.
[0105] The laser point cloud, after being replenished with new ground points, serves as the ground point set for the next iteration. This process continues by adding some remaining laser points from the second laser point cloud corresponding to the concentric ring sub-region to the laser point cloud corresponding to the ground point. This continues until the difference between the vertical axis position (height z-value) of the laser points in the updated ground point laser point cloud and the laser points in the second laser point cloud corresponding to the concentric ring sub-region is greater than a preset value. This ensures that after the iteration, each laser point in the ground point laser point cloud is lower than the laser points in the second laser point cloud corresponding to the concentric ring sub-region.
[0106] After the iteration is completed, the ground point set P is obtained. g and non-ground point set P ng Calculate the verticality z of the ground point set respectively. vec Average height z mean Flatness f. Where z vec =|c|, where c is the c in the normal vector n; z mean The mean z-value is the average value of the ground point set P; the flatness f is obtained by considering the ground point set P. g The minimum of the three singular values after singular value decomposition of the covariance matrix is obtained by dividing the sum of the three singular values.
[0107] Based on the verticality z of the ground point set vec Average height z mean The flatness f is used to verify the ground segmentation results. If z vec If the verticality is less than the verticality threshold `uprightness_thr`, it indicates that the ground plane tilt is too large, and the ground point set is classified as a non-ground point set. If the verticality meets the threshold, the average height is then checked: if the average height is greater than the average height threshold, it is also classified as a non-ground point set; otherwise, the flatness is checked: if the flatness is greater than the average flatness threshold, it is also classified as a non-ground point set; otherwise, the ground point set P is classified as a non-ground point set. g and non-ground point set P ng This serves as the ground segmentation result of the current concentric ring sub-region point cloud.
[0108] The ground segmentation results of each concentric annular sub-region are summed, the ground point sets of each region are summed, and the non-ground point sets are summed to obtain the final ground segmentation result: ground point set P. g_all Non-ground point set P ng_all The non-ground point set P ng_all As the first laser point cloud.
[0109] S230. Determine the matching laser points of each grid in the grid map from the first laser point cloud, wherein the horizontal and vertical axis positions of the matching laser points are within the corresponding position range of the grid.
[0110] The final segmentation result is input into the grid map to determine the matching laser points for each grid in the grid map. The horizontal and vertical axis positions of the matching laser points of the grid, i.e., the x and y plane positions, are within the corresponding position range of the grid.
[0111] S240. Adjust the driving occupancy status of each grid in the grid map according to the laser points matched by each grid, and obtain the adjusted grid map.
[0112] The occupancy status of a vehicle can include both occupied and unoccupied, and will be matched with the ground point set P. g_all The grid driving occupancy status of the laser points in the grid is set to unoccupied, and the non-ground point set P will be matched. ng_all The grid driving status of the laser points in the image is set to occupied.
[0113] S250. Determine the drivable area of the vehicle based on the adjusted grid map.
[0114] Areas corresponding to unoccupied grids are traversable, while areas corresponding to occupied grids are not traversable.
[0115] The technical solution of this application determines a second laser point cloud collected by the vehicle-mounted LiDAR surround view. The second laser point cloud includes laser points that describe the three-dimensional coordinates of the surrounding environment of the vehicle-mounted LiDAR. The first laser point cloud is formed by extracting the laser points corresponding to non-ground points from the second laser point cloud. This can more accurately classify the laser points corresponding to non-ground points, enhance the accuracy of judging the location of obstacles, and improve the effectiveness of drivable area detection.
[0116] Example 3
[0117] Figure 3 This is a flowchart of a drivable area detection method provided in Embodiment 3 of the present invention. This embodiment optimizes the step in Embodiment 1, which involves "adjusting the occupancy status of each grid cell in the grid map based on the laser points matched by each grid cell." Figure 3 As shown, the method includes:
[0118] S310. Determine the first laser point cloud collected by the vehicle-mounted lidar surround view, wherein the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points.
[0119] S320. Determine the matching laser points of each grid in the grid map from the first laser point cloud, wherein the horizontal and vertical axis positions of the matching laser points are within the corresponding position range of the grid.
[0120] Optionally, the matching laser points of each grid cell in the grid map are determined from the first laser point cloud, including but not limited to the following steps F1-F2:
[0121] Step F1: Determine the horizontal and vertical axis positions of each laser point in the first laser point cloud and the position range of each grid in the grid map;
[0122] Step F2: Based on the horizontal and vertical axis positions of the laser points in the first laser point cloud and the position range of each grid, find the grid in the grid map that matches the horizontal and vertical axis positions of the laser points.
[0123] Specifically, the first laser point cloud, i.e., the non-ground point set P, is... ng_all The transformed point cloud P is obtained by performing coordinate rotation and translation. ng_all_trans After translation, the origin of the coordinate system can be the top left corner of the raster map.
[0124] S330. For each grid in the grid map, determine the number of laser points that match the grid.
[0125] Specifically, traverse the non-ground point set P ng_all And the point cloud P after rotation and translation ng_all_trans Using P respectively ng_all_trans The coordinates x and y of the midpoint are used to calculate the row and column indices of the point in the raster map. Then, the number of laser points belonging to the raster is counted based on the row and column indices to obtain the point cloud count value.
[0126] S340. Adjust the driving occupancy status of each grid in the grid map according to the number of laser points matched by the grid.
[0127] The occupancy status of the grid map is calculated by traversing the grid map. If the number of laser points (count) in a grid is greater than a preset threshold, the occupancy status of the grid is set to true, indicating that the grid is occupied and cannot be passed; otherwise, it is set to false, indicating that the grid is unoccupied and can be passed. Simultaneously, it is determined whether the minimum vertical axis position of the matched laser points in each grid is greater than a preset height threshold. The preset height threshold can be greater than the vehicle height. If it is greater than the height threshold, it indicates that the vehicle can pass normally, and the grid occupancy status is set to false; otherwise, it is set to true.
[0128] Optionally, based on the number of laser points matched to the grid, the driving occupancy status corresponding to each grid in the grid map can be adjusted, including but not limited to the following steps G1-G2:
[0129] Step G1: If the number of laser points matched by the grid is greater than the preset number, then mark the grid's driving occupancy status as the first state; the first state is used to indicate that the grid is not allowed to participate in driving path planning.
[0130] Step G2: If the number of laser points matched by the grid is less than or equal to the preset number, then mark the grid's driving occupancy status as the second state; the second state is used to indicate that the grid is allowed to participate in driving path planning.
[0131] The preset number can be used to filter grids suitable for participating in driving path planning, avoiding the influence of isolated laser noise points and reducing the amount of computation in subsequent processing.
[0132] Optionally, the driving occupancy status of each grid cell in the grid map can be adjusted based on the laser points matched to each grid cell, including but not limited to the following steps H1-H3:
[0133] Step H1: Determine the maximum and minimum vertical axis positions of the laser points in the grid matching;
[0134] Step H2: Sum the vertical axis positions of each laser point in the grid matching;
[0135] Step H3: If the difference between the maximum and minimum vertical axis positions is less than a preset difference, and the ratio between the sum of the vertical axis position sizes and the number of laser points matched by the grid is less than a preset ratio, then the laser points matched by the grid will be removed.
[0136] Specifically, the maximum vertical axis position z of the matched laser point in each grid is calculated using row and column indices. max Minimum vertical axis position z min The z-value is obtained by summing the vertical axis position values of each laser point. sum .
[0137] Missed ground points are screened out, and the screening conditions are: z max -z min The difference is less than a preset value, for example, it could be 0.15m; this application does not limit this. The ratio between the sum of the vertical axis position values and the number of laser points matched by the grid is... If the distance is less than 0.15m, it meets the characteristics of a ground point, meaning that the entire grid is composed of ground points and the grid is passable. In this case, the grid occupancy status is set to false, otherwise it is set to true.
[0138] S350. Determine the drivable area of the vehicle based on the adjusted grid map.
[0139] The technical solution of this application determines the number of laser points that match the grid in the grid map, and adjusts the driving occupancy status corresponding to each grid in the grid map based on the number of laser points that match the grid. This can reduce the computational pressure of drivable area detection, speed up the computational efficiency of drivable area detection, and enhance the accuracy of drivable area detection.
[0140] Example 4
[0141] Figure 4 This is a schematic diagram of a drivable area detection device provided in Embodiment 3 of the present invention. Figure 4 As shown, the device includes:
[0142] The first laser point cloud determination module 410 is used to determine the first laser point cloud collected by the vehicle-mounted lidar surround view, wherein the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points.
[0143] The grid matching module 420 is used to determine the laser points that match each grid in the grid map from the first laser point cloud, and the horizontal and vertical axis positions of the grid-matched laser points are located within the corresponding position range of the grid.
[0144] The grid map adjustment module 430 is used to adjust the driving occupancy status of each grid in the grid map according to the laser points matched by each grid, so as to obtain the adjusted grid map.
[0145] The drivable area determination module 440 determines the drivable area of the vehicle based on the adjusted grid map.
[0146] Optionally, the first laser point cloud determination module 410 includes:
[0147] The second laser point cloud determination unit is used to determine the second laser point cloud collected by the vehicle-mounted lidar surround view. The second laser point cloud includes laser points that describe the three-dimensional coordinates of the surrounding environment of the vehicle-mounted lidar.
[0148] The first laser point cloud extraction unit is used to extract the first laser point cloud formed by laser points corresponding to non-ground points from the second laser point cloud.
[0149] Optionally, the second laser point cloud determination unit is specifically used for:
[0150] Acquire the second laser point cloud collected by the vehicle-mounted lidar surrounding the vehicle's environment;
[0151] The acquired second laser point cloud is preprocessed to obtain the preprocessed second laser point cloud;
[0152] The preprocessing includes rotating and translating the laser point cloud from the lidar coordinate system to the vehicle coordinate system centered on a preset position on the vehicle, removing the laser point cloud used to describe the vehicle where the vehicle-mounted lidar is located, removing laser point clouds whose vertical axis position is greater than the height position of the vehicle where the vehicle-mounted lidar is located, and / or downsampling the laser point cloud.
[0153] Optionally, the first laser point cloud extraction unit includes:
[0154] The concentric ring sub-region division sub-unit is used to divide the second laser point cloud on the plane formed by the horizontal and vertical axes into at least two concentric ring sub-regions corresponding to the second laser point cloud, and the horizontal and vertical axis positions of the second laser point cloud corresponding to the concentric ring sub-region are located within the region position range of the concentric ring sub-region.
[0155] The ground plane fitting iteration subunit is used to perform ground plane fitting iteration on the second laser point cloud corresponding to the concentric ring sub-region to obtain the first laser point cloud corresponding to the concentric ring sub-region.
[0156] The first laser point cloud merging subunit is used to merge the first laser point clouds corresponding to each concentric annular sub-region to obtain the first laser point cloud formed by the laser points corresponding to the non-ground points.
[0157] Optionally, the ground plane fitting iterative subunit is specifically used for:
[0158] Seed point cloud set extraction is performed on the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis position of the laser point cloud in the seed point cloud set is smaller than the reference vertical axis position. The reference vertical axis position is determined based on the average value of the vertical axis positions of a preset number of reference laser point clouds selected from the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis positions of the preset number of reference laser point clouds are smaller than the vertical axis positions of the remaining laser point clouds in the second laser point cloud corresponding to the concentric ring sub-region.
[0159] During the first iteration of ground plane fitting, the laser point cloud in the seed point cloud set is used as the laser point cloud corresponding to the ground point for ground plane fitting. Some remaining laser points are added from the second laser point cloud corresponding to the concentric ring sub-region to the laser point cloud corresponding to the ground point.
[0160] When performing ground plane fitting iterations for the first time, ground plane fitting is performed on the ground point corresponding laser point cloud obtained from the previous ground plane fitting iteration. Some remaining laser points are added from the second laser point cloud corresponding to the concentric ring sub-region to the ground point corresponding laser point cloud until the difference between the vertical axis position of the laser point in the updated ground point corresponding laser point cloud and the laser point in the second laser point cloud corresponding to the concentric ring sub-region is greater than the preset value.
[0161] Based on the laser point cloud corresponding to the ground point at the end of the ground plane fitting iteration and the second laser point cloud corresponding to the concentric annular sub-region, the first laser point cloud corresponding to the concentric annular sub-region is determined.
[0162] Optionally, the grid matching module 420 is specifically used for:
[0163] Determine the horizontal and vertical axis positions of each laser point in the first laser point cloud and the position range of each grid in the grid map;
[0164] Based on the horizontal and vertical axis positions of the laser points in the first laser point cloud and the position range of each grid, the grid in the grid map is searched to find the grid that matches the position of the laser points on the horizontal and vertical axes.
[0165] Optionally, the raster map adjustment module 430 includes:
[0166] The laser dot quantity determination unit is used to determine the number of laser dots that match a grid in a grid map.
[0167] The driving occupancy status adjustment unit is used to adjust the driving occupancy status of each grid in the grid map based on the number of laser points matched by the grid.
[0168] Optionally, the driving occupancy status adjustment unit is specifically used for:
[0169] If the number of laser points matched by the grid is greater than the preset number, the grid's driving occupancy status is marked as the first state; the first state is used to indicate that the grid is not allowed to participate in driving path planning.
[0170] If the number of laser points matched by the grid is less than or equal to the preset number, the grid's driving occupancy status is marked as the second state; the second state is used to indicate that the grid is allowed to participate in driving path planning.
[0171] Optionally, the driving occupancy status adjustment unit is further configured to:
[0172] Determine the maximum and minimum vertical axis positions among the vertical axis positions of the laser points in the grid matching;
[0173] Sum the vertical axis positions of each laser point in the grid matching;
[0174] If the difference between the maximum and minimum vertical axis positions is less than a preset difference, and the ratio between the sum of the vertical axis position sizes and the number of laser points matched by the grid is less than a preset ratio, then the laser points matched by the grid will be discarded.
[0175] The drivable area detection device provided in the embodiments of the present invention can execute the drivable area detection method provided in any of the embodiments of the present invention, and has the corresponding functions and beneficial effects of executing the drivable area detection method. For details, please refer to the relevant operations of the drivable area detection method in the foregoing embodiments.
[0176] Example 5
[0177] Figure 5A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0178] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0179] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0180] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as method drivable area detection.
[0181] In some embodiments, the method drivable area detection may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the method drivable area detection described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform method drivable area detection by any other suitable means (e.g., by means of firmware).
[0182] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0183] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0184] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0185] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0186] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0187] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0188] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0189] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A method for detecting drivable areas, characterized in that, include: The first laser point cloud collected by the vehicle-mounted lidar surround view is determined, and the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points. The laser points that match each grid in the grid map are determined from the first laser point cloud, and the horizontal and vertical axis positions of the laser points that match the grid are within the corresponding position range of the grid. The driving occupancy status of each grid in the grid map is adjusted based on the laser points matched in each grid, resulting in the adjusted grid map. The drivable area for vehicles is determined based on the adjusted grid map; The determination of the first laser point cloud acquired by the vehicle-mounted lidar surround view includes: The second laser point cloud acquired by the vehicle-mounted lidar surround view is determined, and the second laser point cloud includes laser points that describe the three-dimensional coordinates of the surrounding environment of the vehicle-mounted lidar. The second laser point cloud is divided into at least two concentric ring sub-regions on the plane formed by the horizontal and vertical axes. The horizontal and vertical axis positions of the second laser point cloud corresponding to the concentric ring sub-regions are located within the region position range of the concentric ring sub-regions. Seed point cloud set extraction is performed on the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis position of the laser point cloud in the seed point cloud set is smaller than the reference vertical axis position. The reference vertical axis position is determined based on the average value of the vertical axis positions of a preset number of reference laser point clouds selected from the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis positions of the preset number of reference laser point clouds are smaller than the vertical axis positions of the remaining laser point clouds in the second laser point cloud corresponding to the concentric ring sub-region. During the first iteration of ground plane fitting, the laser point cloud in the seed point cloud set is used as the laser point cloud corresponding to the ground point for ground plane fitting. Some remaining laser points are added from the second laser point cloud corresponding to the concentric ring sub-region to the laser point cloud corresponding to the ground point. When performing ground plane fitting iterations for the first time, ground plane fitting is performed on the ground point corresponding laser point cloud obtained from the previous ground plane fitting iteration. Some remaining laser points are added from the second laser point cloud corresponding to the concentric ring sub-region to the ground point corresponding laser point cloud until the difference between the vertical axis position of the laser point in the updated ground point corresponding laser point cloud and the laser point in the second laser point cloud corresponding to the concentric ring sub-region is greater than the preset value. Based on the laser point cloud corresponding to the ground point at the end of the ground plane fitting iteration and the second laser point cloud corresponding to the concentric annular sub-region, the first laser point cloud corresponding to the concentric annular sub-region is determined. The first laser point cloud corresponding to each concentric ring sub-region is merged to obtain the first laser point cloud formed by the laser points corresponding to the non-ground points.
2. The method according to claim 1, characterized in that, Determine the second laser point cloud acquired by the vehicle-mounted lidar surround view, including: Acquire the second laser point cloud collected by the vehicle-mounted lidar surrounding the vehicle's environment; The acquired second laser point cloud is preprocessed to obtain the preprocessed second laser point cloud; The preprocessing includes rotating and translating the laser point cloud from the lidar coordinate system to the vehicle coordinate system centered on a preset position on the vehicle, removing the laser point cloud used to describe the vehicle where the vehicle-mounted lidar is located, removing laser point clouds whose vertical axis position is greater than the height position of the vehicle where the vehicle-mounted lidar is located, and / or downsampling the laser point cloud.
3. The method according to claim 1, characterized in that, Determining the matching laser points for each grid cell in the grid map from the first laser point cloud includes: Determine the horizontal and vertical axis positions of each laser point in the first laser point cloud and the position range of each grid in the grid map; Based on the horizontal and vertical axis positions of the laser points in the first laser point cloud and the position range of each grid, the grid in the grid map is searched to find the grid that matches the position of the laser points on the horizontal and vertical axes.
4. The method according to claim 1, characterized in that, The driving occupancy status of each grid cell in the grid map is adjusted based on the laser points matched to each grid cell, including: For each grid cell in the raster map, determine the number of laser points that match the grid cells; Based on the number of laser points matched to the grid, the driving occupancy status of each grid in the grid map is adjusted.
5. The method according to claim 4, characterized in that, Based on the number of laser points matched to the grid, the driving occupancy status of each grid cell in the grid map is adjusted, including: If the number of laser points matched by the grid is greater than the preset number, the grid's driving occupancy status is marked as the first state; the first state is used to indicate that the grid is not allowed to participate in driving path planning. If the number of laser points matched by the grid is less than or equal to a preset number, the grid's driving occupancy status is marked as a second state; the second state is used to indicate that the grid is allowed to participate in driving path planning.
6. The method according to claim 4, characterized in that, The driving occupancy status of each grid cell in the grid map is adjusted based on the laser points matched to each grid cell, including: Determine the maximum and minimum vertical axis positions among the vertical axis positions of the laser points in the grid matching; Sum the vertical axis positions of each laser point in the grid matching; If the difference between the maximum and minimum vertical axis positions is less than a preset difference, and the ratio between the sum of the vertical axis position sizes and the number of laser points matched by the grid is less than a preset ratio, then the laser points matched by the grid will be discarded.
7. A drivable area detection device, characterized in that, include: The first laser point cloud determination module is used to determine the first laser point cloud collected by the vehicle-mounted lidar surround view, and the first laser point cloud includes point clouds formed by laser points corresponding to non-ground points. The grid matching module is used to determine the laser points that match each grid in the grid map from the first laser point cloud. The horizontal and vertical axis positions of the grid-matched laser points are located within the corresponding position range of the grid. The grid map adjustment module is used to adjust the driving occupancy status of each grid in the grid map according to the laser points matched by each grid, so as to obtain the adjusted grid map. The drivable area determination module determines the drivable area of the vehicle based on the adjusted grid map; The first laser point cloud determination module includes: The second laser point cloud determination unit is used to determine the second laser point cloud collected by the vehicle-mounted lidar surround view. The second laser point cloud includes laser points that describe the three-dimensional coordinates of the surrounding environment of the vehicle-mounted lidar. The first laser point cloud extraction unit is used to extract the first laser point cloud formed by laser points corresponding to non-ground points from the second laser point cloud. The first laser point cloud extraction unit includes: The concentric ring sub-region division sub-unit is used to divide the second laser point cloud on the plane formed by the horizontal and vertical axes into at least two concentric ring sub-regions corresponding to the second laser point cloud, and the horizontal and vertical axis positions of the second laser point cloud corresponding to the concentric ring sub-region are located within the region position range of the concentric ring sub-region. The ground plane fitting iteration subunit is used to perform ground plane fitting iteration on the second laser point cloud corresponding to the concentric ring sub-region to obtain the first laser point cloud corresponding to the concentric ring sub-region. The first laser point cloud merging subunit is used to merge the first laser point clouds corresponding to each concentric annular sub-region to obtain the first laser point cloud formed by the laser points corresponding to the non-ground points. The ground plane fitting iterative subunit is specifically used for: Seed point cloud sets are extracted from the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis position of the laser point cloud in the seed point cloud set is smaller than the reference vertical axis position. The reference vertical axis position is determined based on the average vertical axis position of a preset number of reference laser point clouds selected from the second laser point cloud corresponding to the concentric ring sub-region. The vertical axis position of the preset number of reference laser point clouds is smaller than the vertical axis position of the remaining laser point clouds in the second laser point cloud corresponding to the concentric ring sub-region. During the first iteration of ground plane fitting, the laser point cloud in the seed point cloud set is used as the ground point corresponding to the laser point cloud for ground plane fitting. Some remaining laser point clouds are added from the second laser point cloud corresponding to the concentric ring sub-region. The laser point cloud corresponds to the ground point. During non-first-time ground plane fitting iterations, ground plane fitting is performed on the ground point corresponding to the laser point cloud obtained from the previous iteration. Some remaining laser points are added from the second laser point cloud corresponding to the concentric annular sub-region to the ground point corresponding to the laser point cloud, until the difference between the vertical axis positions of the laser points in the updated ground point corresponding to the laser point cloud and the laser points in the second laser point cloud corresponding to the concentric annular sub-region is greater than a preset value. Based on the ground point corresponding to the laser point cloud at the end of the ground plane fitting iteration and the second laser point cloud corresponding to the concentric annular sub-region, the first laser point cloud corresponding to the concentric annular sub-region is determined.
8. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor to enable the at least one processor to perform the drivable area detection method according to any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the drivable area detection method according to any one of claims 1-6.
Citation Information
Patent Citations
Travelable area detection method, computer equipment, storage medium and vehicle
CN114966651A