Fusion positioning method, device and electronic equipment of autonomous vehicle

By acquiring and correcting the preset cache queue data and LiDAR positioning data of autonomous vehicles, and using an iterative strategy to determine and correct the cumulative positioning delay of LiDAR, the problems of RTK signal interference and LiDAR SLAM delay are solved, achieving higher accuracy and stable fusion positioning.

CN116184468BActive Publication Date: 2026-06-19ZHIDAO NETWORK TECH (BEIJING) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHIDAO NETWORK TECH (BEIJING) CO LTD
Filing Date
2023-03-01
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In scenarios such as cities, canyons, and tunnels, existing autonomous vehicles suffer from inaccurate positioning due to RTK signal interference, and the positioning results output by laser SLAM are delayed, leading to positioning anomalies and increasing the rate of human intervention.

Method used

By acquiring the preset cache queue data and the original LiDAR positioning data of autonomous vehicles, the cumulative positioning delay data of LiDAR in the preset time period is determined by the iterative strategy, and then corrected to obtain the corrected LiDAR positioning data for fusion positioning.

Benefits of technology

It improves the positioning stability and accuracy of autonomous vehicles, making them suitable for more complex road scenarios and providing more accurate observation information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116184468B_ABST
    Figure CN116184468B_ABST
Patent Text Reader

Abstract

This application discloses a fusion localization method, apparatus, and electronic device for autonomous vehicles. The method includes: acquiring preset cache queue data and original LiDAR positioning data of the autonomous vehicle; determining the cumulative positioning delay data of the LiDAR within a preset time period based on the preset cache queue data and the original LiDAR positioning data using a preset iterative strategy; determining corrected LiDAR positioning data based on the cumulative positioning delay data of the LiDAR within the preset time period; and performing fusion localization based on the corrected LiDAR positioning data to obtain a first fusion localization result for the autonomous vehicle. This application utilizes a preset iterative strategy to estimate the cumulative positioning delay error of LiDAR SLAM within a certain period, thereby correcting the LiDAR SLAM positioning result. This provides more accurate observation information for the fusion localization of autonomous vehicles, improves positioning stability and accuracy, and is applicable to more complex road scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous driving technology, and in particular to a fusion positioning method, device and electronic device for autonomous vehicles. Background Technology

[0002] In autonomous driving scenarios, high-precision positioning of autonomous vehicles is required. Currently, multi-sensor fusion positioning is commonly used, which involves fusing positioning information collected by multiple sensors using a Kalman filter to achieve high-precision vehicle positioning. For example, one existing fusion positioning scheme is based on IMU (Inertial Measurement Unit) and RTK (Real-time kinematic) fusion positioning.

[0003] However, this solution may fail to work when autonomous vehicles encounter scenarios such as cities, canyons, and tunnels, as RTK may be interfered with or lose signal. This is especially true in long tunnel conditions where high-precision positioning information cannot be obtained.

[0004] A common solution is to incorporate the localization results from laser SLAM (Simultaneous Localization and Mapping) for fusion localization. However, the localization results output by laser SLAM itself usually have a certain degree of delay. Directly fusing these results may lead to localization anomalies, system alarms, and thus increase the rate of manual intervention. Summary of the Invention

[0005] This application provides a fusion positioning method, device, and electronic device for autonomous vehicles to improve the positioning stability and accuracy of autonomous vehicles.

[0006] The embodiments of this application adopt the following technical solutions:

[0007] In a first aspect, embodiments of this application provide a fusion positioning method for autonomous vehicles, wherein the method includes:

[0008] Acquire the preset cache queue data and raw LiDAR positioning data of autonomous vehicles;

[0009] Based on the preset cache queue data and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy.

[0010] The corrected lidar positioning data is determined based on the cumulative positioning delay data of the lidar within a preset time period.

[0011] Based on the corrected lidar positioning data, a fusion positioning is performed to obtain the first fusion positioning result for the autonomous vehicle.

[0012] Optionally, the preset cache queue data includes multiple first timestamps, the original LiDAR positioning data includes second timestamps, and the step of determining the cumulative positioning delay data of the LiDAR within a preset time period based on the preset cache queue data and the original LiDAR positioning data using a preset iteration strategy includes:

[0013] Determine whether there exists a target first timestamp in the preset cache queue data whose difference from the second timestamp is less than a preset time difference threshold;

[0014] If it exists, then based on the preset cache queue data, the target first timestamp, and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy.

[0015] If it does not exist, the original lidar positioning data is discarded.

[0016] Optionally, the preset cache queue data further includes the wheel speed, and the step of determining the cumulative positioning delay data of the lidar within a preset time period based on the preset cache queue data, the target's first timestamp, and the original lidar positioning data using a preset iteration strategy includes:

[0017] The first timestamp of the previous moment corresponding to the current moment is determined based on the preset cache queue data;

[0018] The preset time period is determined based on the first timestamp of the previous moment and the first timestamp of the target.

[0019] The wheel speed corresponding to each first timestamp within the preset time period is corrected using a preset wheel speed correction strategy to obtain the corrected wheel speed within the preset time period.

[0020] Based on the corrected wheel speed within the preset time period and the original lidar positioning data, the cumulative positioning delay data of the lidar within the preset time period is determined using a preset iterative strategy.

[0021] Optionally, the preset cache queue data further includes the heading angle, and the step of determining the cumulative positioning delay data of the lidar within the preset time period using a preset iterative strategy based on the corrected wheel speed within the preset time period and the original lidar positioning data includes:

[0022] Determine the time difference between all two adjacent first timestamps within the preset time period;

[0023] Based on the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is obtained by iteratively calculating the corrected wheel speed and heading angle corresponding to each first timestamp within the preset time period and the time difference between all adjacent first timestamps within the preset time period.

[0024] Optionally, the original lidar positioning data includes the lidar's lateral and longitudinal positioning positions, and the step of determining the cumulative positioning delay data of the lidar within a preset time period using a preset iteration strategy based on the preset cache queue data and the original lidar positioning data includes:

[0025] Based on the preset cache queue data and the lateral positioning position of the lidar, the lateral cumulative positioning delay position of the lidar in a preset time period is determined using a preset iteration strategy.

[0026] Based on the preset cache queue data and the vertical positioning position of the lidar, the cumulative vertical positioning delay position of the lidar in a preset time period is determined using a preset iteration strategy.

[0027] Optionally, the corrected lidar positioning data is the lidar positioning data of the previous moment corresponding to the current moment, and the method further includes:

[0028] Determine the positioning prediction time of the lidar;

[0029] Based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data, the predicted lidar positioning data for the current moment is determined.

[0030] The second fusion positioning result of the autonomous vehicle is obtained by performing fusion positioning based on the predicted lidar positioning data at the current moment.

[0031] Optionally, determining the predicted lidar positioning data for the current moment based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data includes:

[0032] The corrected wheel speed and heading angle corresponding to the positioning prediction time are determined based on the preset cache queue data.

[0033] The positioning prediction distance at the current moment is determined based on the positioning prediction time of the lidar and the corresponding corrected wheel speed and heading angle.

[0034] Based on the corrected lidar positioning data and the current positioning prediction distance, the predicted lidar positioning data for the current moment is determined.

[0035] Secondly, embodiments of this application also provide a fusion positioning device for autonomous vehicles, wherein the device includes:

[0036] The acquisition unit is used to acquire the preset cache queue data and the original LiDAR positioning data of the autonomous vehicle;

[0037] The first determining unit is used to determine the cumulative positioning delay data of the lidar in a preset time period based on the preset cache queue data and the original lidar positioning data, using a preset iteration strategy.

[0038] The correction unit is used to determine the corrected lidar positioning data based on the cumulative positioning delay data of the lidar within a preset time period.

[0039] The first fusion positioning unit is used to perform fusion positioning based on the corrected lidar positioning data to obtain the first fusion positioning result of the autonomous vehicle.

[0040] Thirdly, embodiments of this application also provide an electronic device, including:

[0041] Processor; and

[0042] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform any of the methods described above.

[0043] Fourthly, embodiments of this application also provide a computer-readable storage medium that stores one or more programs, which, when executed by an electronic device including multiple applications, cause the electronic device to perform any of the methods described above.

[0044] The above-mentioned at least one technical solution adopted in the embodiments of this application can achieve the following beneficial effects: The fusion localization method for autonomous vehicles in the embodiments of this application first acquires the preset cache queue data and the original LiDAR positioning data of the autonomous vehicle; then, based on the preset cache queue data and the original LiDAR positioning data, a preset iterative strategy is used to determine the cumulative positioning delay data of the LiDAR within a preset time period; then, the original LiDAR positioning data is corrected according to the cumulative positioning delay error generated by the LiDAR within the preset time period to obtain the corrected LiDAR positioning data; finally, fusion localization is performed based on the corrected LiDAR positioning data to obtain the first fusion localization result of the autonomous vehicle. The fusion localization method for autonomous vehicles in the embodiments of this application uses a preset iterative strategy to estimate the cumulative positioning delay error of LiDAR SLAM within a certain period of time, thereby correcting the positioning result of LiDAR SLAM, thus providing more accurate observation information for the fusion localization of autonomous vehicles, improving positioning stability and positioning accuracy, and is applicable to more complex road scenarios. Attached Figure Description

[0045] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0046] Figure 1 This is a flowchart illustrating a fusion localization method for an autonomous vehicle according to an embodiment of this application.

[0047] Figure 2 This is a schematic diagram of the structure of a fusion positioning device for an autonomous vehicle according to an embodiment of this application;

[0048] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0049] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0050] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.

[0051] This application provides a fusion localization method for autonomous vehicles, such as... Figure 1The diagram provided illustrates a flowchart of a fusion localization method for an autonomous vehicle according to an embodiment of this application. The method includes at least the following steps S110 to S140:

[0052] Step S110: Obtain the preset cache queue data and the original LiDAR positioning data of the autonomous vehicle.

[0053] In implementing the fusion localization of autonomous vehicles, this application embodiment requires first constructing a preset cache queue. This preset cache queue is used to cache the fusion localization data of autonomous vehicles within a certain period of time, such as 1 second. For example, it may include data such as wheel speed and heading angle provided by RTK / IMU, as the basis for subsequent compensation of laser SLAM localization delay.

[0054] In addition, it is also necessary to obtain the original lidar positioning data output by the current lidar SLAM. The original lidar positioning data here can be understood as positioning data with a certain positioning error due to the overall processing delay of lidar SLAM.

[0055] Step S120: Based on the preset cache queue data and the original lidar positioning data, a preset iteration strategy is used to determine the cumulative positioning delay data of the lidar within a preset time period.

[0056] In real-world road scenarios, autonomous vehicles may be moving at a constant speed, or they may be accelerating or decelerating during the positioning delay period. Therefore, this embodiment of the application, based on preset cache queue data and original LiDAR positioning data, can adopt a certain iterative strategy to iteratively calculate the positioning delay error generated by the LiDAR within a preset time period, thereby calculating the cumulative positioning delay data of the LiDAR within that time period. The iterative strategy here is mainly designed based on a uniformly variable speed model, which is applicable not only to the uniform speed movement scenario of autonomous vehicles, but also to complex movement scenarios such as acceleration and deceleration, thereby further improving the accuracy of LiDAR positioning results for autonomous vehicles in complex scenarios.

[0057] Step S130: Determine the corrected lidar positioning data based on the cumulative positioning delay data of the lidar within a preset time period.

[0058] After predicting the cumulative positioning delay data of the lidar within a preset time period, the cumulative positioning delay data can be directly used as the corrected lidar positioning data. That is, the cumulative positioning delay data output after iterative calculation is the lidar positioning data that has compensated for the cumulative positioning delay error.

[0059] Step S140: Perform fusion positioning based on the corrected lidar positioning data to obtain the first fusion positioning result of the autonomous vehicle.

[0060] The corrected lidar positioning data is more accurate and reliable than the original lidar positioning data. Therefore, the corrected lidar positioning data can be used as new observation information and input into the extended Kalman filter to fuse with the observation information of other sensors to obtain the fused positioning result of the autonomous vehicle.

[0061] The fusion localization method for autonomous vehicles in this application uses a preset iterative strategy to estimate the cumulative localization delay error of laser SLAM over a period of time, thereby correcting the localization results of laser SLAM. This provides more accurate observation information for the fusion localization of autonomous vehicles, improves localization stability and accuracy, and is applicable to more complex road scenarios.

[0062] In some embodiments of this application, the preset cache queue data includes multiple first timestamps, and the original LiDAR positioning data includes a second timestamp. The step of determining the cumulative positioning delay data of the LiDAR within a preset time period using a preset iteration strategy based on the preset cache queue data and the original LiDAR positioning data includes: determining whether there exists a target first timestamp in the preset cache queue data whose difference from the second timestamp is less than a preset time difference threshold; if so, determining the cumulative positioning delay data of the LiDAR within the preset time period using a preset iteration strategy based on the preset cache queue data, the target first timestamp, and the original LiDAR positioning data; if not, discarding the original LiDAR positioning data.

[0063] The preset cache queue is specifically used to cache data such as wheel speed and heading angle provided by the RTK / IMU within a certain period, along with the corresponding first timestamp. The first timestamp indicates the output time of the wheel speed and heading angle data. Assuming a time length of 1 second and a data output frequency of 100Hz, the preset cache queue can cache up to 100 data entries. When the original LiDAR positioning data is acquired, it carries a second timestamp to represent the output time of the original LiDAR positioning data.

[0064] Based on this, the first timestamp in the preset cache queue can be used to measure the positioning delay of the currently acquired raw LiDAR positioning data, determining whether the positioning delay of the raw LiDAR positioning data is tolerable and whether it can be used for subsequent fusion positioning. Specifically, the second timestamp corresponding to the raw LiDAR positioning data can be compared with multiple first timestamps in the preset cache queue to determine whether there is a target first timestamp time_x among the multiple first timestamps whose difference from the second timestamp is less than a preset time difference threshold. For example, it can be expressed in the following form:

[0065] |time-time0| < preset time difference threshold

[0066] Where time is the first timestamp and time0 is the second timestamp, the preset time difference threshold is related to the data output frequency of the RTK / IMU. For example, if the data output frequency of the RTK / IMU is 100Hz, that is, one data is output every 0.01s, then the preset time difference threshold can be set to a value less than 0.01s, such as 0.005s.

[0067] If there is a target first timestamp time_x among multiple first timestamps whose difference with the second timestamp is less than the preset time difference threshold, it means that the time difference between the currently acquired original LiDAR positioning data and the data in the cache queue is within the tolerable range. Therefore, the original LiDAR positioning data can be further corrected based on the data in the cache queue. However, if there is no first timestamp that meets the above conditions, it means that the time difference between the currently acquired original LiDAR positioning data and all the data in the cache queue exceeds the tolerable range. The positioning delay of the original LiDAR positioning data is too large and cannot be used for subsequent fusion positioning.

[0068] In some embodiments of this application, the preset cache queue data further includes wheel speed. The step of determining the cumulative positioning delay data of the LiDAR within a preset time period based on the preset cache queue data, the target first timestamp, and the original LiDAR positioning data using a preset iteration strategy includes: determining the first timestamp of the previous moment corresponding to the current moment based on the preset cache queue data; determining the preset time period based on the first timestamp of the previous moment and the target first timestamp; correcting the wheel speed corresponding to each first timestamp within the preset time period using a preset wheel speed correction strategy to obtain the corrected wheel speed within the preset time period; and determining the cumulative positioning delay data of the LiDAR within the preset time period using the corrected wheel speed within the preset time period and the original LiDAR positioning data using a preset iteration strategy.

[0069] In this embodiment of the application, when determining the cumulative positioning delay data of the LiDAR in a preset time period using a preset iteration strategy, the preset time period can be determined first. This preset time period can be understood as the positioning delay time of the LiDAR SLAM, which can be determined based on the time difference between the first timestamp of the previous moment corresponding to the current moment cached in the preset cache queue and the first timestamp of the target.

[0070] It should be noted that the reason for compensating for the positioning delay error of laser SLAM to the previous moment rather than the current moment is that if the positioning delay error of laser SLAM is compensated to the current moment, then the corrected laser radar positioning data at the current moment will be obtained. Subsequently, if the original laser radar positioning data is not obtained at the current moment, prediction will be made based on the corrected laser radar positioning data at the current moment, which is equivalent to predicting the next moment after the current moment. This kind of advance prediction may introduce certain errors. Therefore, in this embodiment, when determining the cumulative positioning delay error of laser radar using a preset iteration strategy, it only iterates to the moment before the current moment. Thus, subsequent predictions can be made from the previous moment to the current moment to ensure the reliability and accuracy of the prediction results.

[0071] The preset time period corresponds to multiple first timestamps in the preset cache queue. Each first timestamp corresponds to data such as wheel speed and angle. To improve the accuracy of wheel speed calculation, a certain wheel speed correction strategy can be adopted to correct the wheel speed corresponding to each first timestamp within the preset time period, thereby obtaining the corrected wheel speed corresponding to each first timestamp within the preset time period. The wheel speed correction strategy mainly includes online calibration and slope compensation strategies, which can be represented as follows:

[0072] vel_re=vel*vel_k*cos(fabs(ori_pitch)

[0073] Where vel_re is the corrected wheel speed, vel is the original wheel speed in the preset buffer queue, ori_pitch is the pitch angle, and vel_k is the calibration coefficient, which is pre-calibrated considering factors such as tire pressure when the RTK positioning signal is good. The corrected wheel speed can be applied to fusion positioning in complex road scenarios such as climbing.

[0074] In some embodiments of this application, the preset cache queue data further includes heading angles. The step of determining the cumulative positioning delay data of the LiDAR in the preset time period using a preset iteration strategy based on the corrected wheel speed within the preset time period and the original LiDAR positioning data includes: determining the time difference between all two adjacent first timestamps within the preset time period; and iteratively calculating the cumulative positioning delay data of the LiDAR in the preset time period based on the original LiDAR positioning data using the corrected wheel speed and heading angle corresponding to each first timestamp within the preset time period and the time difference between all two adjacent first timestamps within the preset time period.

[0075] The preset time period contains multiple first timestamps in the preset cache queue. Therefore, the cumulative positioning delay data of the LiDAR in the entire preset time period can be calculated in multiple stages based on the multiple first timestamps contained in the preset time period. For example, if the preset time period contains t0, t1, t2, ..., tn first timestamps in sequence, then it can be divided into multiple iteration stages such as t0-t1, t1-t2, ..., t(n-1)-tn.

[0076] Specifically, the time difference between the two first timestamps corresponding to each iteration stage within the preset time period can be calculated first. Starting from the target first timestamp t0, the positioning delay distance between the target first timestamp t0 and the first timestamp t1 of the next moment corresponding to the target first timestamp can be calculated. Combined with the positioning position of the LiDAR corresponding to the target first timestamp, which is the original positioning position of the LiDAR, the positioning position of the LiDAR corresponding to the first timestamp t1 of the next moment can be calculated. Then, starting from the first timestamp t1 of the next moment, the positioning position of the LiDAR corresponding to t2 can be calculated, and so on, until the previous moment tn corresponding to the current moment is calculated. The positioning position of the LiDAR corresponding to the previous moment tn is the cumulative positioning delay position of the LiDAR in the entire preset time period.

[0077] In some embodiments of this application, the original lidar positioning data includes the lidar's lateral positioning position and longitudinal positioning position. The step of determining the cumulative positioning delay data of the lidar within a preset time period using a preset iteration strategy based on the preset cache queue data and the original lidar positioning data includes: determining the cumulative lateral positioning delay position of the lidar within the preset time period using a preset iteration strategy based on the preset cache queue data and the lidar's lateral positioning position; and determining the cumulative longitudinal positioning delay position of the lidar within the preset time period using a preset iteration strategy based on the preset cache queue data and the lidar's longitudinal positioning position.

[0078] Since the original positioning position output by the laser SLAM includes the eastward lateral positioning position lidar_pos_x and the northward longitudinal positioning position lidar_pos_y in the northeast-northeast coordinate system, the embodiments of this application can further iteratively calculate the lateral cumulative positioning delay position and the longitudinal cumulative positioning delay position of the laser radar in the preset time period based on the heading angle yaw corresponding to each first timestamp.

[0079] For ease of understanding, the above iterative process can be represented in the following form:

[0080] lidar_delay_pos_x'=lidar_delay_pos_x+vel_re*cos(yaw)*

[0081] (time_pos_last-time_pos)

[0082] lidar_delay_pos_y'=lidar_delay_pos_y+vel_re*sin(yaw)*

[0083] (time_pos_last-time_pos)

[0084] Wherein, time_pos_last is the first timestamp of the current iteration phase, time_pos is the first timestamp of the current iteration phase, lidar_delay_pos_x and lidar_delay_pos_y are the lateral and longitudinal positioning delay positions of the lidar calculated in each iteration phase of the entire iteration process, respectively, and lidar_delay_pos_x' and lidar_delay_pos_y' are the lateral and longitudinal cumulative positioning delay positions of the lidar obtained after the completion of the entire iteration process, which is to say, the lidar positioning position of the previous moment corresponding to the current moment is predicted.

[0085] Because the calculation process is iterative and multi-stage, the wheel speed and heading angle used in each stage are the actual wheel speed and heading angle data corresponding to the timestamp of each stage. The final iterative calculation results are more consistent with the actual driving situation of autonomous vehicles and can be applied to more complex road scenarios.

[0086] In some embodiments of this application, the corrected lidar positioning data is the lidar positioning data of the previous moment corresponding to the current moment. The method further includes: determining the positioning prediction time of the lidar; determining the predicted lidar positioning data at the current moment based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data; and performing fusion positioning based on the predicted lidar positioning data at the current moment to obtain a second fusion positioning result for the autonomous vehicle.

[0087] The aforementioned embodiment compensates for the positioning delay of the original LiDAR positioning data to the previous moment when the original LiDAR positioning data is available. However, since the output frequency of LiDAR SLAM is generally lower than that of RTK / IMU, for example, the output frequency of LiDAR SLAM is usually 5Hz while that of RTK / IMU is 100Hz, there may be situations where there is no LiDAR SLAM output during the RTK / IMU output process, or LiDAR SLAM may not output positioning results due to occlusion, interference, etc. In this case, directly exiting LiDAR SLAM positioning or directly performing fusion positioning may cause the positioning trajectory to jump.

[0088] Based on this, the embodiments of this application can further predict the LiDAR positioning data without obtaining the original LiDAR positioning data. Specifically, the positioning prediction time of the LiDAR can be determined first. For example, the time period from the last time the corrected LiDAR positioning data was output to the current time can be used as the positioning prediction time. The current time is the time corresponding to the latest positioning data output by the RTK / IMU.

[0089] Since data loss may occur during fusion positioning, meaning the time difference between the current moment and the last time the corrected LiDAR positioning data was output may not be a fixed time interval calculated according to the fusion positioning output frequency, but may be greater than that fixed time interval, and if the positioning prediction time span is too large, directly making long-term predictions may lead to large errors in the prediction results, the embodiments of this application can first constrain the positioning prediction time, for example, it can be expressed in the following form:

[0090] if(abs(dt_lidar_pre_time)>1.0)

[0091] dt_lidar_pre_time = 0.01

[0092] Here, `lidar_pre_time` represents the positioning prediction time. If the positioning prediction time calculated based on the current time in the preset cache queue and the time of the last output corrected LiDAR positioning data is greater than 1 second, then the positioning prediction time can be directly set to 0.01 seconds. It should be noted that the 1 second here is an adjustable threshold set according to requirements, and the 0.01 seconds is mainly a fixed time interval calculated based on the fused positioning output frequency. Of course, those skilled in the art can flexibly adjust the above values ​​for constraints according to actual needs, and no specific limitations are made here.

[0093] After determining the positioning prediction time, the predicted LiDAR positioning data at the current moment can be determined by combining the LiDAR positioning data corrected in the aforementioned embodiments and the preset cache queue data. This allows the LiDAR to provide prediction information during the period when LiDAR SLAM has no output. This information is then used as additional observation information at the current moment and input into the extended Kalman filter for fusion positioning, thereby obtaining the fusion positioning result of the autonomous vehicle at the current moment.

[0094] In some embodiments of this application, determining the predicted lidar positioning data for the current moment based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data includes: determining the corrected wheel speed and heading angle corresponding to the positioning prediction time based on the preset cache queue data; determining the positioning prediction distance for the current moment based on the lidar positioning prediction time and the corresponding corrected wheel speed and heading angle; and determining the predicted lidar positioning data for the current moment based on the corrected lidar positioning data and the positioning prediction distance for the current moment.

[0095] When determining the predicted LiDAR positioning data for the current moment, the corrected wheel speed vel_pre' and heading angle ori_yaw' corresponding to the positioning prediction time can be determined first based on the preset cache queue data. The calculation method for the corrected wheel speed is the same as that in the previous embodiment, and will not be repeated here. The heading angle ori_yaw' corresponding to the positioning prediction time can be calculated based on the average heading angle within the positioning prediction time, or the average of the heading angle at the time corresponding to the corrected LiDAR positioning data and the heading angle at the current time can be used as the heading angle ori_yaw' corresponding to the positioning prediction time. The positioning prediction distance for the current moment is calculated based on the positioning prediction time and the corresponding corrected wheel speed vel_pre'. Finally, the predicted LiDAR positioning data for the current moment is calculated based on the corrected LiDAR positioning data, the positioning prediction distance at the current moment, and the heading angle ori_yaw' corresponding to the positioning prediction time.

[0096] Since the corrected lidar positioning data includes the corrected lateral positioning position lidar_delay_pos_x' and the corrected longitudinal positioning position lidar_delay_pos_y', the positioning prediction distance can be decomposed laterally and longitudinally based on the heading angle ori_yaw', thus obtaining the lateral and longitudinal prediction distances. Finally, the predicted lateral positioning position of the lidar SLAM at the current moment is calculated using the corrected lateral positioning position lidar_delay_pos_x' and the lateral prediction distance, and the predicted lateral positioning position of the lidar SLAM at the current moment is calculated using the corrected longitudinal positioning position lidar_delay_pos_y' and the longitudinal prediction distance.

[0097] The predicted lateral positioning position lidar_pre_pos_x and longitudinal positioning position lidar_pre_pos_y of laser SLAM can be represented as follows:

[0098] lidar_pre_pos_x=lidar_delay_pos_x'+vel_pre'*cos(ori_yaw')*lidar_pre_timelidar_pre_pos_y=lidar_delay_pos_y'+vel_pre'*sin(ori_yaw')*lidar_pre_time

[0099] This application also provides a fusion positioning device 200 for autonomous vehicles, such as... Figure 2 The diagram shows a structural schematic of a fusion positioning device for an autonomous vehicle according to an embodiment of this application. The device 200 includes: an acquisition unit 210, a first determination unit 220, a correction unit 230, and a first fusion positioning unit 240, wherein:

[0100] The acquisition unit 210 is used to acquire the preset cache queue data and the original lidar positioning data of the autonomous vehicle;

[0101] The first determining unit 220 is used to determine the cumulative positioning delay data of the lidar in a preset time period based on the preset cache queue data and the original lidar positioning data using a preset iteration strategy.

[0102] Correction unit 230 is used to determine the corrected lidar positioning data based on the cumulative positioning delay data of the lidar in a preset time period;

[0103] The first fusion positioning unit 240 is used to perform fusion positioning based on the corrected lidar positioning data to obtain the first fusion positioning result of the autonomous vehicle.

[0104] In some embodiments of this application, the preset cache queue data includes multiple first timestamps, and the original lidar positioning data includes a second timestamp. The first determining unit 220 is specifically used to: determine whether there is a target first timestamp in the preset cache queue data whose difference from the second timestamp is less than a preset time difference threshold; if so, determine the cumulative positioning delay data of the lidar in a preset time period based on the preset cache queue data, the target first timestamp, and the original lidar positioning data using a preset iteration strategy; if not, discard the original lidar positioning data.

[0105] In some embodiments of this application, the preset cache queue data further includes a wheel speed, and the first determining unit 220 is specifically used to: determine the first timestamp of the previous moment corresponding to the current moment according to the preset cache queue data; determine the preset time period according to the first timestamp of the previous moment and the target first timestamp; correct the wheel speed corresponding to each first timestamp in the preset time period using a preset wheel speed correction strategy to obtain the corrected wheel speed in the preset time period; and determine the cumulative positioning delay data of the lidar in the preset time period according to the corrected wheel speed in the preset time period and the original lidar positioning data using a preset iteration strategy.

[0106] In some embodiments of this application, the preset cache queue data further includes a heading angle, and the first determining unit 220 is specifically used to: determine the time difference between all two adjacent first timestamps within the preset time period; based on the original lidar positioning data, iteratively calculate using the corrected wheel speed and heading angle corresponding to each first timestamp within the preset time period and the time difference between all two adjacent first timestamps within the preset time period to obtain the cumulative positioning delay data of the lidar within the preset time period.

[0107] In some embodiments of this application, the original lidar positioning data includes the lidar's lateral positioning position and longitudinal positioning position. The first determining unit 220 is specifically used to: determine the lidar's lateral cumulative positioning delay position within a preset time period based on the preset cache queue data and the lidar's lateral positioning position using a preset iteration strategy; and determine the lidar's longitudinal cumulative positioning delay position within a preset time period based on the preset cache queue data and the lidar's longitudinal positioning position using a preset iteration strategy.

[0108] In some embodiments of this application, the corrected lidar positioning data is the lidar positioning data of the previous moment corresponding to the current moment. The device further includes: a second determining unit, used to determine the positioning prediction time of the lidar; a third determining unit, used to determine the predicted lidar positioning data of the current moment based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data; and a second fusion positioning unit, used to perform fusion positioning based on the predicted lidar positioning data of the current moment to obtain a second fusion positioning result for the autonomous vehicle.

[0109] In some embodiments of this application, the third determining unit is specifically used to: determine the corrected wheel speed and heading angle corresponding to the positioning prediction time based on the preset cache queue data; determine the positioning prediction distance at the current moment based on the positioning prediction time of the lidar and the corresponding corrected wheel speed and heading angle; and determine the predicted lidar positioning data at the current moment based on the corrected lidar positioning data and the positioning prediction distance at the current moment.

[0110] It is understood that the aforementioned fusion positioning device for autonomous vehicles can implement each step of the fusion positioning method for autonomous vehicles provided in the foregoing embodiments. The relevant explanations regarding the fusion positioning method for autonomous vehicles are applicable to the fusion positioning device for autonomous vehicles, and will not be repeated here.

[0111] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Please refer to it. Figure 3 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.

[0112] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 3The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.

[0113] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.

[0114] The processor reads the corresponding computer program from non-volatile memory into main memory and then runs it, forming the fusion positioning device for the autonomous vehicle at the logical level. The processor executes the program stored in memory and specifically performs the following operations:

[0115] Acquire the preset cache queue data and raw LiDAR positioning data of autonomous vehicles;

[0116] Based on the preset cache queue data and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy.

[0117] The corrected lidar positioning data is determined based on the cumulative positioning delay data of the lidar within a preset time period.

[0118] Based on the corrected lidar positioning data, a fusion positioning is performed to obtain the first fusion positioning result for the autonomous vehicle.

[0119] The above is as stated in this application. Figure 1The method executed by the fusion positioning device of the autonomous vehicle disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0120] The electronic device can also perform Figure 1 The method for implementing the fusion positioning device of an autonomous vehicle, and realizing the fusion positioning device of an autonomous vehicle in Figure 1 The functions of the embodiments shown are not described in detail here.

[0121] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions that, when executed by an electronic device including multiple applications, enable the electronic device to perform... Figure 1 The method executed by the fusion positioning device of the autonomous vehicle in the illustrated embodiment is specifically used to perform:

[0122] Acquire the preset cache queue data and raw LiDAR positioning data of autonomous vehicles;

[0123] Based on the preset cache queue data and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy.

[0124] The corrected lidar positioning data is determined based on the cumulative positioning delay data of the lidar within a preset time period.

[0125] Based on the corrected lidar positioning data, a fusion positioning is performed to obtain the first fusion positioning result for the autonomous vehicle.

[0126] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0127] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0128] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0129] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1The steps of the function specified in one or more boxes.

[0130] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0131] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0132] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0133] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further 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.

[0134] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0135] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A fusion localization method for autonomous vehicles, wherein, The method includes: Acquire the preset cache queue data and raw LiDAR positioning data of autonomous vehicles; Based on the preset cache queue data and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy. The corrected lidar positioning data is determined based on the cumulative positioning delay data of the lidar within a preset time period. Based on the corrected lidar positioning data, a fusion positioning is performed to obtain the first fusion positioning result of the autonomous vehicle. The preset cache queue data includes fused positioning data of autonomous vehicles within a preset time period. The fused positioning data includes wheel speed and heading angle provided by RTK / IMU and the corresponding first timestamp, where the first timestamp represents the output time of wheel speed and heading angle. The original lidar positioning data includes a second timestamp. The process of determining the cumulative positioning delay data of the lidar within a preset time period using a preset iteration strategy, based on the preset cache queue data and the original lidar positioning data, includes: Determine whether there exists a target first timestamp in the preset cache queue data whose difference from the second timestamp is less than a preset time difference threshold; If it exists, then based on the preset cache queue data, the target first timestamp, and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy. If it does not exist, the original lidar positioning data is discarded.

2. The method as described in claim 1, wherein, The preset cache queue data also includes the wheel speed. The step of determining the cumulative positioning delay data of the lidar within a preset time period using a preset iteration strategy, based on the preset cache queue data, the target's first timestamp, and the original lidar positioning data, includes: The first timestamp of the previous moment corresponding to the current moment is determined based on the preset cache queue data; The preset time period is determined based on the first timestamp of the previous moment and the first timestamp of the target. The wheel speed corresponding to each first timestamp within the preset time period is corrected using a preset wheel speed correction strategy to obtain the corrected wheel speed within the preset time period; Based on the corrected wheel speed within the preset time period and the original lidar positioning data, the cumulative positioning delay data of the lidar within the preset time period is determined using a preset iterative strategy.

3. The method as described in claim 2, wherein, The preset cache queue data also includes heading angles. The step of determining the cumulative positioning delay data of the lidar within the preset time period using a preset iterative strategy, based on the corrected wheel speed within the preset time period and the original lidar positioning data, includes: Determine the time difference between all two adjacent first timestamps within the preset time period; Based on the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is obtained by iteratively calculating the corrected wheel speed and heading angle corresponding to each first timestamp within the preset time period, and the time difference between all adjacent first timestamps within the preset time period.

4. The method of claim 1, wherein, The original lidar positioning data includes the lidar's lateral and longitudinal positioning positions. The process of determining the cumulative positioning delay data of the lidar within a preset time period using a preset iteration strategy, based on the preset cache queue data and the original lidar positioning data, includes: Based on the preset cache queue data and the lateral positioning position of the lidar, the lateral cumulative positioning delay position of the lidar in a preset time period is determined using a preset iteration strategy. Based on the preset cache queue data and the vertical positioning position of the lidar, the cumulative vertical positioning delay position of the lidar in a preset time period is determined using a preset iteration strategy.

5. The method of claim 1, wherein, The corrected lidar positioning data is the lidar positioning data of the previous moment corresponding to the current moment, and the method further includes: Determine the positioning prediction time of the lidar; Based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data, the predicted lidar positioning data for the current moment is determined. The second fusion positioning result of the autonomous vehicle is obtained by performing fusion positioning based on the predicted lidar positioning data at the current moment.

6. The method of claim 5, wherein, The step of determining the predicted lidar positioning data for the current moment based on the corrected lidar positioning data, the lidar positioning prediction time, and the preset cache queue data includes: The corrected wheel speed and heading angle corresponding to the positioning prediction time are determined based on the preset cache queue data. The positioning prediction distance at the current moment is determined based on the positioning prediction time of the lidar and the corresponding corrected wheel speed and heading angle. Based on the corrected lidar positioning data and the current positioning prediction distance, the predicted lidar positioning data for the current moment is determined.

7. A fusion positioning apparatus of an autonomous vehicle, wherein, The device includes: The acquisition unit is used to acquire the preset cache queue data and the original LiDAR positioning data of the autonomous vehicle; The first determining unit is used to determine the cumulative positioning delay data of the lidar in a preset time period based on the preset cache queue data and the original lidar positioning data, using a preset iteration strategy. The correction unit is used to determine the corrected lidar positioning data based on the cumulative positioning delay data of the lidar within a preset time period. The first fusion positioning unit is used to perform fusion positioning based on the corrected lidar positioning data to obtain the first fusion positioning result of the autonomous vehicle. The preset cache queue data includes fused positioning data of autonomous vehicles within a preset time period. The fused positioning data includes wheel speed and heading angle provided by RTK / IMU and the corresponding first timestamp, where the first timestamp represents the output time of wheel speed and heading angle. The original lidar positioning data includes a second timestamp, and the first determining unit is specifically used for: Determine whether there exists a target first timestamp in the preset cache queue data whose difference from the second timestamp is less than a preset time difference threshold; If it exists, then based on the preset cache queue data, the target first timestamp, and the original lidar positioning data, the cumulative positioning delay data of the lidar in the preset time period is determined using a preset iteration strategy. If it does not exist, the original lidar positioning data is discarded.

8. An electronic device, comprising: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method of any one of claims 1 to 6.

9. A computer-readable storage medium storing one or more programs, which, when executed by an electronic device including a plurality of applications, cause the electronic device to perform the method of any one of claims 1 to 6.