A method and apparatus for correcting vehicle positioning
By combining LiDAR scanning with high-precision maps, and using boundary points and optimization algorithms to correct vehicle positions, the problem of inaccurate positioning caused by GNSS obstruction and lane line ambiguity was solved, achieving higher positioning accuracy and robustness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING JINGWEI HIRAIN TECH CO INC
- Filing Date
- 2025-07-18
- Publication Date
- 2026-07-31
AI Technical Summary
Existing autonomous driving positioning systems are inaccurate when GNSS is obstructed or lane lines are blurred, resulting in poor positioning robustness.
Boundary points are obtained by using LiDAR scanning, and regions of interest are selected by combining high-precision maps. The boundary mathematical model is obtained through optimization algorithm iteration, and delay compensation and comparison correction are performed to correct the vehicle position.
This improves the accuracy and robustness of the positioning system, ensuring the precision of vehicle position correction in complex environments.
Smart Images

Figure CN120890456B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving technology, and specifically to a method and apparatus for correcting vehicle positioning. Background Technology
[0002] In the field of autonomous driving, precise vehicle positioning is crucial. Currently, autonomous driving positioning technology uses one or more combined navigation and positioning schemes, such as inertial device dead reckoning, GNSS global navigation positioning, lane line matching, and laser point cloud registration, to improve the high-precision positioning of vehicles.
[0003] In existing technologies, GNSS global navigation and positioning is susceptible to occlusion conditions and multipath effects, lane line matching depends on the clarity of the lane lines, and laser point cloud registration requires a large amount of computation.
[0004] Because vehicle positioning is inaccurate when GNSS is obstructed or lane lines are blurred, existing positioning systems cannot guarantee positioning accuracy at all times, resulting in poor robustness. Summary of the Invention
[0005] In view of this, embodiments of the present invention provide a vehicle positioning correction method and apparatus to improve the positioning accuracy and robustness of existing positioning systems.
[0006] To achieve the above objectives, the embodiments of the present invention provide the following technical solutions:
[0007] The first aspect of this invention discloses a method for correcting vehicle positioning, the method comprising:
[0008] Get vehicle location;
[0009] Multiple boundary points are obtained by scanning with a lidar; each boundary point represents the distance value of the boundary closest to the vehicle from the lidar at the corresponding resolution view.
[0010] Based on the vehicle location and the boundary in the high-precision map, one or more regions of interest are selected; the region of interest includes: the area obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular area with the vehicle location as the center and a preset radius.
[0011] Each of the boundary points is projected onto a global coordinate system with the vehicle position as the origin, and the boundary point projected onto any of the regions of interest is taken as the target boundary point.
[0012] For each region of interest, a boundary mathematical model is iteratively obtained based on a preset optimization algorithm and each of the target boundary points projected onto the region of interest;
[0013] The predicted vehicle position is obtained, and for each of the boundary mathematical models, delay compensation is performed based on the predicted vehicle position to obtain the target model; the predicted vehicle position is obtained by calculating the vehicle position and dead reckoning.
[0014] The predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map, and the predicted vehicle positions are corrected based on the comparison results.
[0015] Preferably, the step of obtaining multiple boundary points using lidar scanning includes:
[0016] A top-down view of the laser point cloud is obtained by scanning the area around the vehicle using lidar.
[0017] With the location of the lidar as the origin, the top view of the lidar point cloud is divided into N sector regions; the resolution viewing angle corresponding to each sector region is 360 / N°, where N is a positive integer;
[0018] For each of the aforementioned sector regions, the laser freespace point corresponding to the sector region is used as a boundary point to obtain multiple boundary points; the laser freespace point is the distance value of the boundary from which the laser radar is closest in the sector region.
[0019] Preferably, for each region of interest, a boundary mathematical model is iteratively obtained based on a preset optimization algorithm and each of the target boundary points projected onto the region of interest, including:
[0020] For each region of interest, two target boundary points are randomly selected from the target boundary points projected onto the region of interest to construct a straight line data model;
[0021] For each of the remaining target boundary points, calculate the target distance from the target boundary point to the straight line data model. If the target distance is less than a distance threshold, then determine the target boundary point as an interior point.
[0022] The number of interior points corresponding to the linear data model is obtained by statistics;
[0023] When the number of interior points corresponding to the line data model is greater than the number of interior points corresponding to the current optimal line data model, the line data model is recorded as the current optimal line data model.
[0024] Estimate the current iteration number;
[0025] If the current iteration number is less than or equal to the theoretical iteration number, then return to the step of randomly selecting two target boundary points and constructing a straight line data model;
[0026] If the current iteration number is greater than the theoretical iteration number, then the least squares method is used to fit the interior points corresponding to the current optimal linear data model to obtain the boundary mathematical model.
[0027] Preferably, the estimation of the current iteration number includes:
[0028] Calculate the ratio of the number of interior points corresponding to the current optimal straight line data model to the number of target boundary points to obtain the probability t of the interior point in the dataset;
[0029] Based on the probability t of an interior point in the dataset, the probability 1-t is estimated that when two target boundary points are randomly selected, at least one of them does not belong to the interior point corresponding to the current optimal straight line data model. 2 ;
[0030] Based on formula The number of iterations is calculated; k is the number of iterations, P = 1 - (1 - t) 2 ) k .
[0031] Preferably, the step of obtaining the predicted vehicle position and, for each of the boundary mathematical models, performing delay compensation based on the predicted vehicle position to obtain the target model includes:
[0032] Obtain the predicted vehicle position, and for each of the boundary mathematical models, solve for the pose transformation between the vehicle position and the predicted vehicle position.
[0033] The target model is obtained by performing delay compensation on the boundary mathematical model based on the pose transformation amount.
[0034] Preferably, the predicted boundaries represented by each of the target models are compared with the corresponding boundaries in the high-precision map, and the predicted vehicle positions are corrected based on the comparison results, including:
[0035] Establish a target coordinate system with the predicted vehicle position as the origin;
[0036] For each predicted boundary represented by the target model, the predicted boundary is projected onto the target coordinate system and compared with the corresponding boundary in the high-precision map to obtain the correction amount in the x-axis direction and the correction amount in the y-axis direction.
[0037] Based on the correction amount in the x-axis direction and the correction amount in the y-axis direction, the combined correction amount is calculated.
[0038] The combined correction amount obtained based on each target model is vectorized to obtain the total correction amount;
[0039] The predicted vehicle position is corrected based on the total correction amount.
[0040] Preferably, the method further includes:
[0041] The predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map to obtain the angle between each predicted boundary and the corresponding boundary in the high-precision map.
[0042] The heading correction angle is obtained by performing a weighted average calculation based on the angle between each of the predicted boundaries and the corresponding boundaries in the high-precision map.
[0043] The vehicle's heading is corrected based on the heading correction angle to determine the predicted vehicle position.
[0044] A second aspect of this invention discloses a vehicle positioning correction device, the device comprising:
[0045] The acquisition unit is used to acquire the vehicle's location;
[0046] A scanning unit is used to obtain multiple boundary points by scanning with a lidar; each boundary point is used to represent the distance value of the boundary closest to the vehicle from the lidar at the corresponding resolution view.
[0047] The selection unit is used to select one or more regions of interest based on the vehicle position and the boundary in the high-precision map; the region of interest includes: a region obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular region with the vehicle position as the center and a preset radius.
[0048] The projection unit is used to project each of the boundary points onto a global coordinate system with the vehicle position as the origin, and to take the boundary points projected onto any of the regions of interest as target boundary points.
[0049] An iterative unit is used to iteratively obtain a boundary mathematical model for each region of interest based on a preset optimization algorithm and each of the target boundary points projected onto the region of interest.
[0050] The compensation unit is used to obtain the predicted vehicle position and perform delay compensation based on the predicted vehicle position for each boundary mathematical model to obtain the target model; the predicted vehicle position is obtained by calculating the vehicle position and dead reckoning.
[0051] The correction unit is used to compare the predicted boundaries represented by each of the target models with the corresponding boundaries in the high-precision map, and correct the predicted vehicle positions based on the comparison results.
[0052] Preferably, the scanning unit is specifically used for:
[0053] A top-down view of the laser point cloud is obtained by scanning the area around the vehicle using lidar.
[0054] With the location of the lidar as the origin, the top view of the lidar point cloud is divided into N sector regions; the resolution viewing angle corresponding to each sector region is 360 / N°, where N is a positive integer;
[0055] For each of the aforementioned sector regions, the laser freespace point corresponding to the sector region is used as a boundary point to obtain multiple boundary points; the laser freespace point is the distance value of the boundary from which the laser radar is closest in the sector region.
[0056] Preferably, the iterative unit is specifically used for:
[0057] For each region of interest, two target boundary points are randomly selected from the target boundary points projected onto the region of interest to construct a straight line data model;
[0058] For each of the remaining target boundary points, calculate the target distance from the target boundary point to the straight line data model. If the target distance is less than a distance threshold, then determine the target boundary point as an interior point.
[0059] The number of interior points corresponding to the linear data model is obtained by statistics;
[0060] When the number of interior points corresponding to the line data model is greater than the number of interior points corresponding to the current optimal line data model, the line data model is recorded as the current optimal line data model.
[0061] Estimate the current iteration number;
[0062] If the current iteration number is less than or equal to the theoretical iteration number, then return to the step of randomly selecting two target boundary points and constructing a straight line data model;
[0063] If the current iteration number is greater than the theoretical iteration number, then the least squares method is used to fit the interior points corresponding to the current optimal linear data model to obtain the boundary mathematical model.
[0064] Based on the vehicle positioning correction method and apparatus provided in the above embodiments of the present invention, the vehicle position is obtained; multiple boundary points are obtained by scanning with a LiDAR; each boundary point is used to represent the distance value of the boundary closest to the vehicle from the LiDAR at the corresponding resolution viewpoint; based on the vehicle position and the boundary in the high-precision map, one or more regions of interest are selected; the region of interest includes: a region obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular region with the vehicle position as the center and a preset radius; each boundary point is used to represent the distance value of the boundary in the high-precision map at the corresponding resolution viewpoint; based on the vehicle position and the boundary in the high-precision map, one or more regions of interest are selected; the region of interest includes: a region obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular region obtained by taking the vehicle position as the center and having a preset radius; each boundary point is used to represent the boundary in the high-precision map at the corresponding resolution viewpoint ... A boundary point is projected onto a global coordinate system with the vehicle's position as the origin. The boundary point projected onto any region of interest (ROI) is used as a target boundary point. For each ROI, a boundary mathematical model is iteratively obtained based on a preset optimization algorithm and the target boundary points projected onto the ROI. A predicted vehicle position is obtained, and for each boundary mathematical model, delay compensation is performed based on the predicted vehicle position to obtain a target model. The predicted vehicle position is calculated using the vehicle's position and dead reckoning. The predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map, and the predicted vehicle position is corrected based on the comparison results. In this solution, the predicted boundaries are obtained using Freespace point information processed by existing vehicle components, and the vehicle position is corrected by combining this with the boundaries in the high-precision map, thereby improving the positioning accuracy and robustness of the existing positioning system. Attached Figure Description
[0065] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0066] Figure 1 This is a flowchart of a vehicle positioning correction method disclosed in an embodiment of the present invention;
[0067] Figure 2 This is a schematic diagram illustrating the determination of the relationship between a boundary line segment and a region circle according to an embodiment of the present invention;
[0068] Figure 3 This is a schematic diagram illustrating the selection of a region of interest according to an embodiment of the present invention;
[0069] Figure 4 This is a schematic diagram of a delay compensation method disclosed in an embodiment of the present invention;
[0070] Figure 5 This is a schematic diagram illustrating a vehicle position correction method disclosed in an embodiment of the present invention;
[0071] Figure 6 This is a schematic diagram of a course correction disclosed in an embodiment of the present invention;
[0072] Figure 7 This is a structural diagram of a vehicle positioning correction device disclosed in an embodiment of the present invention. Detailed Implementation
[0073] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0074] In this application, the terms "comprising," "including," or any other variations thereof are intended to cover a 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 limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0075] As can be seen from the background technology, in the existing technology, the vehicle positioning is inaccurate under the conditions of GNSS obstruction and blurred lane lines, which makes the existing positioning system unable to guarantee positioning accuracy at all times and the positioning system has poor robustness.
[0076] Therefore, this invention discloses a vehicle positioning correction method and apparatus. In this solution, the predicted boundary is obtained by using the Freespace point information processed by the vehicle's existing devices, and the vehicle position is corrected by combining the boundary in the high-precision map, so as to improve the positioning accuracy and robustness of the existing positioning system.
[0077] like Figure 1 The diagram shows a flowchart of a vehicle positioning correction method disclosed in an embodiment of the present invention, including the following steps:
[0078] Step S101: Obtain vehicle location.
[0079] In step S101, the vehicle position is obtained from other positioning sources, such as GNSS, which may deviate from the actual vehicle position due to obstruction.
[0080] Preferably, the vehicle position is predicted by dead reckoning based on the optimal positioning result of the previous moment, combined with information such as vehicle speed and IMU.
[0081] Step S102: Use lidar to scan and obtain multiple boundary points.
[0082] In step S102, the boundary point is the laser freespace point. Each boundary point is used to represent the distance value of the laser radar closest to the vehicle at the corresponding resolution view.
[0083] In this context, "laser free space" typically refers to the path space of the laser beam emitted by a lidar from its emission to its encounter with an obstacle and its return. This space is considered a region where the laser beam can move freely because there are no obstacles blocking its propagation.
[0084] It should be noted that the laser Freespace is used to find the drivable area of the vehicle. On the top view of the laser point cloud, with the vehicle radar as the origin of the coordinate system, the resolution is selected as needed to construct an area that is evenly divided into N sectors. The distance value of the nearest obstacle (i.e., boundary) to the laser radar is output at a resolution of 360 / N°, for a total of N laser Freespace points (e.g., selecting a 1° resolution).
[0085] In the specific implementation, a laser radar is used to scan the area around the vehicle to obtain a top view of the laser point cloud; the top view of the laser point cloud is divided into N sector regions with the location of the laser radar as the origin; for each sector region, the laser freespace point corresponding to the sector region is used as the boundary point to obtain multiple boundary points.
[0086] Each sector has a resolution viewing angle of 360 / N°, where N is a positive integer. The laser freespace point for each sector is the distance between the laser radar and the nearest boundary within that sector.
[0087] Boundary points can also be visual freespace points. Boundaries include, but are not limited to, guardrails, curbs, stone blocks, eco-bricks, speed bumps, etc.
[0088] In one embodiment, the vehicle is equipped with multiple lidars, which can scan freespace points and merge them into a single lidar freespace point.
[0089] Step S103: Select one or more regions of interest based on the vehicle location and the boundaries in the high-precision map.
[0090] In step S103, the region of interest includes: the region obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary of the high-precision map with the region circle; the region circle includes: a circular region with the vehicle position as the center and a preset radius.
[0091] like Figure 3 The diagram shown is a schematic diagram of a region of interest (ROI) selection according to an embodiment of the present invention. The ROI region is the region of interest. The specific implementation process of step S103 is as follows:
[0092] 1. Select a guardrail;
[0093] The Freespace points, originating from the LiDAR, are converted to a coordinate system with the vehicle's position as the origin. A region circle is drawn with the vehicle's position as the origin and radius r. The boundary in the high-precision map that intersects this region circle and whose cut length exceeds a certain threshold is the selected boundary segment.
[0094] The process of determining whether the boundary in the high-precision map intersects with the region circle and simultaneously calculating the length of the boundary line segment is as follows:
[0095] The distance between the boundary and the center of the region circle in the high-precision map is calculated using the cross product of vectors. If the distance is less than the radius r, the boundary is considered to be intersecting. The positional relationship between the two endpoints of the intersecting boundary and the region circle is determined by geometric relationships, and the length of the intercepted boundary line segment is calculated simultaneously.
[0096] like Figure 2 The diagram illustrates a method for determining the relationship between a boundary line segment and a region circle according to an embodiment of the present invention. Here, center point P represents the vehicle position, r represents the range of the region circle, and AB represents the two ends of the boundary (referring to the start and end points of the boundary, used to represent boundary information, not the intersection points of the boundary line segment and the region circle). The following are three examples of calculating the length of the boundary line segment based on the relationship between the two endpoints and the region circle:
[0097] (1) Two points are inside or on the region circle ①:
[0098]
[0099]
[0100] in, This represents the length of the boundary line segment.
[0101] (2) A point is inside circle ②, and a point is outside circle ②:
[0102]
[0103] First, solve for θ using vectors, then use trigonometric functions to find the length of OA, and finally use the Pythagorean theorem to find the length of OF. AF = OF - OA is the length of the boundary segment (using the distance from P to the two points to determine which is inside the circle). The formula is as follows:
[0104]
[0105]
[0106] (3) Both points are outside region circle ③:
[0107] If the angle between point P and vector AB is acute and obtuse respectively, then the boundary does not intersect the region circle.
[0108]
[0109] If the angle between point P and vector AB is both acute, then the boundary intersects the circle of the region.
[0110]
[0111] The length of OE can be found using the Pythagorean theorem. Twice the length of OE is the length of EF, which is the length of the boundary line segment.
[0112]
[0113] To find the intercept point EF: First find the foot of the perpendicular O, then find the unit vector of the length of O ± OE * AB.
[0114] Solving for the foot of the perpendicular O: A + the length of AO * the unit vector of AB.
[0115]
[0116]
[0117] 2. Select the area of interest;
[0118] The boundary line segment (represented by the intercept point) obtained by intercepting the boundary of the high-precision map is determined by defining a circle around the region. Simultaneously, the lateral and longitudinal errors of the vehicle location source are considered, and the boundary line segment is extended a certain distance perpendicular to it to select the region of interest. For details, please refer to [link to relevant documentation]. Figure 3 Selection of areas of interest.
[0119] Step S104: Project each boundary point onto a global coordinate system with the vehicle position as the origin, and use the boundary point projected onto any region of interest as the target boundary point.
[0120] It should be noted that when a boundary point is projected onto any region of interest, that boundary point becomes the target boundary point belonging to that region of interest.
[0121] Step S105: For each region of interest, based on the preset optimization algorithm and the target boundary points projected onto the region of interest, the boundary mathematical model is obtained iteratively.
[0122] For example, the preset optimization algorithm could be the Ransac (Random Sample Consensus) algorithm.
[0123] Specifically, the Ransac algorithm is used to extract interior points from the target boundary points. The model is estimated by repeatedly selecting datasets (randomly selecting two points from all target boundary points in the region of interest to construct a mathematical model and iterating continuously) until an ideal model that meets the design criteria (the number / proportion of interior points is greater than a certain number) is obtained.
[0124] The specific implementation of step S105 includes the following steps:
[0125] Step S201: For each region of interest, randomly select two target boundary points from the target boundary points projected onto the region of interest to construct a straight line data model.
[0126] Step S202: For each remaining target boundary point, calculate the target distance from the target boundary point to the straight line data model. If the target distance is less than the distance threshold, then the target boundary point is determined to be an interior point.
[0127] In step S202, the interior points are the data whose errors are within a certain range and are suitable for the model.
[0128] Step S203: Count the number of interior points corresponding to the straight line data model.
[0129] Step S204: When the number of interior points corresponding to the straight line data model is greater than the number of interior points corresponding to the current optimal straight line data model, record the straight line data model as the current optimal straight line data model.
[0130] Recording the straight line data model involves recording the model parameters of the straight line data model, as well as the corresponding number of interior points.
[0131] Step S205: Estimate the current iteration number and determine whether the current iteration number is less than or equal to the theoretical iteration number; if yes, proceed to step S201; if no, proceed to step S206.
[0132] The accuracy rate is pre-set, for example, 99%, and the theoretical number of iterations is calculated by substituting it into the formula. If the current number of iterations is greater than the theoretical number of iterations, the iteration stops.
[0133] The specific implementation process for estimating the current iteration number is as follows:
[0134] First, calculate the ratio of the number of interior points to the number of target boundary points corresponding to the current optimal straight-line data model, and obtain the probability t of the interior point in the dataset:
[0135]
[0136] in, The total number of interior points, This represents the total number of target boundary points.
[0137] Then, based on the probability t of an interior point in the dataset, the probability 1-t of randomly selecting two target boundary points that at least one does not belong to the interior point corresponding to the current optimal straight-line data model is estimated. 2 .
[0138] Finally, based on the formula The number of iterations is calculated; k is the number of iterations, and the probability of a correct solution is: P = 1 - (1 - t) 2 ) k .
[0139] Step S206: Use the least squares method to fit each interior point corresponding to the current optimal straight line data model to obtain the boundary mathematical model.
[0140] In step S206, the fitted boundary mathematical model takes the form of: The boundary mathematical model is used to represent the predicted boundary based on the vehicle position.
[0141] Step S106: Obtain the predicted vehicle position, and for each boundary mathematical model, perform delay compensation based on the predicted vehicle position to obtain the target model.
[0142] The predicted vehicle position is the predicted position of the vehicle in step S101 after a time delay. In other words, the vehicle position in step S101 changes after a time delay, and the changed position calculated using the vehicle position in step S101 and dead reckoning is the predicted vehicle position at this location.
[0143] In step S106, there is a certain time delay when the laser Freespace output is sent to the backend positioning system. The positioning system reads the system time. It receives the timestamp t2, which is packaged together with the LiDAR data and transmitted through a certain link. Both t1 and t2 have been clock-synchronized. The time delay t1-t2 is calculated, and the previously fitted boundary mathematical model is compensated for the delay to obtain the target model. The target model represents the prediction boundary based on the predicted vehicle position.
[0144] Specifically, the predicted vehicle position is obtained, and for each boundary mathematical model, the pose transformation between the vehicle position and the predicted vehicle position is solved; based on the pose transformation, the boundary mathematical model is delayed to obtain the target model.
[0145] like Figure 4 The diagram shown is a schematic representation of a delay compensation method disclosed in an embodiment of the present invention. The specific process of solving for the pose transformation and performing delay compensation is as follows:
[0146] 1. Fitting the line L1 at time A: The laser freespace point has been fitted to the line L1 in the xy coordinate system at time A, which is the boundary mathematical model.
[0147] Wherein, time A is the time when the vehicle position is detected by the laser Freespace point based on step S101, and the vehicle position at time A is the vehicle position obtained in step S101.
[0148] 2. Attitude and position changes from time A to time B: Calculate the displacement and attitude angle changes from A to B based on dead reckoning (sources include inertial measurement unit (IMU) data, vehicle speed, etc.). Given the position at time B. (Dead reckoning), then the heading angle at time A .
[0149] Where time B is the time when the predicted vehicle position is obtained.
[0150] 3. Solve for line L2 at time B: Solve for the relative positional relationship L2 of line L1 in the x"y" coordinate system at the current time B (i.e., the target model):
[0151] 1) First, shift the xy coordinate axis to the position of the x'y' coordinate axis:
[0152]
[0153]
[0154] 2) Then rotate the x'y' coordinate axis to the x"y" coordinate axis position:
[0155]
[0156]
[0157]
[0158] 3) Finally, solve for line L2:
[0159]
[0160] Step S107: Compare the predicted boundaries represented by each target model with the corresponding boundaries in the high-precision map, and correct the predicted vehicle positions based on the comparison results.
[0161] It should be noted that the high-definition map is pre-collected using other equipment and created offline. Assuming the scanned freespace points are 100% accurate, the boundaries projected based on the actual vehicle positions will match the boundaries in the high-definition map. Since the actual vehicle positions are unknown, only predicted vehicle positions obtained through dead reckoning are used. However, dead reckoning is subject to biases due to factors such as occlusion. Measurements need to be introduced at each moment for correction; otherwise, pure dead reckoning will accumulate errors. The predicted vehicle positions are then projected onto the predicted boundaries represented by various target models. If the predicted vehicle positions are accurate, the predicted boundaries will coincide with the boundaries in the high-definition map. If they do not coincide, it indicates a deviation between the predicted and actual vehicle positions. This can be understood as the degree of non-coincidence between the predicted and actual vehicle positions representing the deviation between the predicted and actual vehicle positions.
[0162] In the specific implementation of step S107, a target coordinate system is established with the predicted vehicle position as the origin; for the predicted boundary represented by each target model, the predicted boundary and the corresponding boundary in the high-precision map are projected onto the target coordinate system for comparison to obtain the correction amount in the x-axis direction and the correction amount in the y-axis direction; based on the correction amount in the x-axis direction and the correction amount in the y-axis direction, the combined correction amount is calculated; the combined correction amount obtained based on each target model is vector-converted to obtain the total correction amount; the predicted vehicle position is corrected based on the total correction amount.
[0163] To illustrate the above position correction process, please refer to [link / reference]. Figure 5 This is a schematic diagram of a vehicle position correction method disclosed in an embodiment of the present invention.
[0164] Assume A is the actual vehicle location, and the boundary obtained based on the actual vehicle location and the target model projection matches the boundary in the high-precision map. B is the predicted vehicle location.
[0165] Establish a vehicle coordinate system with the vehicle's direction of travel as the x-axis and the perpendicular line to the left of the x-axis as the y-axis. Select a point on the boundary of the high-precision map closest to point B. .
[0166] For example, boundaries Approximately parallel to the vehicle, using the selected boundary points on a high-precision map. coordinate x in the vehicle coordinate system 31 Using x as the baseline 31 Substitution Solving the corresponding target model coordinate y 32 y 32and coordinate y 31 The difference between (the known boundary information in the high-precision map) is the correction amount in the y-axis direction.
[0167] For example, guardrails Approximately perpendicular to the vehicle, using the selected boundary points on a high-precision map. Coordinates y in the vehicle coordinate system 21 Based on, y 21 Substitution Solving the corresponding target model coordinate x 22 x 22 and coordinate x 21 The difference between (the known boundary information in the high-precision map) is the correction amount in the y-axis direction.
[0168] Assumption to The combined correction amounts are respectively (represented in vector form), such as Figure 5 As shown in the lower right corner, the total correction amount is obtained by combining the solutions. (Vector form of the label). Assume the predicted vehicle position is... The corrected vehicle position is .
[0169] In one embodiment, the predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map to obtain the angle between each predicted boundary and the corresponding boundary in the high-precision map; a weighted average is calculated based on the angle between each predicted boundary and the corresponding boundary in the high-precision map to obtain the heading correction angle; and the vehicle heading of the predicted vehicle position is corrected based on the heading correction angle.
[0170] like Figure 6 The diagram shown illustrates a heading correction method according to an embodiment of the present invention. The angles between the three predicted boundaries and the corresponding boundaries in the high-precision map are θ1, θ2, and θ3, respectively. The heading correction angle can be obtained based on θ1, θ2, and θ3 and the weighted average formula. The weighted average formula is as follows:
[0171]
[0172] Where n represents the number of included angles.
[0173] Based on the vehicle positioning correction method disclosed in the above embodiments of the present invention, in this solution, the predicted boundary is obtained by using the Freespace point information processed by the vehicle's existing devices, and the vehicle position is corrected by combining the boundary in the high-precision map, so as to improve the positioning accuracy and robustness of the existing positioning system.
[0174] Corresponding to the vehicle positioning correction method disclosed in the above embodiments of the present invention, such as Figure 7 The diagram shown is a structural diagram of a vehicle positioning correction device disclosed in an embodiment of the present invention. The device includes: an acquisition unit 701, a scanning unit 702, a selection unit 703, a projection unit 704, an iteration unit 705, a compensation unit 706, and a correction unit 707.
[0175] Acquisition unit 701 is used to acquire the vehicle location.
[0176] The scanning unit 702 is used to obtain multiple boundary points by scanning with LiDAR; each boundary point is used to represent the distance value of the nearest boundary to the vehicle from the LiDAR at the corresponding resolution view.
[0177] In one embodiment, the scanning unit 702 is specifically used for:
[0178] A top-down view of the laser point cloud is obtained by scanning the area around the vehicle using lidar.
[0179] With the location of the lidar as the origin, the top view of the lidar point cloud is divided into N sector regions; the resolution viewing angle corresponding to each sector region is 360 / N°, where N is a positive integer;
[0180] For each of the aforementioned sector regions, the laser freespace point corresponding to the sector region is used as a boundary point to obtain multiple boundary points; the laser freespace point is the distance value of the boundary from which the laser radar is closest in the sector region.
[0181] The selection unit 703 is used to select one or more regions of interest based on the vehicle position and the boundary in the high-precision map. The regions of interest include: the region obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular region with the vehicle position as the center and a preset radius.
[0182] Projection unit 704 is used to project each boundary point onto a global coordinate system with the vehicle position as the origin, and to use the boundary point projected onto any region of interest as the target boundary point.
[0183] The iteration unit 705 is used to iteratively obtain the boundary mathematical model for each region of interest based on a preset optimization algorithm and the target boundary points projected onto the region of interest.
[0184] In one embodiment, the iteration unit 705 is specifically used for:
[0185] For each region of interest, two target boundary points are randomly selected from the target boundary points projected onto the region of interest to construct a straight line data model;
[0186] For each remaining target boundary point, calculate the target distance from the target boundary point to the straight line data model. If the target distance is less than the distance threshold, then the target boundary point is determined to be an interior point.
[0187] The number of interior points corresponding to the linear data model was statistically obtained.
[0188] When the number of interior points corresponding to the straight line data model is greater than the number of interior points corresponding to the current optimal straight line data model, the straight line data model is recorded as the current optimal straight line data model.
[0189] Estimate the current iteration number;
[0190] If the current iteration number is less than or equal to the theoretical iteration number, return to the step of randomly selecting two target boundary points and constructing a straight line data model;
[0191] If the current iteration number is greater than the theoretical iteration number, then the least squares method is used to fit the interior points corresponding to the current optimal linear data model to obtain the boundary mathematical model.
[0192] Specifically, the iteration unit 705, used to estimate the current iteration number, is used for:
[0193] Calculate the ratio of the number of interior points to the number of target boundary points corresponding to the current optimal straight line data model, and obtain the probability t of the interior point in the dataset;
[0194] Based on the probability t of an interior point in the dataset, estimate the probability (1-t) that at least one of two randomly selected target boundary points is not an interior point corresponding to the current optimal straight-line data model. 2 ;
[0195] Based on formula The number of iterations is calculated; k is the number of iterations, P = 1 - (1 - t) 2 ) k .
[0196] The compensation unit 706 is used to obtain the predicted vehicle position and perform delay compensation based on the predicted vehicle position for each boundary mathematical model to obtain the target model; the predicted vehicle position is obtained by calculating the vehicle position and dead reckoning.
[0197] In one embodiment, the compensation unit 706 is specifically used for:
[0198] Obtain the predicted vehicle position, and for each boundary mathematical model, solve for the pose transformation between the vehicle position and the predicted vehicle position.
[0199] The target model is obtained by delay compensation of the boundary mathematical model based on the pose transformation amount.
[0200] The correction unit 707 is used to compare the predicted boundaries represented by each target model with the corresponding boundaries in the high-precision map, and correct the predicted vehicle positions based on the comparison results.
[0201] In one embodiment, the correction unit 707 is specifically used for:
[0202] Establish the target coordinate system with the predicted vehicle position as the origin;
[0203] For each target model representing the predicted boundary, the predicted boundary is projected onto the target coordinate system and compared with the corresponding boundary in the high-precision map to obtain the correction amount in the x-axis direction and the correction amount in the y-axis direction.
[0204] The combined correction amount is calculated based on the correction amounts in the x-axis and y-axis directions.
[0205] The combined correction amount obtained based on each target model is converted into a vector to obtain the total correction amount;
[0206] The predicted vehicle position is corrected based on the total correction amount.
[0207] In one embodiment, the correction unit 707 is further configured to:
[0208] The predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map to obtain the angle between each predicted boundary and the corresponding boundary in the high-precision map.
[0209] The heading correction angle is obtained by performing a weighted average calculation based on the angle between each predicted boundary and the corresponding boundary in the high-precision map.
[0210] The vehicle's heading is corrected based on the heading correction angle to determine the predicted vehicle position.
[0211] Based on the vehicle positioning correction device disclosed in the above embodiments of the present invention, in this solution, the predicted boundary is obtained by using the Freespace point information processed by the vehicle's existing devices, and the vehicle position is corrected by combining the boundary in the high-precision map, so as to improve the positioning accuracy and robustness of the existing positioning system.
[0212] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0213] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0214] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method of revising a vehicle position fix, characterized by, The method includes: Get vehicle location; Multiple boundary points are obtained by scanning with a lidar; each boundary point represents the distance value of the boundary closest to the vehicle from the lidar at the corresponding resolution view. Based on the vehicle location and the boundary in the high-precision map, one or more regions of interest are selected; the region of interest includes: the area obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular area with the vehicle location as the center and a preset radius. Each of the boundary points is projected onto a global coordinate system with the vehicle position as the origin, and the boundary point projected onto any of the regions of interest is taken as the target boundary point. For each region of interest, a boundary mathematical model is iteratively obtained based on a preset optimization algorithm and each of the target boundary points projected onto the region of interest; The predicted vehicle position is obtained, and for each of the boundary mathematical models, delay compensation is performed based on the predicted vehicle position to obtain the target model; the predicted vehicle position is obtained by calculating the vehicle position and dead reckoning. The predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map, and the predicted vehicle positions are corrected based on the comparison results.
2. The method according to claim 1, characterized in that, The method of obtaining multiple boundary points using lidar scanning includes: A top-down view of the laser point cloud is obtained by scanning the area around the vehicle using lidar. With the location of the lidar as the origin, the top view of the lidar point cloud is divided into N sector regions; the resolution viewing angle corresponding to each sector region is 360 / N°, where N is a positive integer; For each of the aforementioned sector regions, the laser freespace point corresponding to the sector region is used as a boundary point to obtain multiple boundary points; the laser freespace point is the distance value of the boundary from which the laser radar is closest in the sector region.
3. The method according to claim 1, characterized in that, For each region of interest, a boundary mathematical model is iteratively obtained based on a preset optimization algorithm and each of the target boundary points projected onto the region of interest, including: For each region of interest, two target boundary points are randomly selected from the target boundary points projected onto the region of interest to construct a straight line data model; For each of the remaining target boundary points, calculate the target distance from the target boundary point to the straight line data model. If the target distance is less than a distance threshold, then determine the target boundary point as an interior point. The number of interior points corresponding to the linear data model is obtained by statistics; When the number of interior points corresponding to the line data model is greater than the number of interior points corresponding to the current optimal line data model, the line data model is recorded as the current optimal line data model. Estimate the current iteration number; If the current iteration number is less than or equal to the theoretical iteration number, then return to the step of randomly selecting two target boundary points and constructing a straight line data model; If the current iteration number is greater than the theoretical iteration number, then the least squares method is used to fit the interior points corresponding to the current optimal linear data model to obtain the boundary mathematical model.
4. The method according to claim 3, characterized in that, The estimation yields the current iteration number, including: Calculate the ratio of the number of interior points corresponding to the current optimal straight line data model to the number of target boundary points to obtain the probability t of the interior point in the dataset; Based on the probability t of the inliers in the data set, it is estimated that two target boundary points are randomly selected, and at least one of them does not belong to the inliers corresponding to the current optimal straight line data model with a probability of 1-t 2 ; Based on formula The number of iterations is calculated; k is the number of iterations, P = 1 - (1 - t) 2 ) k .
5. The method according to claim 1, characterized in that, The process of obtaining the predicted vehicle position and, for each boundary mathematical model, performing delay compensation based on the predicted vehicle position to obtain the target model includes: Obtain the predicted vehicle position, and for each of the boundary mathematical models, solve for the pose transformation between the vehicle position and the predicted vehicle position. The target model is obtained by performing delay compensation on the boundary mathematical model based on the pose transformation amount.
6. The method according to claim 1, characterized in that, The predicted boundaries represented by each of the target models are compared with the corresponding boundaries in the high-precision map, and the predicted vehicle positions are corrected based on the comparison results, including: Establish a target coordinate system with the predicted vehicle position as the origin; For each predicted boundary represented by the target model, the predicted boundary is projected onto the target coordinate system and compared with the corresponding boundary in the high-precision map to obtain the correction amount in the x-axis direction and the correction amount in the y-axis direction. Based on the correction amount in the x-axis direction and the correction amount in the y-axis direction, the combined correction amount is calculated. The combined correction amount obtained based on each target model is vectorized to obtain the total correction amount; The predicted vehicle position is corrected based on the total correction amount.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The predicted boundaries represented by each target model are compared with the corresponding boundaries in the high-precision map to obtain the angle between each predicted boundary and the corresponding boundary in the high-precision map. The heading correction angle is obtained by performing a weighted average calculation based on the angle between each of the predicted boundaries and the corresponding boundaries in the high-precision map. The vehicle's heading is corrected based on the heading correction angle to determine the predicted vehicle position.
8. A vehicle positioning correction device, characterized in that, The device includes: The acquisition unit is used to acquire the vehicle's location; A scanning unit is used to obtain multiple boundary points by scanning with a lidar; each boundary point is used to represent the distance value of the boundary closest to the vehicle from the lidar at the corresponding resolution view. The selection unit is used to select one or more regions of interest based on the vehicle position and the boundary in the high-precision map; the region of interest includes: a region obtained by extending a preset distance along the perpendicular direction of the boundary line segment; the boundary line segment includes: a line segment with a length greater than a preset length obtained by intercepting the boundary in the high-precision map with the region circle; the region circle includes: a circular region with the vehicle position as the center and a preset radius. The projection unit is used to project each of the boundary points onto a global coordinate system with the vehicle position as the origin, and to take the boundary points projected onto any of the regions of interest as target boundary points. An iterative unit is used to iteratively obtain a boundary mathematical model for each region of interest based on a preset optimization algorithm and each of the target boundary points projected onto the region of interest. The compensation unit is used to obtain the predicted vehicle position and, for each of the boundary mathematical models, perform delay compensation based on the predicted vehicle position to obtain the target model; the predicted vehicle position is obtained by calculating the vehicle position and dead reckoning. The correction unit is used to compare the predicted boundaries represented by each of the target models with the corresponding boundaries in the high-precision map, and correct the predicted vehicle positions based on the comparison results.
9. The apparatus according to claim 8, characterized in that, The scanning unit is specifically used for: A top-down view of the laser point cloud is obtained by scanning the area around the vehicle using lidar. With the location of the lidar as the origin, the top view of the lidar point cloud is divided into N sector regions; the resolution viewing angle corresponding to each sector region is 360 / N°, where N is a positive integer; For each of the aforementioned sector regions, the laser freespace point corresponding to the sector region is used as a boundary point to obtain multiple boundary points; the laser freespace point is the distance value of the boundary from which the laser radar is closest in the sector region.
10. The apparatus according to claim 8, characterized in that, The iterative unit is specifically used for: For each region of interest, two target boundary points are randomly selected from the target boundary points projected onto the region of interest to construct a straight line data model; For each of the remaining target boundary points, calculate the target distance from the target boundary point to the straight line data model. If the target distance is less than a distance threshold, then determine the target boundary point as an interior point. The number of interior points corresponding to the linear data model is obtained by statistics; When the number of interior points corresponding to the line data model is greater than the number of interior points corresponding to the current optimal line data model, the line data model is recorded as the current optimal line data model. Estimate the current iteration number; If the current iteration number is less than or equal to the theoretical iteration number, then return to the step of randomly selecting two target boundary points and constructing a straight line data model; If the current iteration number is greater than the theoretical iteration number, then the least squares method is used to fit the interior points corresponding to the current optimal linear data model to obtain the boundary mathematical model.