Vehicle positioning method and device
By extracting and matching specific elements from LiDAR point cloud data, the vehicle positioning is optimized, solving the problems of high cost and unstable signal, and achieving efficient positioning in urban environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SAIC MOTOR
- Filing Date
- 2022-12-28
- Publication Date
- 2026-06-26
AI Technical Summary
Among existing vehicle positioning technologies, high-precision inertial measurement units and global navigation satellite systems are costly and have insufficient signal stability. Laser or visual positioning solutions require a large amount of storage and computing resources, and point cloud positioning methods have unstable accuracy in urban environments.
By acquiring vehicle location and LiDAR point cloud data, point cloud data of roadside, road surface and poles are extracted, timestamp alignment and downsampling are performed, and the road element point cloud map is used for matching to determine the residual and optimize the positioning position. This reduces storage and computing requirements and improves the stability and accuracy of point cloud data.
It saves storage and computing resources and improves the accuracy and stability of vehicle positioning, especially in urban environments.
Smart Images

Figure CN116222590B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of vehicle driving technology, and in particular relates to a vehicle positioning method and device. Background Technology
[0002] In the current field of autonomous driving, the commonly used vehicle positioning solution is multi-sensor fusion positioning. Generally, high-precision inertial measurement units (IMUs) and global navigation satellite systems (GNSS) are the core and foundation of fusion positioning. However, using only these sensors has obvious drawbacks: high-precision combined navigation equipment (IMU+GNSS) is too expensive, which is unacceptable for mass-produced autonomous vehicles or robotic devices; secondly, the stability of GNSS signals cannot be guaranteed, as weather changes and obstructions from tall buildings, trees, and tunnels in urban environments can all cause signal loss.
[0003] Based on the aforementioned integrated navigation equipment, in order to ensure the robustness of positioning, fusion positioning schemes generally increase the redundancy of laser or visual positioning schemes.
[0004] Generally, point cloud localization schemes require a complete point cloud map. Then, local or global features of a single frame point cloud and the map point cloud are extracted for matching and localization. This type of scheme has the following drawbacks: First, it requires a large amount of storage and computing resources, such as storing the point cloud map, reading the point cloud map in real time, and using the complete point cloud to extract point features or some global features such as NDT (Normal Distribution Transform) probability features during matching. Second, due to spatiotemporal changes, terrain changes, and different types of sensors used, the accuracy of the information collected by this type of method using complete point clouds will be unstable. Summary of the Invention
[0005] This application provides a vehicle positioning method, apparatus, device, and computer-readable storage medium, which can improve positioning accuracy and stability.
[0006] On one hand, embodiments of this application provide a vehicle positioning method, the method including:
[0007] Obtain the vehicle's initial location and the point cloud data collected by the lidar installed on the vehicle;
[0008] Extract curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data from point cloud data;
[0009] Align the curb point cloud data, road surface point cloud data, and pole point cloud data according to the timestamp;
[0010] The aligned curb point cloud data, road surface point cloud data, and pole point cloud data are downsampled to obtain downsampled curb point cloud data, road surface point cloud data, and pole point cloud data.
[0011] Find point cloud data that match the downsampled roadside point cloud data, road surface point cloud data, and rod-shaped object point cloud data on the road element point cloud map;
[0012] Based on the matched point cloud data, the residuals of the curb, poles, and road surface are determined;
[0013] The first position is optimized based on the residual to obtain the optimization result;
[0014] Based on the optimization results, the vehicle's location is determined.
[0015] On the other hand, embodiments of this application provide a vehicle positioning device, the device comprising:
[0016] The first acquisition module is used to acquire the vehicle's first position and the point cloud data collected by the lidar installed on the vehicle;
[0017] The extraction module is used to extract curb point cloud data, road surface point cloud data, and pole point cloud data from point cloud data;
[0018] The alignment module is used to align the curb point cloud data, road surface point cloud data, and pole point cloud data according to the timestamp.
[0019] The downsampling module is used to downsample the aligned curb point cloud data, road surface point cloud data, and pole point cloud data respectively to obtain downsampled curb point cloud data, road surface point cloud data, and pole point cloud data.
[0020] The search module is used to search for point cloud data that matches the downsampled roadside point cloud data, road surface point cloud data, and pole point cloud data, respectively, from the road element point cloud map.
[0021] The first determination module is used to determine the residuals of the curb, poles, and road surface based on the mutually matched point cloud data;
[0022] The optimization module is used to optimize the first position based on the residual to obtain the optimization result;
[0023] The positioning module is used to determine the vehicle's location based on the optimization results.
[0024] In another aspect, embodiments of this application provide a vehicle positioning device, the device including: a processor and a memory storing computer program instructions;
[0025] When the processor executes computer program instructions, it implements the vehicle positioning method as described in any of the above embodiments.
[0026] In another aspect, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the vehicle positioning method of any of the above embodiments.
[0027] In another aspect, embodiments of this application provide a computer program product, wherein when the instructions in the computer program product are executed by the processor of an electronic device, the electronic device performs the vehicle positioning method of any of the above embodiments.
[0028] The vehicle positioning method, apparatus, device, and computer-readable storage medium provided in this application first acquire the vehicle's first position and point cloud data collected by the lidar installed on the vehicle. Then, curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data are extracted from the point cloud data. These point cloud data are aligned according to timestamps, and then downsampled. Next, point cloud data matching the downsampled point cloud data is searched on the road element point cloud map. Based on the matching point cloud data, the residuals for the curb, pole-shaped object, and road surface are determined. Finally, the first position is optimized based on the residuals to obtain the optimized result. Based on the optimized result, the vehicle's positioning position is determined. First, because a complete laser point cloud map was not used for local or global matching and positioning, but rather a point cloud map containing road elements was used, efficient identification and joint matching were performed only on curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data, thus saving storage and computing resources. Second, in urban roads, curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data are relatively stable and have a higher semantic level. Therefore, efficient identification and joint matching of these three types of point cloud data can optimize the first location and improve positioning accuracy and stability. Attached Figure Description
[0029] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0030] Figure 1 A schematic flowchart of a vehicle positioning method according to an embodiment of this application is shown;
[0031] Figure 2 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown;
[0032] Figure 3A flowchart illustrating a vehicle positioning method according to yet another embodiment of this application is shown;
[0033] Figure 4 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown;
[0034] Figure 5 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown;
[0035] Figure 6 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown;
[0036] Figure 7 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown;
[0037] Figure 8 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown;
[0038] Figure 9 A schematic diagram of the process for forming a location confidence matrix provided in this application is shown;
[0039] Figure 10 This illustration shows a structural schematic diagram of a vehicle positioning device according to an embodiment of this application;
[0040] Figure 11 A schematic diagram of the structure of a vehicle positioning device provided in one embodiment of this application is shown. Detailed Implementation
[0041] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.
[0042] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.
[0043] To address the problems existing in the prior art, embodiments of this application provide a vehicle positioning method, apparatus, device, and computer-readable storage medium. The vehicle positioning method provided in this application embodiment is described below.
[0044] Figure 1 A flowchart illustrating a vehicle positioning method according to an embodiment of this application is shown. Figure 1 As shown, the vehicle positioning method can be applied to positioning devices installed on vehicles. The vehicle positioning method includes the following steps:
[0045] Step 101: Obtain the vehicle's first location and the point cloud data collected by the lidar installed on the vehicle.
[0046] The vehicle's initial position can be obtained through GPS (Global Positioning System) or through the position information determined by the lidar at the previous moment. The point cloud data collected by the lidar can be the point cloud data at the current moment.
[0047] Step 102: Extract curb point cloud data, road surface point cloud data, and pole point cloud data from the point cloud data.
[0048] Point cloud data contains point cloud data of many road elements. In this embodiment of the application, only the point cloud data of the roadside, the point cloud data of the road surface, and the point cloud data of the pole are extracted for identification and matching.
[0049] Step 103: Align the curb point cloud data, road surface point cloud data, and pole point cloud data according to the timestamp.
[0050] Each point in the point cloud data has a timestamp. By aligning the curb point cloud data, road surface point cloud data, and pole point cloud data according to the timestamp, it can be ensured that the curb point cloud data, road surface point cloud data, and pole point cloud data are data from the same frame of point cloud, which facilitates subsequent matching with the point cloud in the road element point cloud map.
[0051] Step 104: Downsample the aligned curb point cloud data, road surface point cloud data, and pole point cloud data respectively to obtain downsampled curb point cloud data, road surface point cloud data, and pole point cloud data.
[0052] Due to changes in the road driving environment, the extracted point cloud data of each element will fluctuate significantly. If the point cloud data of various types after time stamp alignment is directly matched with the point cloud data in the road element point cloud map to optimize the first position, the positioning result will be inaccurate. For example, if there are few poles in this road section, too much ground point cloud data will have a significant impact on the stability of horizontal x, y and yaw angles during the optimization process, and will also fall into local optima. Therefore, in order to ensure that the optimization process is not too affected by the number of points, it is necessary to downsample the aligned roadside point cloud data, road surface point cloud data and pole point cloud data respectively to obtain downsampled roadside point cloud data, road surface point cloud data and pole point cloud data. For example, 500 points can be selected.
[0053] Step 105: Find point cloud data that matches the downsampled curb point cloud data, road surface point cloud data, and pole point cloud data on the road element point cloud map.
[0054] The road element point cloud map contains point cloud data of road edges, road surfaces, and poles at various locations along the road. For example, a pole can be a utility pole. In urban roads, each utility pole has a precise location. Road edges and road surfaces are used to help confirm the location of poles. First, a range can be determined in the road element point cloud map based on the first location. Then, the downsampled point cloud data of road edges, road surfaces, and poles can be matched with the point cloud data of road edges, road surfaces, and poles within this range in the road element point cloud map to find matching point cloud data.
[0055] Step 106: Based on the matched point cloud data, determine the residuals of the curb, poles, and road surface.
[0056] After identifying matching curb, road surface, and pole point cloud data from the road element point cloud map, residual calculations are performed between these data and their corresponding matching data in the road element point cloud map to determine the residuals for the curb, poles, and road surface. These residuals characterize the differences between the current curb, road surface, and pole point cloud data and the point cloud data with accurate locations in the road element point cloud map.
[0057] In addition, when the number of points in the curb point cloud data, road surface point cloud data, or pole point cloud data is less than 500, the pole features, which are crucial for two-dimensional localization and have a significant impact, can be used as a benchmark to randomly remove the point residuals from the curb point cloud data and road surface point cloud data, ensuring that they do not exceed the number of points in the pole point cloud data.
[0058] Step 107: Optimize the first position based on the residual to obtain the optimization result.
[0059] The residuals of three types of point cloud data can be input into the optimizer model. The convergence of various features is used to determine whether convergence has occurred. When convergence occurs, the optimization result is obtained. When convergence fails, the point cloud data is discarded.
[0060] Step 108: Determine the vehicle's location based on the optimization results.
[0061] According to the vehicle positioning method provided in this application embodiment, the first position of the vehicle and the point cloud data collected by the lidar installed on the vehicle are first obtained. The point cloud data of the roadside, the road surface, and the pole are extracted from the point cloud data. The point cloud data of each type are aligned according to the timestamp, and then downsampling is performed. Then, the point cloud data that matches the downsampled point cloud data of each type are searched on the road element point cloud map. The residuals of the roadside, pole, and road surface are determined according to the matching point cloud data. Finally, the first position is optimized according to the residuals to obtain the optimization result. The positioning position of the vehicle is determined according to the optimization result. First, because a complete laser point cloud map was not used for local or global matching and positioning, but rather a point cloud map containing road elements was used, efficient identification and joint matching were performed only on curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data, thus saving storage and computing resources. Second, in urban roads, curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data are relatively stable and have a higher semantic level. Therefore, efficient identification and joint matching of these three types of point cloud data can optimize the first location and improve positioning accuracy and stability.
[0062] Figure 2A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown. Figure 2 As shown, extracting curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data from point cloud data, i.e., step 102 above includes the following steps:
[0063] Step 201: Perform height direction pass-through filtering on the point cloud data to obtain non-ground points, candidate ground points, ground points, and ground-near points within a preset ground range.
[0064] Candidate ground points include ground points and points in areas close to the ground. For example, taking the installation height of the LiDAR on the vehicle as the origin, say 2.5 meters, then candidate ground points are point cloud data acquired by the LiDAR scan between -2.3 meters and -2.5 meters. Non-ground points, ground points, and points near the ground within a preset range are also acquired using this method, with the LiDAR as the origin, from point cloud data at different heights.
[0065] First, the point cloud data is classified according to height, and then the point cloud data of curbs, road surfaces, and poles are extracted from the corresponding categories of point cloud data, which is more targeted.
[0066] Step 202: Extract rod-shaped object point cloud data from non-ground points.
[0067] Rod-shaped objects, such as utility poles, are generally vertical and relatively tall. In radar point cloud data, they are mainly distributed in the point cloud data of non-ground points. Therefore, the point cloud data of rod-shaped objects is extracted from non-ground points.
[0068] Step 203: Extract roadside point cloud data from ground points and nearby ground points within a preset range on the ground.
[0069] Roadsides are generally connected to the ground and are distributed within a preset height range above the ground. Therefore, roadside point cloud data is extracted from ground points and nearby ground points within the preset ground range.
[0070] Step 204: Extract road surface point cloud data from candidate ground points.
[0071] Candidate ground points include ground points and points in areas close to the ground. For example, taking the installation height of the LiDAR on the vehicle as the origin, say 2.5 meters, then the candidate ground points are the point cloud data obtained by the LiDAR scan between -2.3 meters and -2.5 meters.
[0072] In this application, the point cloud data is first classified according to height, and then the point cloud data of roadside, road surface, and pole-shaped objects are extracted from the corresponding category of point cloud data, which is more targeted.
[0073] Figure 3 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown. Figure 3 As shown, extracting rod-shaped object point cloud data from non-ground points, i.e., step 202 above, includes the following steps:
[0074] Step 301: Based on the morphological characteristics of the rod-shaped object, non-ground points are non-uniformly voxelized to obtain a first spatial voxel that adapts to the morphological characteristics of the rod-shaped object.
[0075] To address the slow speed of KNN point clustering, this application first divides the entire 3D space into cubic voxels, and then considers clustering at the voxel 3D mesh level, which can significantly improve efficiency.
[0076] Considering the shape characteristics of rod-shaped objects, namely an aspect ratio much greater than 1, the horizontal resolution is considered to be 3 to 4 times that of the vertical resolution when dividing the space. This ensures the accuracy of subsequent horizontal clustering while saving more computing resources during vertical clustering.
[0077] Step 302: Within the same height layer, perform a depth-first search on the first spatial voxel to obtain a highly consistent cloud cluster.
[0078] After completing the spatial voxel partitioning, based on the vertical voxel index, a depth-first search (DFS) is performed on the entire space at each vertical index layer. A hash table can be used to store the voxel grid. Here, the DFS query growth process is also very efficient. After the depth-first search, a highly consistent point cloud cluster is obtained.
[0079] Step 303: Select cloud clusters with a shape that conforms to the rod shape from the cloud clusters with consistent height to obtain a local rod-shaped point cloud cluster set.
[0080] Geometric filtering of cloud clusters can include factors such as size and shape, to obtain local rod-shaped point cloud clusters that initially conform to the rod shape.
[0081] Step 304: Find rod-like point cloud clusters in the first spatial voxel that meet the preset conditions of the point cloud clusters of the local rod point cloud clusters; the preset conditions are that the distance between the geometric centers of the point clouds is less than the first preset distance and the shape similarity of the point clouds is greater than the preset similarity.
[0082] After obtaining the local rod-shaped point cloud clusters, the first spatial voxel may also have some rod-like point cloud clusters that are similar to rod-shaped objects. The rod-like point cloud clusters are identified by using the fact that the distance between the geometric centers of the point clouds is less than a first preset distance and the shape similarity of the point clouds is greater than a preset similarity.
[0083] Step 305: Merge the local pole point cloud clusters and the pole-like object point cloud clusters to obtain candidate pole point cloud data.
[0084] After finding local pole point cloud clusters and pole-like object point cloud clusters through the above two steps, these two types of point cloud clusters are merged to obtain candidate pole-like object point cloud data.
[0085] Step 306: Extract target point cloud clusters with heights above the preset height from the candidate rod-shaped object point cloud data.
[0086] When more clearly classifying rod-shaped objects is required, a large number of misidentified tree trunks need to be removed. Without the application of neural networks, most existing solutions struggle to distinguish tree trunk point clouds. To achieve a high-quality feature classification map, further processing is necessary. Generally, for most non-tree trunk rod-shaped objects, the point cloud above the rod portion has at most one-way extension, such as protruding streetlights or signs, whose abstract geometric shape is flat. Extension in multiple directions is rare. For tree trunks, the point cloud above them consists of branching branches and foliage. Therefore, by performing principal component analysis on the point cloud clusters above a preset height of the candidate rod-shaped object point cloud data, it can be determined whether the candidate rod-shaped object point cloud data is a tree trunk point cloud.
[0087] Step 307: Analyze the morphology of the target point cloud cluster.
[0088] In one embodiment of this application, analyzing the morphology of a target point cloud cluster includes:
[0089] Obtain the feature values λ1, λ2, and λ3 of the target point cloud cluster along the three coordinate axes of the three-dimensional coordinate system, where λ1 < λ2 < λ3.
[0090] Determine whether λ1 / (λ1+λ2+λ3) is less than the preset threshold δ.
[0091] If yes, then the shape is determined not to be a spherical point cloud.
[0092] If the answer is no, the morphology is determined to be a spherical point cloud.
[0093] By analyzing the morphology of the target point cloud clusters as described above, it can be determined whether the candidate rod-shaped point cloud data is a tree trunk point cloud.
[0094] Step 308: When the point cloud is spherical, remove the candidate rod-shaped point cloud data corresponding to the spherical point cloud from the candidate rod-shaped point cloud data to obtain the final rod-shaped point cloud data.
[0095] When the morphology is spherical point cloud, it indicates that the target point cloud cluster is a tree crown, branching branches, and foliage. Therefore, the candidate rod-shaped object point cloud data corresponding to the target point cloud cluster is the point cloud of trees. Thus, the candidate rod-shaped object point cloud data corresponding to the spherical point cloud can be removed from the candidate rod-shaped object point cloud data to obtain the final rod-shaped object point cloud data.
[0096] Step 309: When the point cloud is not spherical, the candidate rod-shaped object point cloud data is determined as the final rod-shaped object point cloud data.
[0097] When the shape is not a spherical point cloud, it means that the target point cloud cluster is not a tree crown, branching tree, or foliage. Therefore, the candidate rod-shaped object point cloud data corresponding to the target point cloud cluster is not a tree point cloud. Thus, the candidate rod-shaped object point cloud data can be determined as the final rod-shaped object point cloud data.
[0098] The above method can accurately extract rod-shaped object point cloud data from non-ground points, which facilitates subsequent matching of rod-shaped object point clouds.
[0099] Figure 4 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown. Figure 4 As shown, the roadside point cloud data is extracted from ground points and nearby ground points within a preset range on the ground, which is step 203 above, and includes the following steps:
[0100] Step 401: Perform two-dimensional voxelization on the ground points and points near the ground at the first resolution to obtain the first two-dimensional voxel mesh.
[0101] Step 402: Calculate the height difference of the point cloud in the normal vector direction in the first two-dimensional voxel mesh.
[0102] Step 403: Remove the first two-dimensional voxel grid from the first two-dimensional voxel grid where the height difference is less than the first height difference threshold to obtain the second two-dimensional voxel grid.
[0103] The initial resolution can be relatively small, for example, 2-3m. Performing 2D voxelization of the ground points and nearby points at the initial resolution is a preliminary coarse 2D voxelization. Within the 2D voxel mesh, considering the case of a large road surface slope, we first calculate the height difference of the point cloud in the normal vector direction, that is, the height difference of the point cloud in the main direction of the point cloud. This eliminates flat road surfaces with height differences less than a threshold. Experiments show that this will eliminate more than half of the invalid point clouds, greatly improving computational efficiency.
[0104] Step 404: Perform two-dimensional voxelization on the point cloud data in the second two-dimensional voxel grid at a second resolution to obtain a third two-dimensional voxel grid; the second resolution is greater than the first resolution.
[0105] Step 405: Perform height filtering on the point cloud in the third two-dimensional voxel mesh to obtain point cloud data with height differences within a preset range and the lowest height close to the road surface height; the lowest height close to the road surface height means that the height difference between the lowest height and the road surface height is less than the second height difference threshold.
[0106] Step 406: Determine the roadside point cloud data based on the point cloud data where the height difference is within the preset range and the lowest height is close to the road surface height.
[0107] Because the roadside and bushes or railings are close together in some sections, high-resolution (0.15-0.25m) fine two-dimensional voxelization is required to ensure the independence of features within the voxel. After obtaining the small voxels, the point cloud within the voxel is first subjected to height filtering, including ensuring that the height difference is within a certain range and that the minimum height is close to the road surface height. It can also be determined that the difference between the normal vector of the roadside point cloud and the horizontal direction is less than a certain threshold. In this way, the roadside point cloud within the coarse effective two-dimensional small voxels will be extracted.
[0108] Figure 5 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown. Figure 5 As shown, based on point cloud data where the height difference is within a preset range and the lowest height is close to the road surface height, the roadside point cloud data is determined, which is step 406 above, including the following steps:
[0109] Step 501: Calculate the two-dimensional horizontal angle of each third two-dimensional voxel grid.
[0110] The two-dimensional horizontal angle can characterize the tilt of each third two-dimensional voxel grid. By calculating the two-dimensional horizontal angle of each third two-dimensional voxel grid, two-dimensional voxel grids with tilt within a preset range can be found.
[0111] Step 502: Select the target third two-dimensional voxel mesh from the third two-dimensional voxel mesh whose two-dimensional horizontal angle is within the preset range.
[0112] Step 503: From the point cloud data with height differences within a preset range and the lowest height close to the road surface height, filter out the point cloud data located in the target third two-dimensional voxel grid to obtain the roadside point cloud data.
[0113] To achieve more refined extraction, the characteristics of the radar scan, namely the distribution characteristics of the roadside, are taken into account. The radar scan only detects the boundaries of the feasible space. For two-way lanes, due to obstruction by trees and bushes and the considerable distance, very few point cloud points are detected along the roadside of oncoming vehicles. Furthermore, the roadside typically appears only once at the road boundary. In addition, there are interfering point cloud elements outside the feasible area defined by the roadside. Based on these reasons, further filtering is necessary. Here, the idea of ray tracing is used. First, the two-dimensional horizontal angle of each effective small voxel is calculated. Second, within a certain angle range (0.5°–1°), only the small voxels closest to the sensor are retained. After these steps, the denser point cloud of roadside points that is closer to the sensor will be effectively identified and extracted.
[0114] Figure 6 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown. Figure 6 As shown, extracting road surface point cloud data from candidate ground points, i.e., step 204 above, includes the following steps:
[0115] Step 601: Perform normal vector filtering on the candidate ground points to filter out noise points near the ground and obtain the remaining candidate ground points.
[0116] Since the lidar is assumed to be nearly perpendicular to the ground, the normal vectors of each candidate ground point cloud in the local coordinate system of the lidar are calculated. Points with excessive deviations from the Z-axis are removed, thus eliminating points on walls and other objects, and obtaining the remaining candidate ground points.
[0117] Step 602: Perform two-dimensional voxelization on the remaining candidate ground points to obtain the fourth two-dimensional voxel mesh.
[0118] Step 603: Filter out the fifth two-dimensional voxel grid from the fourth two-dimensional voxel grid that meets the preset point cloud feature conditions to obtain the sixth two-dimensional voxel grid; the point cloud features that meet the preset point cloud feature conditions include: the point cloud height difference is greater than the third height difference threshold, the proportion of high point point cloud data exceeds the preset ratio, and the distance from the lidar is greater than the second preset distance. The high point point cloud data are point clouds with a point cloud height difference greater than the third height difference threshold.
[0119] Step 604: Determine the point cloud data within the sixth two-dimensional voxel grid as road surface point cloud data.
[0120] Because autonomous vehicles encounter challenges scanning roadside points in congested urban areas, providing insufficient height information, it's essential to incorporate road surface features to ensure robust localization. To maintain consistency with the high-precision road surface extracted from the feature map, further processing is applied beyond the height-direction pass-through filtering. First, normal vector filtering removes noise near the ground. Then, the remaining points are processed into two-dimensional voxels, using a lower resolution (around 1m). When the height difference within a voxel exceeds a threshold and the number of high-point points exceeds a certain proportion, the voxel is considered to be at the road surface boundary. This, along with voxel points whose distance from the lidar exceeds a second preset distance (i.e., far from the lidar sensor's directional index), is discarded, ultimately yielding a road surface point cloud that meets the criteria.
[0121] Figure 7 A flowchart illustrating a vehicle positioning method according to another embodiment of this application is shown. Figure 7 As shown, based on the matched point cloud data, the residuals of the curb, poles, and road surface are determined, which is step 106 above, including the following steps:
[0122] Step 701: For the point cloud data of the rod-shaped object, calculate the distance from the point in the point cloud data of the rod-shaped object to the line of the matching rod-shaped object on the road element point cloud map, and obtain the point-line residual corresponding to the rod-shaped object.
[0123] Compared to the distance between points, the distance between points and lines is more stable. Therefore, this application calculates the distance from a point in the point cloud data of a rod to the line on the road element point cloud map where the matching rod is located, in order to obtain the point-line residual corresponding to the rod.
[0124] Step 702: For the road surface point cloud data, calculate the distance from the points in the road surface point cloud data to the matching road surface on the surface of the road element point cloud map, and obtain the point-surface residual corresponding to the road surface.
[0125] Since the road surface is a surface, calculating the distance between points and surfaces can more accurately determine the residuals between points in the road surface point cloud data and the matching point cloud data in the road element point cloud map.
[0126] Step 703: For the curb point cloud data, calculate the distance from the points in the curb point cloud data to the matching curb on the surface of the road element point cloud map, and obtain the point-surface residual corresponding to the curb.
[0127] The curb is also a surface, so calculating the distance between points and surfaces can more accurately determine the residual between the points in the curb point cloud data and the matching point cloud data in the road element point cloud map.
[0128] The above method can accurately calculate the difference between the current point cloud data of the curb, road surface, and pole and the point cloud data with accurate positions in the road element point cloud map, which facilitates subsequent optimization of the first position.
[0129] Figure 8 A flowchart illustrating a vehicle positioning method provided in another embodiment of this application is shown.
[0130] In autonomous driving fusion localization schemes, LiDAR localization results are generally used as corrective observations in the fusion localization process, whether using common EKF (Extended Kalman Filter) or graph optimization schemes. Therefore, an information matrix is needed to represent the noise level of the localization results. Thus, as... Figure 8 As shown, after obtaining the vehicle's location, the vehicle positioning method may further include the following steps:
[0131] Step 801: Obtain the number of points in the curb point cloud data, road surface point cloud data, and pole point cloud data, as well as the number of poles in the pole point cloud data. Obtain the proportion of each point in the total number, and the matching result score of each of the curb point cloud data, road surface point cloud data, and pole point cloud data. The total number is the sum of the number of points in the curb point cloud data, road surface point cloud data, and pole point cloud data.
[0132] Step 802: Determine the localization reliability of each of the roadside point cloud data, road surface point cloud data, and pole point cloud data based on the number of points, the number and proportion of poles, their respective thresholds, and the matching result scores.
[0133] It can obtain the positioning reliability of each of the curb point cloud data, road surface point cloud data, and pole point cloud data. Each positioning reliability can be a score, and a total of three scores are obtained.
[0134] Step 803: Determine the positioning confidence matrix based on the positioning confidence level. The positioning confidence matrix is used for vehicle fusion positioning.
[0135] The scores corresponding to the three positioning confidence levels form a positioning confidence matrix. The positioning confidence matrix can be used together with positioning from GPS, millimeter-wave radar, satellite, etc., for multi-type data fusion positioning.
[0136] Figure 9 A schematic diagram of the process for forming a location confidence matrix provided in this application is shown.
[0137] First, obtain the number of poles, pole points, road surface points, and roadside points. Simultaneously, obtain the proportion of pole points, road surface points, and roadside points, as well as the pole scores, road surface scores, and roadside scores obtained from previous map matching. The road surface scores and roadside scores can then be weighted and averaged to obtain a joint ground feature score.
[0138] Regarding the score: The score data is compared with a set threshold. For example, the set threshold can be 1. When the number of strokes is less than or equal to 1, the score is set as the minimum score threshold. When the number of strokes is 2-3 and the number of strokes or the percentage of strokes is too small, the score is set as the minimum score threshold, and the score obtained by matching is overwritten.
[0139] Regarding the joint score of ground features: the number of road surface points and the number of roadside points are compared with the set thresholds respectively. If both are less than the set thresholds, the proportion of road surface points and the proportion of roadside points are compared with the set thresholds respectively. If both are less than the set thresholds, then the joint score of ground features is determined as the set minimum score threshold, and the joint score of ground features previously obtained through matching is covered.
[0140] Input the pole score and the joint score of ground features into the following formula to obtain σ. x ,σ y ,σ yaw and σ z ,σ pitch ,σ roll , where σ x ,σ y ,σ yaw These represent the noise values in the x, y, and yaw dimensions, respectively, and σ z ,σ pitc h,σ roll These are the noise values for the z, pitch, and roll dimensions, respectively.
[0141]
[0142] Where σ is the calculated noise, σ low To set the minimum noise, σ high To set the maximum noise level, `score` is the calculated score. thr To set the score threshold, 'a' is a scaling factor.
[0143] Based on the σ obtained above x ,σ y ,σ yaw and σ z ,σ pitch ,σ roll Determine the information matrix, which is also the location credibility matrix.
[0144] The location credibility matrix is as follows:
[0145]
[0146] Figure 10 This application provides a schematic diagram of the structure of a vehicle positioning device according to one embodiment. Figure 10 As shown, the vehicle positioning device includes:
[0147] The first acquisition module 110 is used to acquire the first position of the vehicle and the point cloud data collected by the lidar installed on the vehicle.
[0148] Extraction module 120 is used to extract curb point cloud data, road surface point cloud data and pole point cloud data from point cloud data.
[0149] Alignment module 130 is used to align curb point cloud data, road surface point cloud data, and pole point cloud data according to timestamps.
[0150] The downsampling module 140 is used to downsample the aligned curb point cloud data, road surface point cloud data, and pole point cloud data respectively to obtain downsampled curb point cloud data, road surface point cloud data, and pole point cloud data.
[0151] The lookup module 150 is used to find point cloud data that matches the downsampled roadside point cloud data, road surface point cloud data, and pole point cloud data from the road element point cloud map.
[0152] The first determining module 160 is used to determine the residuals of the curb, poles, and road surface based on the mutually matched point cloud data.
[0153] The optimization module 170 is used to optimize the first position based on the residual to obtain the optimization result.
[0154] The positioning module 180 is used to determine the vehicle's location based on the optimization results.
[0155] In some embodiments of this application, the extraction module 120 includes:
[0156] The pass-through filtering unit is used to perform height-direction pass-through filtering on point cloud data to obtain non-ground points, candidate ground points, ground points, and ground-near points within a preset range.
[0157] The first extraction unit is used to extract rod-shaped point cloud data from non-ground points.
[0158] The second extraction unit is used to extract roadside point cloud data from ground points and nearby ground points within a preset range on the ground.
[0159] The third extraction unit is used to extract road surface point cloud data from candidate ground points.
[0160] In some embodiments of this application, the first extraction unit includes:
[0161] The first voxelization subunit is used to perform non-uniform voxelization on non-ground points according to the morphological characteristics of the rod-shaped object, so as to obtain the first spatial voxel that adapts to the morphological characteristics of the rod-shaped object.
[0162] The search subunit is used to perform a depth-first search on the first spatial voxel within the same height layer to obtain a highly consistent cloud cluster.
[0163] The first screening subunit is used to select cloud clusters with rod-shaped forms from the set of cloud clusters with consistent height, thus obtaining a local set of rod-shaped point cloud clusters.
[0164] The search sub-unit is used to search for rod-like point cloud clusters in the first spatial voxel that meet preset conditions with the point clouds of the local rod point cloud clusters; the preset conditions are that the distance between the positions of the geometric centers of the point clouds is less than a first preset distance and the shape similarity of the point clouds is greater than a preset similarity.
[0165] The merging sub-unit is used to merge local pole point cloud clusters and pole-like point cloud clusters to obtain candidate pole point cloud data.
[0166] The extraction sub-unit is used to extract target point cloud clusters with a height above a preset height from the candidate rod-shaped object point cloud data.
[0167] The analysis sub-unit is used to analyze the morphology of the target point cloud cluster.
[0168] The first filtering subunit is used to remove the candidate rod-shaped object point cloud data corresponding to the spherical point cloud from the candidate rod-shaped object point cloud data when the morphology is spherical point cloud, so as to obtain the final rod-shaped object point cloud data.
[0169] The first determining subunit is used to determine the candidate rod-shaped object point cloud data as the final rod-shaped object point cloud data when the shape is not a spherical point cloud.
[0170] The analysis sub-unit is specifically used to obtain the feature values λ1, λ2, and λ3 of the target point cloud cluster in the three coordinate axes of the three-dimensional coordinate system, where λ1 < λ2 < λ3.
[0171] Determine whether λ1 / (λ1+λ2+λ3) is less than the preset threshold δ.
[0172] If yes, then the shape is determined not to be a spherical point cloud.
[0173] If the answer is no, the morphology is determined to be a spherical point cloud.
[0174] In some embodiments of this application, the second extraction unit includes:
[0175] The second voxelization sub-unit is used to perform two-dimensional voxelization of ground points and points near the ground at a first resolution to obtain a first two-dimensional voxel mesh.
[0176] The calculation sub-cell calculates the height difference of the point cloud in the first two-dimensional voxel mesh along the normal vector direction.
[0177] The filtering sub-unit is used to remove the first two-dimensional voxel grid from the first two-dimensional voxel grid where the height difference is less than the first height difference threshold, so as to obtain the second two-dimensional voxel grid.
[0178] The third voxelization subunit is used to perform two-dimensional voxelization of the point cloud data in the second two-dimensional voxel grid at a second resolution to obtain a third two-dimensional voxel grid; the second resolution is greater than the first resolution.
[0179] The filtering subunit is used to perform height filtering on the point cloud in the third two-dimensional voxel grid to obtain point cloud data with height differences within a preset range and the lowest height close to the road surface height; the lowest height close to the road surface height means that the height difference between the lowest height and the road surface height is less than the second height difference threshold.
[0180] The second determining subunit is used to determine the roadside point cloud data based on point cloud data where the height difference is within a preset range and the lowest height is close to the road surface height.
[0181] The second defined sub-unit is specifically used to calculate the two-dimensional horizontal angle of each third two-dimensional voxel grid.
[0182] Select target third-dimensional voxel grids from the third-dimensional voxel grids whose two-dimensional horizontal angles are within a preset range.
[0183] From point cloud data with height differences within a preset range and with the lowest height close to the road surface height, point cloud data located in the target third two-dimensional voxel grid are selected to obtain roadside point cloud data.
[0184] In some embodiments of this application, the third extraction unit includes:
[0185] The third filtering subunit is used to perform normal vector filtering on the candidate ground points to filter out noise points near the ground and obtain the remaining candidate ground points.
[0186] The fourth voxelization sub-unit is used to perform two-dimensional voxelization on the remaining candidate ground points to obtain the fourth two-dimensional voxel mesh.
[0187] The second filtering subunit is used to filter out the fifth two-dimensional voxel grid from the fourth two-dimensional voxel grid that meets the preset point cloud feature conditions, and obtain the sixth two-dimensional voxel grid. The preset point cloud feature conditions include: the point cloud height difference is greater than the third height difference threshold, the proportion of high point cloud data exceeds the preset ratio, and the distance from the lidar is greater than the second preset distance. The high point cloud data is the point cloud with a point cloud height difference greater than the third height difference threshold.
[0188] The third determining sub-unit is used to determine the point cloud data within the sixth two-dimensional voxel grid as road surface point cloud data.
[0189] In some embodiments of this application, the first determining module 160 includes:
[0190] The first residual calculation unit is used to calculate the distance from the points in the rod-shaped object point cloud data to the lines of the matching rod-shaped objects on the road element point cloud map, and obtain the point-line residuals corresponding to the rod-shaped objects.
[0191] The second residual calculation unit is used to calculate the distance from points in the road surface point cloud data to the matching road surface on the surface of the road element point cloud map, and obtain the point-surface residual corresponding to the road surface.
[0192] The third residual calculation unit is used to calculate the distance from the points in the road edge point cloud data to the matching road edge on the surface of the road element point cloud map, and obtain the point-surface residual corresponding to the road edge.
[0193] In some embodiments of this application, after obtaining the vehicle's location, the vehicle positioning method further includes:
[0194] The second acquisition module is used to acquire the number of points in the curb point cloud data, road surface point cloud data, and pole point cloud data, as well as the number of poles in the pole point cloud data, the proportion of each point to the total number, and the matching result score of each of the curb point cloud data, road surface point cloud data, and pole point cloud data; the total number is the sum of the number of points in the curb point cloud data, road surface point cloud data, and pole point cloud data.
[0195] The second determination module is used to determine the positioning reliability of each of the roadside point cloud data, road surface point cloud data, and pole point cloud data based on the number of points, the number and proportion of poles, their respective thresholds, and the matching result scores.
[0196] The third determination module is used to determine the positioning confidence matrix based on the positioning confidence level. The positioning confidence matrix is used for vehicle fusion positioning.
[0197] Figure 11A schematic diagram of the structure of a vehicle positioning device provided in one embodiment of this application is shown.
[0198] The vehicle positioning device may include a processor 111 and a memory 112 storing computer program instructions.
[0199] Specifically, the processor 111 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0200] Memory 112 may include mass storage for data or instructions. For example, and not limitingly, memory 112 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 112 may include removable or non-removable (or fixed) media. Where appropriate, memory 112 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 112 is non-volatile solid-state memory.
[0201] In a particular embodiment, memory 112 includes read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.
[0202] The memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the vehicle positioning method described with reference to one aspect of this disclosure.
[0203] The processor 111 implements any of the vehicle positioning methods described in the above embodiments by reading and executing computer program instructions stored in the memory 112.
[0204] In one example, the vehicle positioning device may also include a communication interface 113 and a bus 114. For example, Figure 11 As shown, the processor 111, memory 112, and communication interface 113 are connected through bus 114 and complete communication with each other.
[0205] Communication interface 113 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0206] Bus 114 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 114 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.
[0207] The vehicle positioning device can execute the vehicle positioning method in this application embodiment based on the acquired lidar data, thereby achieving a combination of... Figures 1 to 10 The method and apparatus for vehicle positioning are described.
[0208] Furthermore, in conjunction with the vehicle positioning methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the vehicle positioning methods in the above embodiments.
[0209] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0210] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0211] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0212] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0213] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A vehicle positioning method, characterized in that, include: Obtain the vehicle's initial location and the point cloud data collected by the lidar installed on the vehicle; Extract curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data from the point cloud data; Align the curb point cloud data, road surface point cloud data, and pole point cloud data according to the timestamp; The aligned curb point cloud data, road surface point cloud data, and pole point cloud data are downsampled to obtain downsampled curb point cloud data, road surface point cloud data, and pole point cloud data. Find point cloud data that match the downsampled roadside point cloud data, road surface point cloud data, and pole point cloud data from the road element point cloud map; Based on the matched point cloud data, the residuals of the curb, poles, and road surface are determined; The first position is optimized based on the residual to obtain the optimization result; Based on the optimization results, the vehicle's location is determined; The extraction of curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data from the point cloud data includes: The point cloud data is subjected to a height-direction pass-through filter to obtain non-ground points, candidate ground points, ground points, and ground-near points located within a preset ground range; Extract rod-shaped point cloud data from the non-ground points; Extract roadside point cloud data from the ground points and nearby ground points within a preset range on the ground; Extract road surface point cloud data from the candidate ground points; The step of extracting rod-shaped point cloud data from the non-ground points includes: Based on the morphological characteristics of the rod-shaped object, the non-ground points are non-uniformly voxelized to obtain a first spatial voxel that adapts to the morphological characteristics of the rod-shaped object. Within the same height layer, a depth-first search is performed on the first spatial voxel to obtain a highly consistent cloud cluster set; From the set of cloud clusters with consistent height, cloud clusters with shapes that conform to the rod shape are selected to obtain a local rod-shaped point cloud cluster set; From the first spatial voxel, find rod-like point cloud clusters that meet preset conditions with the local rod-like point cloud clusters; the preset conditions are that the distance between the geometric centers of the point clouds is less than a first preset distance and the shape similarity of the point clouds is greater than a preset similarity. The local rod-shaped point cloud clusters and rod-like object point cloud clusters are merged to obtain candidate rod-shaped object point cloud data; Extract target point cloud clusters with heights above a preset height from the candidate rod-shaped object point cloud data; Analyze the morphology of the target point cloud cluster; When the shape is a spherical point cloud, the candidate rod-shaped point cloud data corresponding to the spherical point cloud is removed from the candidate rod-shaped point cloud data to obtain the final rod-shaped point cloud data; When the shape is not a spherical point cloud, the candidate rod-shaped object point cloud data is determined as the final rod-shaped object point cloud data.
2. The vehicle positioning method according to claim 1, characterized in that, The analysis of the morphology of the target point cloud cluster includes: Obtain the feature values of the target point cloud cluster along the three coordinate axes of the 3D coordinate system. ,in, ; Judgment If the condition is true, then the shape is determined not to be a spherical point cloud; If no, the morphology is determined to be a spherical point cloud.
3. The vehicle positioning method according to claim 1, characterized in that, The step of extracting roadside point cloud data from the ground points and nearby ground points within a preset range includes: The ground points and nearby points are voxelized to a first resolution to obtain a first two-dimensional voxel mesh. Calculate the height difference of the point cloud in the first two-dimensional voxel mesh along the normal vector direction; Remove the first two-dimensional voxel grid from the first two-dimensional voxel grid where the height difference is less than the first height difference threshold to obtain the second two-dimensional voxel grid; The point cloud data in the second two-dimensional voxel grid is voxelized to a second resolution to obtain a third two-dimensional voxel grid; the second resolution is greater than the first resolution; The point cloud in the third two-dimensional voxel grid is height filtered to obtain point cloud data with height differences within a preset range and the lowest height close to the road surface height; the lowest height close to the road surface height means that the height difference between the lowest height and the road surface height is less than a second height difference threshold. The roadside point cloud data is determined based on the point cloud data where the height difference is within a preset range and the lowest height is close to the road surface height.
4. The vehicle positioning method according to claim 3, characterized in that, Based on point cloud data where the height difference is within a preset range and the lowest height is close to the road surface height, the roadside point cloud data is determined, including: Calculate the two-dimensional horizontal angle for each of the third two-dimensional voxel grids; Select target third two-dimensional voxel grids whose two-dimensional horizontal angles are within a preset range from the third two-dimensional voxel grid; From the point cloud data where the height difference is within a preset range and the lowest height is close to the road surface height, the point cloud data located in the target third two-dimensional voxel grid are filtered out to obtain the roadside point cloud data.
5. The vehicle positioning method according to claim 1, characterized in that, The step of extracting road surface point cloud data from the candidate ground points includes: The candidate ground points are subjected to normal vector filtering to remove noise points near the ground, resulting in the remaining candidate ground points; The remaining candidate ground points are subjected to two-dimensional voxelization to obtain a fourth two-dimensional voxel mesh; The fifth two-dimensional voxel grid that meets the preset point cloud feature conditions is filtered out from the fourth two-dimensional voxel grid to obtain the sixth two-dimensional voxel grid; the preset point cloud feature conditions include: the point cloud height difference is greater than the third height difference threshold, the proportion of high point point cloud data exceeds the preset proportion, and the distance from the lidar is greater than the second preset distance, wherein the high point point cloud data is the point cloud with a point cloud height difference greater than the third height difference threshold. The point cloud data within the sixth two-dimensional voxel grid is identified as road surface point cloud data.
6. The vehicle positioning method according to claim 1, characterized in that, The step of determining the residuals of curbs, poles, and road surfaces based on mutually matched point cloud data includes: For the point cloud data of rod-shaped objects, calculate the distance from the points in the point cloud data of rod-shaped objects to the lines on the road element point cloud map that match each other, and obtain the point-line residuals corresponding to the rod-shaped objects; For road surface point cloud data, calculate the distance from each point in the road surface point cloud data to the surface of the road element point cloud map where the matching road surface is located, and obtain the point-surface residual corresponding to the road surface. For the curb point cloud data, calculate the distance from the points in the curb point cloud data to the matching curb on the surface of the road element point cloud map, and obtain the point-surface residual corresponding to the curb.
7. The vehicle positioning method according to any one of claims 1-5, characterized in that, After obtaining the vehicle's location, the method further includes: The number of points in the curb point cloud data, road surface point cloud data, and pole point cloud data, as well as the number of poles in the pole point cloud data, are obtained respectively. The proportion of each point in the total number and the matching result score of each of the curb point cloud data, road surface point cloud data, and pole point cloud data are also obtained respectively. The total number is the sum of the number of points in the curb point cloud data, road surface point cloud data, and pole point cloud data. Based on the number of points, the number of rods, the proportion, their respective thresholds, and the matching result scores, the positioning reliability of the roadside point cloud data, road surface point cloud data, and rod point cloud data is determined. Based on the positioning confidence level, a positioning confidence matrix is determined, which is used for vehicle fusion positioning.
8. A vehicle positioning device, characterized in that, include: The first acquisition module is used to acquire the vehicle's first position and the point cloud data collected by the lidar installed on the vehicle; The extraction module is used to extract curb point cloud data, road surface point cloud data, and pole-shaped object point cloud data from the point cloud data; The alignment module is used to align the curb point cloud data, road surface point cloud data, and pole point cloud data according to the timestamp. The downsampling module is used to downsample the aligned curb point cloud data, road surface point cloud data, and pole point cloud data respectively to obtain downsampled curb point cloud data, road surface point cloud data, and pole point cloud data. The search module is used to search for point cloud data that matches the downsampled roadside point cloud data, road surface point cloud data, and pole point cloud data from the road element point cloud map, respectively. The first determination module is used to determine the residuals of the curb, poles, and road surface based on the mutually matched point cloud data; The optimization module is used to optimize the first position based on the residual to obtain the optimization result; The positioning module is used to determine the vehicle's location based on the optimization results; The extraction module includes: A pass-through filtering unit is used to perform height-direction pass-through filtering on the point cloud data to obtain non-ground points, candidate ground points, ground points, and ground-near points located within a preset range on the ground. The first extraction unit is used to extract rod-shaped point cloud data from the non-ground points; The second extraction unit is used to extract roadside point cloud data from the ground points and nearby ground points within a preset range on the ground. The third extraction unit is used to extract road surface point cloud data from the candidate ground points; The first extraction unit includes: The first voxelization subunit is used to perform non-uniform voxelization on the non-ground points according to the morphological characteristics of the rod-shaped object, so as to obtain a first spatial voxel that adapts to the morphological characteristics of the rod-shaped object. The search subunit is used to perform a depth-first search on the first spatial voxel within the same height layer to obtain a highly consistent cloud cluster set; The first screening subunit is used to screen out cloud clusters with a shape that conforms to the rod shape from the cloud cluster set with the same height, so as to obtain a local rod-shaped point cloud cluster set; The search subunit is used to search for rod-like point cloud clusters in the first spatial voxel that meet preset conditions with the point clouds of the local rod-like point cloud clusters; the preset conditions are that the distance between the positions of the geometric centers of the point clouds is less than a first preset distance and the shape similarity of the point clouds is greater than a preset similarity. The merging subunit is used to merge the local rod-shaped point cloud clusters and rod-like object point cloud clusters to obtain candidate rod-shaped object point cloud data; An extraction subunit is used to extract target point cloud clusters with a height above a preset height from the candidate rod-shaped object point cloud data; The analysis subunit is used to analyze the morphology of the target point cloud cluster; The first filtering subunit is used to remove the candidate rod-shaped object point cloud data corresponding to the spherical point cloud from the candidate rod-shaped object point cloud data when the shape is a spherical point cloud, so as to obtain the final rod-shaped object point cloud data. The first determining subunit is used to determine the candidate rod-shaped object point cloud data as the final rod-shaped object point cloud data when the shape is not a spherical point cloud.