Vehicle positioning method, device, storage medium and positioning system
By fusing laser odometer residuals and vector map matching residuals, the problem of insufficient positioning accuracy and robustness of autonomous driving vehicles is solved, and higher positioning accuracy and robustness are achieved.
Patent Information
- Application Number
- CN202211167811.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-23
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2042-09-23
AI Technical Summary
In the prior art, a single sensor is difficult to meet the positioning accuracy and robustness requirements of autonomous driving vehicles.
By obtaining the point cloud data of the vehicle and the global vector map, the local curvature of each point in the point cloud data is extracted, the feature point cloud is extracted and the laser odometer residual is determined, the local vector region is extracted from the global vector map, the feature point cloud is matched with the vector feature, the vector map matching residual is determined, and the laser odometer residual and vector map matching residual are fused to determine the vehicle's pose data.
It improves the accuracy and robustness of positioning of autonomous driving vehicles, and solves the problem that a single sensor is difficult to meet the requirements of positioning accuracy and robustness.
Smart Images

Figure CN115494533B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of autonomous driving, and more particularly, to a vehicle positioning method, device, storage medium, and positioning system. Background Art
[0002] In recent years, the research on autonomous driving technology has become a hot topic and trend. Autonomous driving technology includes environmental perception, positioning and navigation, path planning, and decision-making control. Vehicle high-precision positioning technology is the premise for vehicle decision-making and control.
[0003] The common positioning technologies for autonomous vehicles are divided into two categories: 1) Positioning based on the Global Navigation Satellite System (GNSS). GNSS positioning has high accuracy, but it is easily affected by shielding in usage environments such as high-rise buildings, tunnels, elevated roads, and underground garages and fails. 2) Positioning based on autonomous sensors. The SLAM (Simultaneous Localization and Mapping) algorithm uses lidar or cameras to achieve real-time positioning of autonomous vehicles, and there is a problem of cumulative drift. And dead reckoning based on the Inertial Measurement Unit (IMU) or wheel speedometer is a low-cost positioning method. Its advantage is that it can provide high-precision vehicle positioning information based on sensor data in a short time. However, the error of the dead reckoning positioning algorithm accumulates over time and is not suitable for long-term independent positioning. Therefore, a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of autonomous vehicles. Summary of the Invention
[0004] The main object of the present application is to provide a vehicle positioning method, device, storage medium, and positioning system to solve the problem that a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of autonomous vehicles.
[0005] To achieve the above object, according to one aspect of the present application, a vehicle positioning method is provided. The method includes: obtaining point cloud data and a global vector map of a vehicle; obtaining the local curvature of each point in the point cloud data, extracting feature point cloud according to the local curvature, and determining a lidar odometry residual according to the feature point cloud; extracting a local vector area from the global vector map, where the identifier of the vehicle is located in the local vector area, matching the feature point cloud with vector features, and determining a vector map matching residual, where the vector features are selected from vector data in the local vector area; and determining the pose data of the vehicle according to the lidar odometry residual and the vector map matching residual.
[0006] Further, determining the laser odometry residual based on the feature point cloud includes: extracting a plurality of target frame point clouds from the feature point cloud; constructing a local map according to the plurality of target frame point clouds; matching the current frame point cloud data of the feature point cloud with the local map to obtain the laser odometry residual.
[0007] Further, obtaining the local curvature of each point in the point cloud data includes: obtaining the neighborhood points within the neighborhood range of each point in the point cloud data, where the neighborhood range includes the left neighborhood and the right neighborhood of each point in the point cloud data; calculating the local curvature of each point in the point cloud data according to the neighborhood points.
[0008] Further, before obtaining the neighborhood points within the neighborhood range of each point in the point cloud data, the method further includes: performing distortion correction on the point cloud data.
[0009] Further, determining the pose data of the vehicle according to the laser odometry residual and the vector map matching residual includes: constructing a cost function with the laser odometry residual and the vector map matching residual as variables:
[0010] f = η{∑||r l (z l , X j )|| 2 + ∑||r m (z m , X j )|| 2}
[0011] where r l (z l , X j ) represents the laser odometry residual, z l represents the first coordinate value of the laser odometry residual, X j represents the second coordinate value of the laser odometry residual, r m (z m , X j ) represents the vector map matching residual, z m represents the first coordinate value of the vector map matching residual, X j represents the second coordinate value of the vector map matching residual, and η represents the weight value of the corresponding residual; substituting the laser odometry residual and the vector map matching residual into the cost function to obtain the minimum value of the cost function, and obtaining the pose data of the vehicle according to the minimum value of the cost function.
[0012] Further, after determining the pose data of the vehicle according to the laser odometry residual and the vector map matching residual, the method further includes: updating the local map according to the pose of the vehicle to obtain an updated local map.
[0013] Further, the feature point cloud includes corner points and plane points, the corner points are points with local curvature greater than the curvature threshold, and the plane points are points with local curvature less than the curvature threshold.
[0014] According to another aspect of the present application, there is provided a vehicle positioning device, the device includes: a first acquisition module for acquiring the point cloud data of the vehicle and the global vector map; a second acquisition module for acquiring the local curvature of each point in the point cloud data, extracting the feature point cloud according to the local curvature, and determining the laser odometry residual according to the feature point cloud; a third acquisition module for extracting a local vector area from the global vector map, matching the feature point cloud with the vector feature, and determining the vector map matching residual, the vector feature being selected from the vector data in the local vector area; a determination module for determining the pose data of the vehicle according to the laser odometry residual and the vector map matching residual.
[0015] According to another aspect of the present application, there is also provided a computer-readable storage medium, the computer-readable storage medium includes a stored program, wherein when the program runs, it controls the device where the computer-readable storage medium is located to execute any one of the above vehicle positioning methods.
[0016] According to another aspect of the present application, there is also provided a positioning system, the system includes: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include instructions for executing any one of the above vehicle positioning methods.
[0017] Applying the technical solution of the present application, first obtain the point cloud data and the global vector map of the vehicle, then obtain the local curvature of each point in the point cloud data, extract the feature point cloud according to the local curvature, and determine the laser odometer residual according to the feature point cloud. Extract the local vector area from the global vector map, where the identifier of the vehicle is located in the local vector area. Match the feature point cloud with the vector feature to determine the vector map matching residual, and the vector feature is selected from the vector data in the local vector area. Determine the pose data of the vehicle according to the laser odometer residual and the vector map matching residual. The present application improves the positioning accuracy and robustness of the autonomous driving vehicle by fusing the laser odometer residual and the vector map matching residual data, and solves the problem that a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of the autonomous driving vehicle. Description of the Drawings
[0018] The specification drawings forming a part of the present application are used to provide a further understanding of the present application. The schematic embodiments and descriptions thereof of the present application are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0019] Figure 1 The flowchart of the vehicle positioning method according to the embodiment of the present application is shown;
[0020] Figure 2 The flowchart of specifically obtaining the local curvature of each point in the above-mentioned point cloud data, extracting the feature point cloud according to the above-mentioned local curvature, and determining the laser odometer residual according to the above-mentioned feature point cloud is shown;
[0021] Figure 3 The flowchart of specifically determining the pose data of the vehicle according to the above-mentioned laser odometer residual and the above-mentioned vector map matching residual is shown;
[0022] Figure 4 The system architecture diagram of the vehicle positioning method according to the embodiment of the present application is shown;
[0023] Figure 5 The flowchart of the specific vehicle positioning method according to the embodiment of the present application is shown;
[0024] Figure 6 The schematic diagram of the vehicle positioning device according to the embodiment of the present application is shown. Detailed Embodiments
[0025] It should be noted that, without conflict, the embodiments in the present application and the features in the embodiments can be combined with each other. The present application will be described in detail below with reference to the drawings and in conjunction with the embodiments.
[0026] To enable those skilled in the art to better understand the solution of this application, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of this application.
[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances for the embodiments of this application described here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.
[0028] It should be understood that when an element (such as a layer, film, region, or substrate) is described as being "on" another element, the element can be directly on the other element, or there can also be an intermediate element. Moreover, in the specification and claims, when an element is described as "connected" to another element, the element can be "directly connected" to the other element, or "connected" to the other element through a third element.
[0029] As introduced in the background art, a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of autonomous driving vehicles. To solve the above problems, in a typical implementation of this application, a vehicle positioning method, device, storage medium, and positioning system are provided.
[0030] According to an embodiment of this application, a vehicle positioning method is provided, and this method can be used for autonomous driving vehicles.
[0031] Figure 1 is a schematic flowchart of the vehicle positioning method according to an embodiment of this application. As Figure 1 shown, this method includes the following steps:
[0032] Step S101, obtain the point cloud data and the global vector map of the vehicle.
[0033] In this embodiment, the point cloud data of the vehicle can be obtained through the lidar, which is the main sensor for perceiving the environment and vehicle state, and the obtained global vector map is a high-precision vector map.
[0034] With the information assistance based on high-precision vector maps, in the face of complex traffic scenarios, it is easier for autonomous vehicles to judge their own positions, drivable areas, driving directions, and the relative positions of the vehicles in front. At the same time, they can obtain over-the-horizon perception capabilities to detect the slopes, curvatures, and cross slopes ahead. High-precision vector maps can provide full-link assistance for the perception, positioning, decision-making, path planning, and control of autonomous driving systems.
[0035] Step S102: Obtain the local curvatures of each point in the above point cloud data, extract the feature point cloud according to the above local curvatures, and determine the laser odometer residuals according to the above feature point cloud.
[0036] Among them, as Figure 2 shown, the specific implementation steps of obtaining the local curvatures of each point in the above point cloud data in step S102 are as follows:
[0037] Step S1021: Obtain the neighborhood points within the neighborhood range of each point in the above point cloud data, and the above neighborhood range includes the left neighborhood and the right neighborhood of each point in the above point cloud data;
[0038] Step S1022: Calculate the local curvatures of each point in the above point cloud data according to the above neighborhood points;
[0039] In an optional embodiment, the beam relationship to which the point cloud belongs can be determined according to the angle information, and the local curvature of each point is calculated using the neighborhood point set S on each scan line, as shown in Formula 1:
[0040]
[0041] Among them, c represents the local curvature of the point, represents the measured value of a certain point in the point cloud data, represents the measured values of the neighborhood points of this point.
[0042] In another specific embodiment, the above feature point cloud includes corner points and plane points. The above corner points are the points where the above local curvature is greater than the curvature threshold, and the above plane points are the points where the above local curvature is less than the above curvature threshold. The above two types of feature points can be extracted through the curvature values and the distribution around the reference point. In this example, the curvature threshold is set to 0.1, and it can also be set to other parameters according to the actual situation.
[0043] Calculate the local curvature within the double neighborhood range and extract the corner point and plane point features that simultaneously meet the threshold accordingly. The double neighborhood feature extraction algorithm reduces the influence of the neighborhood size on the local curvature and improves the accuracy and stability of feature extraction.
[0044] In order to achieve uniform sampling of feature points, in another embodiment, each beam of light can also be evenly divided into several regions, and each region provides several corner points and plane points. When selecting feature points, it is desirable to avoid selecting the following types of points: 1) points that may be occluded; 2) points around points that have already been selected; 3) plane points where the laser line is nearly parallel.
[0045] In order to ensure the accuracy of point cloud matching in subsequent steps, in a specific embodiment, before obtaining the neighborhood points within the neighborhood range of each point in the above-mentioned point cloud data, the above method further includes: performing distortion correction on the above-mentioned point cloud data. Specifically, based on the uniform motion assumption, the motion distortion of the laser point cloud is corrected by linear interpolation. The point cloud after distortion correction is the target point cloud data, and the above-mentioned target point cloud data is used for subsequent local curvature calculation and point cloud matching.
[0046] In step S102, the specific implementation steps for determining the laser odometer residual based on the above-mentioned feature point cloud are as follows:
[0047] Step S1023, extract multiple target frame point clouds from the above-mentioned feature point cloud, and construct a local map based on the above-mentioned multiple target frame point clouds;
[0048] Exemplarily, the local map is used to determine accurate feature correspondence relationships. The target frames of the point cloud are screened according to the change amounts of translation and rotation. A local map is constructed using the target frame point clouds with a fixed number m. At the same time, to ensure the feature scale and matching search efficiency, downsampling operations are performed on the local map point cloud. Historical target frame corresponding corner point feature set and plane point feature set According to the relative poses between different moments, they are uniformly transformed into the lidar coordinate system corresponding to the target frame k, and the construction of the corner point local map and the plane point local map is realized. Where k is the index corresponding to the median value of the m target frames.
[0049] Step S1024, match the current frame point cloud data of the above-mentioned feature point cloud with the above-mentioned local map to obtain the laser odometer residual.
[0050] In an alternative embodiment, the pose transformation of the feature point cloud is performed using the relative constraint relationship between the current frame and the local map. In the local map, the KD tree (k-dimensional tree) algorithm is used to quickly find the straight line corresponding to the corner point feature and the plane corresponding to the plane point feature, so as to construct the laser odometer residual using the distances from points to the straight line and from points to the plane. Specifically, it is judged whether the current frame of the feature point cloud is a target frame. If it is a target frame, the local map is updated based on the vehicle pose optimized at the previous moment.
[0051] Based on the constructed local map and the initial estimate of the vehicle pose, the current frame point cloud data of the feature point cloud is matched with the local map to construct the laser odometry residual. The set of feature point clouds at the current moment and The point clouds in are projected according to the relative pose relationship, that is, the feature point cloud is transformed to the corresponding lidar coordinate system at time k. Based on the feature point clouds in the two types of local maps, the corresponding KD trees are constructed and the feature lines corresponding to the corner points and the feature planes corresponding to the plane points are found, that is, 1) Point-line ICP (Iterative Closest Point): Use the KD tree algorithm to quickly find the two closest points of each corner point, construct a straight line using the closest points and calculate the foot coordinate of the point to the straight line 2) Point-plane ICP: Use the kd tree algorithm to quickly find the three closest points of each plane point, construct a plane using the closest points and calculate the foot coordinate of the point to the plane
[0052] As shown in Equation 2, for the feature points in the laser point cloud at time j, the value projected into the lidar coordinate system at time k is:
[0053]
[0054] where the subscript l represents the three-dimensional lidar coordinate system. represents the three-dimensional coordinates of the laser feature points at time j in the lidar coordinate system. represents the theoretical value of converting the laser feature points at time j to the lidar coordinate system at time k. W represents the world (GPS) coordinate system, b represents the vehicle coordinate system, represents the conversion relationship between the vehicle coordinate system and the world (GPS) coordinate system at time k. T represents the transformation matrix between the two coordinate systems, including the rotation matrix R and the translation vector p, that is, as shown in Equation 3:
[0055]
[0056] The three-dimensional coordinate form is as shown in Equation 4:
[0057]
[0058] The laser odometry residual is constructed by constraining the measurement values of the lidar at the same moment. The laser odometry residual r1 is represented by the distance from the point to the straight line and the point to the plane, as shown in Equation 5:
[0059]
[0060] where r1 represents the corresponding relationship of the feature point cloud determined by the frame and the local map matching, z l represents the first coordinate value of the above laser odometry residual, Xj Represents the second coordinate value of the above-mentioned laser odometry residual. Represents the projection point obtained by transforming the laser measurement points at time j to the lidar coordinate system at time k. Represents the corresponding point of the projection point in the lidar coordinate system at time k.
[0061] Construct the Jacobian matrix J1 by taking the partial derivative of the system state variables with respect to the laser odometry residual, as shown in Equation 6:
[0062]
[0063] It can be derived that Equation 7:
[0064]
[0065] Among them, Represents the translational transformation from the lidar coordinate system at time j to the world coordinate system. Represents the Lie algebra corresponding to the rotation matrix between the lidar coordinate system at time j and the world coordinate system. Represents The skew-symmetric matrix of.
[0066] Step S103: Extract the local vector region from the global vector map. The identifier of the above vehicle is located within the above local vector region. Match the above feature point cloud with the vector features to determine the vector map matching residual. The above vector features are selected from the vector data in the above local vector region.
[0067] Among them, exemplarily, the extraction of the local vector region from the global vector map in step S103 can be achieved by the following steps: Based on the pose of the joint optimization at the previous moment, search for and extract the vector map near the current vehicle position from the global vector map database; Based on the maximum and minimum values of the x, y, and z terms in the current frame corresponding laser point cloud data and set a buffer zone, so as to ensure that the constructed cuboid meets the range requirements. The cuboid that meets the range requirements is the local vector region, and all vectors located within the cuboid belong to the candidate vectors.
[0068] To ensure the effectiveness and efficiency of vector matching, it is necessary to screen the candidate vector data. In one example, the effectiveness of the candidate vectors is determined according to the laser point cloud information corresponding to the current frame, and at the same time, the number of effective vectors and the uniformity of the spatial distribution are counted. The spatial region is evenly divided and the number of vectors in each region is counted. Based on the variance formula, the calculation of the spatial distribution uniformity is realized. In the following cases, the candidate vectors are invalid: 1) The plane range corresponding to the vector is less than the threshold; 2) The line segment length corresponding to the vector is less than the threshold; 3) The plane corresponding to the vector is nearly parallel to the laser scan line; 4) There is no point cloud information at the position corresponding to the vector within a certain range; 5) The attributes corresponding to the vector are significantly different from the surrounding point cloud distribution; 6) The label corresponding to the vector cannot provide effective and stable line or plane features; 7) The label corresponding to the vector is an element with a small contribution to SLAM, such as a lane line and a crosswalk.
[0069] Due to the diversity of vector map formats, in this example, it is also necessary to conduct case-by-case discussions. To extract the line segments and planes for vector matching, corresponding processing is carried out for several typical obstacles: 1) For the feature extraction of columns and street lights, i) Given the center line and radius of the cylinder, it is necessary to calculate the line segment corresponding to the laser scan points according to the vehicle pose, the position of the center line, and the radius. ii) Given the center line and cross-section of the cylinder, for small-sized objects, the cross-section equation can be directly used; 2) For the feature extraction of traffic lights, i) Given the tangent plane of the object, it is necessary to rasterize it and project the laser point cloud corresponding to the plane. Based on the least squares method, the vector plane is fitted using the plane points. ii) Given the cross-section equation, no additional processing is required; 3) For the feature extraction of house walls and corners, i) Given two planes, the straight line equation is calculated using the plane intersection. ii) The representation form is a plane, and the corresponding points of the plane are found in the plane points using the plane k-nearest neighbor algorithm.
[0070] In the actual operation process, there may be other types of obstacles, and targeted analysis needs to be carried out for different types of obstacles, so as to make full use of the information provided by the vector map and ensure the accuracy and robustness of vehicle positioning.
[0071] In an alternative embodiment, the matching of the above feature point cloud and vector features to determine the vector map matching residual can be achieved through the following steps:
[0072] 1) For the matching of columns and street lights, i) The representation form is a straight line equation, and the line segment k-nearest neighbor algorithm is used to find the corresponding points of the straight line among the corner points. During the iterative optimization process, it is necessary to re-find the corresponding straight line. ii) The representation form is a plane equation, and the plane nearest neighbor algorithm is used to find the corresponding points of the plane among the plane points.
[0073] 2) For the matching of traffic lights, the representation form is a plane. The plane k-nearest neighbor algorithm is used to find the corresponding points of the plane among the plane points.
[0074] 3) For the matching of house walls and corners, i) the representation form is a straight-line equation. The line segment k-nearest neighbor algorithm is used to find the corresponding points of the line among the corner points. ii) The representation form is a plane equation. The plane nearest neighbor algorithm is used to find the corresponding points of the plane among the plane points.
[0075] To realize the effective utilization of the vector map and improve the applicable range of the fusion positioning system at the same time, different types of features are selected to match different obstacles in this example. The vector map matching residual r is constructed by using the distances from points to lines and from points to planes. m (z m , X j ), where z m represents the first coordinate value of the above vector map matching residual, and X j represents the second coordinate value of the above vector map matching residual.
[0076] Step S104, determine the pose data of the vehicle according to the above laser odometer residual and the above vector map matching residual.
[0077] As Figure 3 shown, the specific implementation steps of the above step S104 are as follows:
[0078] Step S1041, construct a cost function with the above laser odometer residual and the above vector map matching residual as variables, as shown in Formula 8:
[0079] f = η{∑||r l (z l , X j )|| 2 +∑||r m (z m , X j )|| 2}} (Formula 8)
[0080] where r l (z l , X j ) represents the above laser odometer residual, z l represents the first coordinate value of the above laser odometer residual, X j represents the second coordinate value of the above laser odometer residual, r m (z m , X j ) represents the above vector map matching residual, z m represents the first coordinate value of the above vector map matching residual, X jrepresents the second coordinate value of the above vector map matching residual, and η represents the weight value of the corresponding residual;
[0081] Step S1042: Substitute the above lidar odometry residual and the above vector map matching residual into the above cost function to obtain the minimum value of the above cost function, and obtain the pose data of the above vehicle according to the minimum value of the above cost function.
[0082] Specifically, both of the above two residuals can be represented by the Mahalanobis distance, and the covariance matrix ∑ v is determined by the accuracies of the lidar and the vector map. η represents the weight value of the corresponding residual, and the magnitudes of the two weight values can be set to η l = 0.5. In the actual operation process, the magnitudes of the two weight values can also be set to other parameters. It should be noted that for the weight value η v corresponding to the vector map matching residual, the effective number of vectors and the spatial distribution uniformity need to be fully considered. That is, as shown in Formula 9:
[0083] η v = 0.1α - 0.25β (Formula 9)
[0084] where α represents the effective number of vectors. β represents the variance corresponding to the spatial distribution of the effective vectors. The joint optimization algorithm constructs a fusion positioning system cost function using the lidar odometry residual and the vector map matching residual, and obtains the maximum a posteriori estimation of the system state quantity X j to be optimized by calculating the minimum value of the system cost function. Through the optimization solver, the non-linear joint optimization of the two residuals is carried out to achieve accurate and reliable real-time positioning of the autonomous driving vehicle, thereby strengthening the constraints between data to improve the positioning accuracy and robustness of the autonomous driving vehicle.
[0085] In an optional embodiment, after determining the pose data of the above vehicle according to the above lidar odometry residual and the above vector map matching residual, the above method further includes: updating the above local map according to the pose of the above vehicle to obtain an updated local map, and the updated local map can be used for the calculation of the next vehicle pose.
[0086] Specifically, at time j, the system state quantity to be optimized is defined as shown in Formula 10:
[0087]
[0088] where w represents the world coordinate system, and l represents the lidar coordinate system. X j includes the pose of the lidar in the world coordinate system at the current moment. represents the translation transformation from the lidar coordinate system to the world coordinate system at time j. It represents the Lie algebra corresponding to the rotation matrix between the lidar coordinate system and the world coordinate system at time j. That is, as shown in Equation 11:
[0089] R = exp(φ^) (Equation 11)
[0090] In another embodiment, as Figure 4 shown, the point cloud data of the vehicle and the global vector map are obtained by the lidar. Then, the point cloud data and the global vector map are input into the lidar odometer to match the current frame of the feature point cloud with the local map to obtain the lidar odometer residual, and to match the feature point cloud with the vector feature to obtain the vector map matching residual. Then, the above lidar odometer residual and the above vector map matching residual are jointly optimized to obtain the pose data of the vehicle.
[0091] Specifically, as Figure 5 shown, the method for vehicle positioning is as follows: First, the point cloud data of the vehicle and the global vector map are obtained by the lidar. Then, the lidar odometer corrects the point cloud distortion of the point cloud data, extracts the required feature point cloud from the corrected point cloud data, and then uses the current frame of the feature point cloud to match with the local map to obtain the lidar odometer residual; extract the local vector region from the global vector map, screen out the vector features from the vector data in the above local vector region, then match the above feature point cloud with the vector features to obtain the vector map matching residual, and then jointly optimize the above lidar odometer residual and the above vector map matching residual to obtain the pose data of the vehicle, and update the local map according to the optimized pose. The updated local map is used for the next calculation of the vehicle pose.
[0092] Applying the above method for vehicle positioning, first obtain the point cloud data of the vehicle and the global vector map, then obtain the local curvature of each point in the above point cloud data, extract the feature point cloud according to the above local curvature, and determine the lidar odometer residual according to the above feature point cloud. Extract the local vector region from the global vector map, the identifier of the above vehicle is located in the above local vector region, match the above feature point cloud with the vector features, and determine the vector map matching residual. The above vector features are screened out from the vector data in the above local vector region. Determine the pose data of the above vehicle according to the above lidar odometer residual and the above vector map matching residual. The above method improves the positioning accuracy and robustness of the autonomous driving vehicle by fusing the lidar odometer residual and the vector map matching residual data, and solves the problem that a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of the autonomous driving vehicle.
[0093] The embodiments of the present application further provide a vehicle positioning device. It should be noted that the vehicle positioning device in the embodiments of the present application can be used to execute the vehicle positioning method provided by the embodiments of the present application. The vehicle positioning device provided by the embodiments of the present application is introduced below.
[0094] Figure 6 is a schematic diagram of a vehicle positioning device according to an embodiment of the present application. As Figure 6 shown, the device includes:
[0095] A first acquisition module 01, configured to acquire point cloud data and a global vector map of the vehicle;
[0096] A second acquisition module 02, configured to acquire the local curvature of each point in the above point cloud data, extract feature point clouds according to the above local curvature, and determine the laser odometer residual according to the above feature point clouds;
[0097] A third acquisition module 03, configured to extract a local vector region from the global vector map, match the above feature point clouds with the above vector features, and determine the vector map matching residual, where the above vector features are selected from the vector data in the above local vector region;
[0098] A determination module 04, configured to determine the pose data of the vehicle according to the above laser odometer residual and the above vector map matching residual. By fusing the laser odometer residual and the vector map matching residual data, the accuracy and robustness of the autonomous vehicle positioning are improved.
[0099] In an optional embodiment, the second acquisition module includes a first acquisition unit, a first calculation unit, a construction unit, and a second calculation unit. The above first acquisition unit is configured to acquire the neighborhood points within the neighborhood range of each point in the above point cloud data, and the above neighborhood range includes the left neighborhood and the right neighborhood of each point in the above point cloud data; the above first calculation is configured to calculate the local curvature of each point in the above point cloud data according to the above neighborhood points; the above construction unit is configured to extract a plurality of target frame point clouds from the above feature point clouds and construct a local map according to the above plurality of target frame point clouds; the above second calculation unit is configured to match the current frame point cloud data of the above feature point clouds with the above local map to obtain the laser odometer residual. The double-neighborhood feature extraction algorithm reduces the influence of the neighborhood size on the local curvature and improves the accuracy and stability of feature extraction.
[0100] Specifically, the above second acquisition module further includes a correction unit, and the above correction unit is configured to perform distortion correction on the above point cloud data, which can ensure the accuracy of point cloud matching in subsequent steps.
[0101] In another embodiment, the determination module includes a construction unit and a third calculation unit. The construction unit is configured to construct a cost function with the laser odometry residual and the vector map matching residual as variables. The third calculation unit is configured to substitute the laser odometry residual and the vector map matching residual into the cost function to obtain the minimum value of the cost function, and obtain the pose data of the vehicle according to the minimum value of the cost function. By fusing the laser odometry residual and the vector map matching residual data, the positioning accuracy and robustness of the autonomous driving vehicle are improved.
[0102] Specifically, the device further includes an update module, and the update module is configured to update the local map according to the pose of the vehicle to obtain an updated local map.
[0103] By applying the vehicle positioning device, the point cloud data of the vehicle and the global vector map can be obtained. Then, the local curvature of each point in the point cloud data is obtained, the feature point cloud is extracted according to the local curvature, and the laser odometry residual is determined according to the feature point cloud. The local vector region is extracted from the global vector map, and the identifier of the vehicle is located in the local vector region. The feature point cloud is matched with the vector feature to determine the vector map matching residual. The vector feature is selected from the vector data in the local vector region. The pose data of the vehicle is determined according to the laser odometry residual and the vector map matching residual. The device realizes the data fusion of the lidar and the vector map, and the tightly coupled algorithm ensures the positioning accuracy of the autonomous driving vehicle, solving the problem that a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of the autonomous driving vehicle.
[0104] An embodiment of the present invention provides a computer-readable storage medium, on which a program is stored, and when the program is executed by a processor, the method for vehicle positioning is implemented.
[0105] An embodiment of the present invention provides a positioning system, which includes: one or more memories, and one or more programs, wherein the one or more programs are stored in the memories, and the one or more programs include those for executing any one of the methods for vehicle positioning.
[0106] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program codes.
[0107] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processors of general-purpose computers, special-purpose computers, embedded processors, or other programmable data processing devices to generate a machine, such that the instructions executed by the processors of the computer or other programmable data processing devices produce means for implementing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 or multiple blocks.
[0108] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufacture including instruction means that implement the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 or multiple blocks.
[0109] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 or multiple blocks.
[0110] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and a memory.
[0111] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable media.
[0112] A computer-readable medium includes permanent and non-permanent, removable and non-removable media that can implement information storage by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD), or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage, or other magnetic storage devices, or any other non-transitory medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media, such as modulated data signals and carrier waves.
[0113] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.
[0114] From the above description, it can be seen that the above embodiments of the present application achieve the following technical effects:
[0115] 1), Applying the above vehicle positioning method, first obtain the point cloud data and global vector map of the vehicle, then obtain the local curvature of each point in the above point cloud data, extract the feature point cloud according to the above local curvature, and determine the laser odometer residual according to the above feature point cloud. Extract the local vector area from the global vector map, the identifier of the above vehicle is located in the above local vector area, match the above feature point cloud with the vector feature, determine the vector map matching residual, the above vector feature is selected from the vector data in the above local vector area, and determine the pose data of the above vehicle according to the above laser odometer residual and the above vector map matching residual. The above method improves the positioning accuracy and robustness of autonomous driving vehicles by fusing the laser odometer residual and vector map matching residual data, and solves the problem that a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of autonomous driving vehicles.
[0116] 2) By applying the above vehicle positioning device, the point cloud data and the global vector map of the vehicle can be obtained. Then, the local curvature of each point in the above point cloud data is obtained, the feature point cloud is extracted according to the above local curvature, and the laser odometer residual is determined according to the above feature point cloud. The local vector area is extracted from the global vector map, and the identifier of the above vehicle is located within the above local vector area. The above feature point cloud is matched with the vector feature to determine the vector map matching residual. The above vector feature is selected from the vector data in the above local vector area. The pose data of the above vehicle is determined according to the above laser odometer residual and the above vector map matching residual. The above device realizes the data fusion of lidar and vector map, and the tightly coupled algorithm ensures the positioning accuracy of autonomous driving vehicles, solving the problem that a single sensor in the prior art is difficult to meet the positioning accuracy and robustness requirements of autonomous driving vehicles.
[0117] The foregoing are only preferred embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application.
Claims
1. A vehicle positioning method, characterized in that, Including: Obtain the point cloud data and the global vector map of the vehicle; Obtain the neighborhood points within the neighborhood range of each point in the point cloud data, where the neighborhood range includes the left neighborhood and the right neighborhood of each point in the point cloud data; calculate the local curvature of each point in the point cloud data according to the neighborhood points; extract the feature point cloud according to the local curvature, and extract a plurality of target frame point clouds from the feature point cloud; construct a local map according to the plurality of target frame point clouds; match the current frame point cloud data of the feature point cloud with the local map to obtain the laser odometry residual; Extract a local vector area from the global vector map, where the identifier of the vehicle is located within the local vector area, match the feature point cloud with the vector feature to determine the vector map matching residual, and the vector feature is selected from the vector data in the local vector area; Construct a cost function with the laser odometry residual and the vector map matching residual as variables: f = η{∑||r l (z l , X j )|| 2 + ∑||r m (z m , X j )|| 2} where r l (z l , X j ) represents the laser odometry residual, z l represents the first coordinate value of the laser odometry residual, X j represents the second coordinate value of the laser odometry residual, r m (z m , X j ) represents the vector map matching residual, z m represents the first coordinate value of the vector map matching residual, X j represents the second coordinate value of the vector map matching residual, and η represents the weight value of the corresponding residual; Substitute the laser odometry residual and the vector map matching residual into the cost function to obtain the minimum value of the cost function, and obtain the pose data of the vehicle according to the minimum value of the cost function.
2. The method according to claim 1, characterized in that Before obtaining the neighborhood points within the neighborhood range of each point in the point cloud data, the method further includes: Perform distortion correction on the point cloud data.
3. The method according to claim 1, wherein After determining the pose data of the vehicle according to the laser odometry residual and the vector map matching residual, the method further includes: Update the local map according to the pose of the vehicle to obtain the updated local map.
4. The method according to any one of claims 1 to 3, characterized in that The feature point cloud includes corner points and plane points, the corner points are points with a local curvature greater than the curvature threshold, and the plane points are points with a local curvature less than the curvature threshold.
5. A vehicle positioning device, characterized in that, Including: A first acquisition module for acquiring the point cloud data and the global vector map of the vehicle; A second acquisition module for acquiring the local curvature of each point in the point cloud data, extracting the feature point cloud according to the local curvature, and determining the laser odometry residual according to the feature point cloud; A third acquisition module for extracting a local vector area from the global vector map, matching the feature point cloud with the vector feature to determine the vector map matching residual, and the vector feature is selected from the vector data in the local vector area; A determination module for determining the pose data of the vehicle according to the laser odometry residual and the vector map matching residual; The second acquisition module includes a first acquisition unit, a first calculation unit, a construction unit, and a second calculation unit, The first acquisition unit is used to acquire the neighborhood points within the neighborhood range of each point in the point cloud data, and the neighborhood range includes the left neighborhood and the right neighborhood of each point in the point cloud data; The first calculation unit is used to calculate the local curvature of each point in the point cloud data according to the neighborhood points; The construction unit is used to construct a local map according to a plurality of target frame point clouds; The second calculation unit is used to match the current frame point cloud data of the feature point cloud with the local map to obtain the laser odometry residual; The determination module includes a construction unit and a third calculation unit, The construction unit is configured to construct a cost function with the laser odometry residual and the vector map matching residual as variables: f = η{∑||r l (z l , X j )|| 2 + ∑||r m (z m , X j )|| 2} where r l (z l , X j ) represents the laser odometry residual, z l represents the first coordinate value of the laser odometry residual, X j represents the second coordinate value of the laser odometry residual, r m (z m , X j ) represents the vector map matching residual, z m represents the first coordinate value of the vector map matching residual, X j represents the second coordinate value of the vector map matching residual, and η represents the weight of the corresponding residual; The third calculation unit is configured to substitute the laser odometry residual and the vector map matching residual into the cost function to obtain the minimum value of the cost function, and obtain the pose data of the vehicle according to the minimum value of the cost function.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein when the program runs, it controls the device where the computer-readable storage medium is located to execute the method according to any one of claims 1 to 4.
7. A positioning system, characterized in that, Comprising: One or more memories, and one or more programs, wherein the one or more programs are stored in the memories, and the one or more programs include those for executing the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Real-time positioning method, device and system and storage medium
CN111402339A
Structure sharing multi-sensor fusion positioning system for automatic driving vehicle
CN112083725A