Fusion positioning method, device and equipment for autonomous vehicle, and computer program product
By acquiring multi-sensor positioning data and DR odometry data, calculating positioning errors and determining available data sources, and employing a Kalman filter algorithm for fusion positioning, the problem of inaccurate positioning caused by DR error accumulation is solved, thereby improving the positioning accuracy and stability of autonomous vehicles.
Patent Information
- Application Number
- CN202511532308.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-24
- Publication Date
- 2026-01-27
AI Technical Summary
In existing methods for extrapolating the trajectory of autonomous vehicles, the accumulation of DR (Depth Determination) errors leads to insufficient positioning accuracy and stability. When fusing multi-sensor data, it is easily affected by inaccurate DR position information, which in turn affects positioning accuracy and stability.
By acquiring multi-sensor positioning data and DR odometer data, the positioning error is calculated. Only when the positioning data of one sensor is effective is the usable fusion positioning data source determined. The Kalman filter algorithm is used for fusion positioning to eliminate sensor installation errors and lever effect. Data is cached and compensated in real time to improve data accuracy.
It improves the positioning accuracy and stability of autonomous vehicles in complex environments, avoids the problem of inaccurate positioning caused by excessive DR error, and enhances the safety and reliability of autonomous driving systems.
Smart Images

Figure CN121409261A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to a fusion positioning method, device and equipment, and computer program product for autonomous vehicles. Background Technology
[0002] With the rapid development of autonomous driving technology, accurate and reliable vehicle positioning has become a key factor in ensuring the safety and feasibility of autonomous driving. Autonomous vehicles need to acquire their own position information in the environment in real time and accurately in order to perform operations such as path planning and decision-making control. Currently, commonly used positioning technologies include Global Navigation Satellite Systems (GNSS), Inertial Measurement Units (IMUs), and positioning methods based on multi-sensor data fusion. Among these, trajectory prediction (DR), as a positioning technology based on the vehicle's own motion information, plays an important role in autonomous driving positioning systems.
[0003] Track extrapolation primarily relies on the vehicle's initial position information, combined with motion parameters such as heading angle and velocity, to calculate the vehicle's position change over a period of time through integral calculations, thereby achieving continuous tracking of the vehicle's position. The accuracy of existing track extrapolation technologies is constrained by several factors. Firstly, measurement errors in vehicle motion parameters directly affect the track extrapolation results; these errors accumulate with integral calculations, gradually increasing the positional error in the track extrapolation. Secondly, existing track extrapolation algorithms typically employ relatively simple motion models that cannot accurately describe the vehicle's actual motion, introducing model errors and further reducing the accuracy of track extrapolation.
[0004] In the localization system of autonomous vehicles, multi-sensor data fusion is commonly used to improve the accuracy and reliability of localization. Multi-sensor data fusion integrates measurement information from multiple sensors, leveraging the complementarity between them to enhance the reliability of the localization results. Voting mechanisms are a frequently used method in multi-sensor data fusion. The basic idea is to allow multiple sensors to independently assess the vehicle's position, and then vote on the assessments according to certain rules to ultimately determine the vehicle's location.
[0005] However, the existing algorithm has serious flaws in handling trajectory extrapolation errors. When the DR (Depth Determination) error reaches a certain level, the existing algorithm still includes it in the voting mechanism. Due to the accumulation of trajectory extrapolation errors, the calculated position information may deviate significantly from the vehicle's actual position. Including such inaccurate DR position information in the voting process interferes with the normal and accurate position judgments of other sensors, disrupts the balance and accuracy of multi-sensor data fusion, and leads to misjudgments during multi-sensor data fusion, thereby affecting the accuracy and stability of the entire autonomous driving system's positioning. Summary of the Invention
[0006] This application provides a fusion positioning method, apparatus, device, and computer program product for autonomous vehicles to improve the fusion positioning accuracy and stability of autonomous vehicles.
[0007] The embodiments of this application adopt the following technical solutions:
[0008] In a first aspect, embodiments of this application provide a fusion positioning method for autonomous vehicles, the fusion positioning method for autonomous vehicles comprising:
[0009] Acquire multi-sensor positioning data and DR (radio rate) odometry data from autonomous vehicles;
[0010] Calculate the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data respectively.
[0011] If only one sensor positioning data is active in the multi-sensor positioning data, the available fusion positioning data source is determined based on the positioning error between the active sensor positioning data and the DR odometer data.
[0012] The fusion positioning result of the autonomous vehicle is obtained by performing fusion positioning based on the available fusion positioning data source.
[0013] Optionally, acquiring the multi-sensor positioning data and DR odometer data of the autonomous vehicle includes:
[0014] Real-time caching of multi-sensor positioning data within a first preset time period, the multi-sensor positioning data including RTK positioning data, laser SLAM positioning data, visual positioning data, and fused positioning data;
[0015] Real-time caching of wheel speed data and IMU data within a first preset time period;
[0016] The DR odometry data is obtained by performing trajectory extrapolation based on the cached wheel speed data, IMU data, and the fused positioning data.
[0017] Optionally, the step of performing trajectory extrapolation based on cached wheel speed data, IMU data, and the fused positioning data to obtain the DR odometry data includes:
[0018] Perform lever arm compensation on the wheel speed data to obtain compensated wheel speed data;
[0019] The installation error is compensated for by the IMU data to obtain the compensated IMU data;
[0020] The DR odometry data is obtained by performing trajectory extrapolation based on the compensated wheel speed data, the compensated IMU data, and the fused positioning data.
[0021] Optionally, the step of calculating the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data includes:
[0022] Based on the multi-sensor positioning data and the DR odometer data, the positioning error between each sensor positioning data and the DR odometer data is calculated in real time.
[0023] The positioning error between the real-time calculated positioning data of each sensor and the DR odometer data is cached according to a preset caching strategy, which includes caching according to a second preset time period or caching according to the mileage accuracy of the DR odometer.
[0024] Optionally, the fusion localization method for the autonomous vehicle further includes:
[0025] The positioning status of the RTK positioning data is determined based on the differential status of the RTK positioning data.
[0026] The positioning status of the laser SLAM positioning data is determined based on the confidence level of the laser SLAM positioning data.
[0027] The positioning status of the visual positioning data is determined based on the confidence level of the visual positioning data.
[0028] Optionally, the positioning error includes the current positioning error and the historical positioning error, and the step of determining the available fusion positioning data source based on the positioning error between the sensor positioning data in the active state and the DR odometry data includes:
[0029] The current positioning error and the historical positioning error are compared with preset error thresholds to obtain comparison results.
[0030] Calculate the difference between the current positioning error and the historical positioning error;
[0031] Based on the comparison results and the difference between the current positioning error and the historical positioning error, the available fusion positioning data source is determined.
[0032] Optionally, determining the available fused positioning data source based on the comparison result and the difference between the current positioning error and the historical positioning error includes:
[0033] If both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is less than a preset difference threshold, then the available fusion positioning data source is determined to be the sensor positioning data of the active state.
[0034] If both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is not less than a preset difference threshold, then the available fusion positioning data source is determined to be the DR odometer data.
[0035] Secondly, embodiments of this application also provide a fusion positioning device for autonomous vehicles, the fusion positioning device for autonomous vehicles comprising:
[0036] The acquisition unit is used to acquire multi-sensor positioning data and DR odometry data of autonomous vehicles;
[0037] The calculation unit is used to calculate the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data, respectively.
[0038] The first determining unit is used to determine the available fusion positioning data source based on the positioning error between the sensor positioning data in the effective state and the DR odometer data when only one sensor positioning data in the multi-sensor positioning data is in an effective state.
[0039] The fusion positioning unit is used to perform fusion positioning based on the available fusion positioning data source to obtain the fusion positioning result of the autonomous vehicle.
[0040] Thirdly, embodiments of this application also provide an apparatus, comprising:
[0041] A processor; and a memory arranged to store computer-executable instructions, which, when executed, cause the processor to perform any of the aforementioned autonomous vehicle fusion localization methods.
[0042] Fourthly, embodiments of this application also provide a computer program product, including a computer program / instructions, which, when executed by a processor, implement the fusion positioning method for any of the aforementioned autonomous vehicles.
[0043] The above-mentioned at least one technical solution adopted in the embodiments of this application can achieve the following beneficial effects: The fusion positioning method for autonomous vehicles in the embodiments of this application first acquires multi-sensor positioning data and DR odometer data of the autonomous vehicle; then, it calculates the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data respectively; then, when only one sensor positioning data in the multi-sensor positioning data is in an active positioning state, it determines the available fusion positioning data source based on the positioning error between the active sensor positioning data and the DR odometer data; finally, it performs fusion positioning based on the available fusion positioning data source to obtain the fusion positioning result of the autonomous vehicle. The fusion positioning method for autonomous vehicles provided in the embodiments of this application, by comprehensively acquiring multi-sensor positioning data and DR odometer data and calculating the positioning error between them, can reasonably determine whether the DR odometer data is available based on the positioning error when only one sensor positioning data is active, thereby flexibly determining the available fusion positioning data source, avoiding the problem of inaccurate positioning caused by excessive DR odometer data error, and effectively improving the positioning accuracy and stability of autonomous vehicles in various complex environments. Attached Figure Description
[0044] 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:
[0045] Figure 1 This is a flowchart illustrating a fusion localization method for an autonomous vehicle according to an embodiment of this application.
[0046] 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;
[0047] Figure 3 This is a schematic diagram of the structure of a device according to an embodiment of this application. Detailed Implementation
[0048] 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.
[0049] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.
[0050] This application provides a fusion localization method for autonomous vehicles, such as... Figure 1 The diagram shows a flowchart of a fusion localization method for an autonomous vehicle according to an embodiment of this application. The fusion localization method for the autonomous vehicle includes the following steps S110 to S140:
[0051] Step S110: Obtain multi-sensor positioning data and DR odometer data of the autonomous vehicle.
[0052] During the operation of autonomous vehicles, various sensors on board acquire positioning data. For example, RTK (Real-Time Kinematic) positioning systems provide high-precision absolute position information, utilizing carrier phase differential technology to achieve centimeter-level accuracy. LiDAR (Simultaneous Localization and Mapping) positioning technology uses lidar to emit laser beams and receive reflected signals, constructing a 3D point cloud map of the surrounding environment by measuring the laser's time of flight, and simultaneously determining the vehicle's position within the map. Visual positioning uses cameras to collect image information of the surrounding environment, employing image recognition and feature matching algorithms to determine the vehicle's position and attitude. Fusion positioning data is the result of integrating information from multiple sensors through one or more fusion processes.
[0053] DR odometry data is positioning data obtained based on trajectory extrapolation. It uses the vehicle's initial position information, combined with motion parameters such as the vehicle's heading angle and speed, to calculate the vehicle's position change over a period of time through integral calculation, thereby achieving continuous tracking of the vehicle's position.
[0054] Step S120: Calculate the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data.
[0055] After acquiring multi-sensor positioning data and DR (Dual Positioning and Odometer) data, the positioning data from these different sources are first synchronized in time. Then, each set of time-synchronized sensor positioning data is compared and analyzed with the DR odometer data. Specifically, for the positioning data at each moment, the difference in coordinate position between the two is calculated. Through these calculations, the positioning error between each sensor positioning data and the DR odometer data is obtained. These error values will serve as an important basis for subsequent judgment and decision-making.
[0056] Step S130: If only one sensor positioning data in the multi-sensor positioning data is in an active positioning state, determine the available fusion positioning data source based on the positioning error between the active sensor positioning data and the DR odometer data.
[0057] To meet the positioning requirements of certain special scenarios, it is necessary to determine the validity of the positioning data from each sensor based on its positioning status. Each sensor has its own status monitoring mechanism. For example, an RTK positioning system may determine its positioning status based on factors such as the quality of satellite signals and the transmission of differential data, while a laser SLAM positioning system may determine its positioning status based on factors such as the quality of point cloud map construction and the success rate of feature matching.
[0058] When only one sensor positioning data in the multi-sensor positioning data is in an active positioning state, the positioning error between the active sensor positioning data and the DR odometer data is obtained according to the calculation result of step S120. This is used to determine whether the current DR odometer data is reliable. If the DR odometer data is reliable, it is used as a usable fusion positioning data source. Otherwise, the active sensor positioning data is used as a usable fusion positioning data source for subsequent fusion positioning.
[0059] Step S140: Perform fusion positioning based on the available fusion positioning data source to obtain the fusion positioning result of the autonomous vehicle.
[0060] After identifying available fusion localization data sources, the Kalman filter algorithm can be used for fusion localization. In the fusion localization of autonomous vehicles, the available fusion localization data sources are used as observations, combined with the vehicle's motion model (e.g., uniform motion model, uniform acceleration motion model, etc.) as the state transition model, and the Kalman filter algorithm is used to continuously update and estimate the vehicle's position, velocity, and other state parameters.
[0061] The fusion positioning method for autonomous vehicles provided in this application comprehensively acquires multi-sensor positioning data and DR odometer data, and calculates the positioning error between them. When only one sensor positioning data is effective, it can reasonably determine whether the DR odometer data is available based on the positioning error, thereby flexibly determining the available fusion positioning data source. This avoids the problem of inaccurate positioning caused by excessive DR odometer data error, and effectively improves the positioning accuracy and stability of autonomous vehicles in various complex environments.
[0062] In some embodiments of this application, acquiring multi-sensor positioning data and DR odometer data of an autonomous vehicle includes: real-time caching of multi-sensor positioning data within a first preset time period, wherein the multi-sensor positioning data includes RTK positioning data, laser SLAM positioning data, visual positioning data, and fused positioning data; real-time caching of wheel speed data and IMU data within the first preset time period; and performing trajectory extrapolation based on the cached wheel speed data, IMU data, and the fused positioning data to obtain the DR odometer data.
[0063] During the operation of autonomous vehicles, a data cache area can be set for multi-sensor positioning data. This multi-sensor positioning data includes RTK positioning data, LiDAR SLAM positioning data, visual positioning data, and fused positioning data. Positioning data from these different types of sensors is continuously stored in the cache at set time intervals, with the cached data spanning a first preset time period, for example, 1.5 seconds.
[0064] Similarly, corresponding caching mechanisms are also set up for wheel speed data and IMU data. Wheel speed data reflects the rotational speed of the vehicle's tires, while IMU data contains motion information such as the vehicle's acceleration and angular velocity. The vehicle's data acquisition system acquires the data output from the wheel speed sensor and IMU sensor in real time and caches this data for a first preset time period.
[0065] After caching multi-sensor positioning data, wheel speed data, and IMU data, trajectory extrapolation is performed using this cached wheel speed and IMU data, along with fused positioning data, to obtain DR (Depth-of-Traffic) odometry data. Specifically, wheel speed and IMU data are first read from the cache. Wheel speed data is used to calculate the vehicle's travel distance over a period of time, while IMU data provides information on the vehicle's direction of motion and attitude changes. Simultaneously, fused positioning data provides an initial position reference for trajectory extrapolation. Based on the vehicle's motion model, and combining wheel speed, IMU data, and initial position information, the vehicle's position changes within a first preset time period are calculated through integration and other methods, thus obtaining DR odometry data. This data reflects the vehicle's position trajectory extrapolated based on its own motion information.
[0066] This application embodiment caches multi-sensor positioning data, wheel speed data, and IMU data in real time within a first preset time period, and obtains DR odometer data based on these cached data for trajectory extrapolation, providing a comprehensive and reliable data foundation for the positioning of autonomous vehicles.
[0067] In some embodiments of this application, the step of performing trajectory extrapolation based on cached wheel speed data, IMU data, and the fused positioning data to obtain the DR odometer data includes: performing lever arm compensation on the wheel speed data to obtain compensated wheel speed data; performing installation error compensation on the IMU data to obtain compensated IMU data; and performing trajectory extrapolation based on the compensated wheel speed data, the compensated IMU data, and the fused positioning data to obtain the DR odometer data.
[0068] In autonomous vehicles, wheel speed sensors are typically mounted at a distance from the vehicle's center of gravity. This positional difference introduces errors when measuring wheel speeds and using them for trajectory prediction, a phenomenon known as the lever arm effect. To eliminate this error, lever arm compensation is required for the wheel speed data. Specifically, the length and direction vector of the lever arm relative to the vehicle's center of gravity are first precisely measured. During vehicle movement, combined with vehicle acceleration information measured by the IMU (Integrated Vehicle Measurement Unit), the additional error value introduced by the lever arm effect is calculated using a specific mathematical model based on the lever arm principle. This additional error value is then subtracted from the original wheel speed data to obtain compensated wheel speed data, which more accurately reflects the vehicle's velocity relative to the center of gravity.
[0069] The installation of an IMU on a vehicle may not be perfect, with installation errors such as angle deviations. These errors can introduce extra components into the acceleration and angular velocity data measured by the IMU, affecting the accuracy of trajectory projection. Therefore, installation error compensation is necessary for the IMU data. First, the IMU is calibrated when the vehicle is stationary and level, determining its installation error parameters, such as the angle deviations along the three axes. During vehicle operation, based on these pre-calibrated installation error parameters, the real-time acceleration and angular velocity data measured by the IMU are corrected using coordinate transformation matrices and other methods to eliminate the influence of installation errors, resulting in compensated IMU data that accurately reflects the actual motion state of the vehicle.
[0070] After obtaining the compensated wheel speed data and compensated IMU data, trajectory extrapolation is performed by combining the fused positioning data. The fused positioning data provides initial position and attitude information for trajectory extrapolation. Starting from the initial position determined by the fused positioning data, the vehicle's travel distance in each time interval is calculated based on the compensated wheel speed data. Simultaneously, the vehicle's motion direction and attitude change information are obtained using the compensated IMU data. Through methods such as integration, the vehicle's position changes in each time interval are accumulated, and the vehicle's position trajectory in the first preset time period is gradually extrapolated, ultimately obtaining the DR (Dashboard Odometer) data.
[0071] This application's embodiments effectively eliminate measurement errors introduced by suboptimal sensor installation positions and angles by performing lever arm compensation on wheel speed data and installation error compensation on IMU data, significantly improving the accuracy of wheel speed and IMU data. The DR (Distance Tracking) odometry data obtained from trajectory extrapolation based on this compensated, accurate data can more realistically and accurately reflect changes in the vehicle's position. This provides more reliable foundational data for the positioning system of autonomous vehicles, helping to improve the accuracy and stability of the entire positioning system, reduce positioning deviations caused by data errors, and thus enhance the safety and reliability of autonomous vehicles in complex environments.
[0072] In some embodiments of this application, the step of calculating the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data includes: calculating the positioning error between each sensor positioning data and the DR odometer data in real time based on the multi-sensor positioning data and the DR odometer data; and caching the real-time calculated positioning error between each sensor positioning data and the DR odometer data according to a preset caching strategy, wherein the preset caching strategy includes caching according to a second preset time period or caching according to the mileage accuracy of the DR odometer.
[0073] For each received multi-sensor positioning data moment by moment, it is compared and analyzed with the DR odometry data at the same moment. Specifically, the distance difference between the two is calculated and can be decomposed into lateral and longitudinal errors. Through these calculations, the positioning error between each sensor's positioning data and the DR odometry data is obtained in real time. Then, a preset caching strategy is used to cache the real-time calculated positioning error data. The preset caching strategy can take the following two forms:
[0074] (1) Cache according to the second preset time period: Set a time threshold, i.e. the second preset time period, for example, 1 second. Continuously record the real-time calculated positioning error and store these error data in the cache in chronological order. When the time span of the data in the cache reaches 1 second, stop caching the data before the current moment. The newly calculated positioning error will overwrite the earliest data in the cache, so as to ensure that the positioning error data within the most recent 1 second is always stored in the cache.
[0075] (2) Cache mileage accuracy according to DR odometer: Set a mileage threshold, such as 30m, based on the mileage accuracy of the DR odometer. During vehicle operation, monitor the vehicle mileage recorded by the DR odometer in real time. Whenever the vehicle mileage reaches 30m, cache the positioning error data calculated in real time within this mileage range. The newly calculated positioning error will then overwrite the data in the corresponding mileage range in the previous cache, ensuring that the cache stores the positioning error data within the most recent 30m of driving mileage.
[0076] By calculating the positioning errors between various sensor positioning data and DR odometer data in real time, the differences between different data sources can be grasped promptly, providing a real-time basis for subsequently judging the reliability and accuracy of each data source. Furthermore, employing a preset caching strategy to cache positioning errors ensures that representative and timely positioning error data within a certain range is cached. This cached data can be used for subsequent analysis of the stability and trends of sensor positioning data and DR odometer data, helping to more accurately assess the quality of each data source.
[0077] In some embodiments of this application, the fusion localization method for autonomous vehicles further includes: determining the localization state of the RTK localization data based on the differential state of the RTK localization data; determining the localization state of the laser SLAM localization data based on the confidence level of the laser SLAM localization data; and determining the localization state of the visual localization data based on the confidence level of the visual localization data.
[0078] RTK positioning systems improve positioning accuracy by receiving differential information from a base station. They monitor the differential status of RTK positioning data in real time, which typically includes several states, such as no differential, floating-point solution, and fixed solution. A fixed solution indicates a high level of positioning accuracy, providing relatively accurate location information for the vehicle. When RTK positioning data is acquired, if its differential status is a fixed solution, the positioning status of that RTK positioning data is determined to be active.
[0079] During laser SLAM localization, a confidence index is calculated for each localization result, reflecting the reliability of the result. Based on the actual application scenario and the characteristics of the laser SLAM algorithm, a confidence threshold for laser SLAM localization is preset. After acquiring laser SLAM localization data, this value is compared with the preset confidence threshold. If the confidence value is greater than the confidence threshold, the laser SLAM localization result is preliminarily considered relatively reliable, and the localization status of the laser SLAM localization data is determined to be active.
[0080] Similar to laser SLAM, a confidence score is calculated for each positioning result during the visual positioning process. Simultaneously, a confidence threshold for visual positioning is set based on the performance of the visual positioning algorithm and practical application requirements. After acquiring visual positioning data, it is compared with the preset visual positioning confidence threshold. If the confidence value is greater than the threshold, it indicates that the visual positioning result is highly reliable, and the positioning status of this visual positioning data is preliminarily considered valid.
[0081] The embodiments of this application can preliminarily determine the positioning status of each positioning data source based on the differential state of RTK positioning data, the confidence level of laser SLAM positioning data, and the confidence level of visual positioning data, providing strong support for the subsequent determination of the fusion positioning data source.
[0082] In some embodiments of this application, the positioning error includes the current positioning error and the historical positioning error. The step of determining the available fusion positioning data source based on the positioning error between the sensor positioning data in the active state and the DR odometer data includes: comparing the current positioning error and the historical positioning error with preset error thresholds respectively to obtain comparison results; calculating the difference between the current positioning error and the historical positioning error; and determining the available fusion positioning data source based on the comparison results and the difference between the current positioning error and the historical positioning error.
[0083] Based on the positioning error data cached in the aforementioned embodiments, the current positioning error and historical positioning errors (such as the positioning error 1 second ago or the positioning error 30 meters ago) can be obtained. Preset error thresholds are established for positioning data from different sensors. These thresholds are determined comprehensively based on factors such as the performance characteristics of each sensor and the positioning accuracy requirements of the actual application scenario. The current positioning error and historical positioning error are compared with the preset error thresholds respectively. Furthermore, to gain a deeper understanding of the dynamic changes in positioning errors, the difference between the current positioning error and the historical positioning error is calculated.
[0084] Based on the above comparison results and the difference between the current positioning error and the historical positioning error, the data source that can be used for subsequent fusion positioning is determined according to the preset rules. The rules here are mainly used to determine whether the DR data source is reliable when only single sensor positioning data is available, so as to avoid fusing unreliable DR data in such extreme scenarios as much as possible, thereby affecting the accuracy of the fusion positioning result.
[0085] This application's embodiments comprehensively evaluate the reliability and stability of sensor positioning data by subdividing the positioning error into the current-moment positioning error and the historical positioning error, comparing each with a preset error threshold, and calculating the difference between the two. This comprehensive evaluation method can more accurately grasp the quality of sensor positioning data, avoiding the one-sidedness of judging solely based on errors at a single moment. Based on such evaluation results, usable fusion positioning data sources are determined, enabling the fusion positioning system to more intelligently select high-quality data for fusion, effectively improving the accuracy and reliability of fusion positioning.
[0086] In some embodiments of this application, determining the available fusion positioning data source based on the comparison result and the difference between the current positioning error and the historical positioning error includes: if both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is less than a preset difference threshold, then the available fusion positioning data source is determined to be the sensor positioning data in the active state; if both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is not less than a preset difference threshold, then the available fusion positioning data source is determined to be the DR odometer data.
[0087] If both the current positioning error and the historical positioning error exceed a preset error threshold, further analysis of the difference between them is performed. If the calculated difference between the current positioning error and the historical positioning error is less than the preset difference threshold, this indicates that the positioning error has remained relatively large over a period of time. Since the DR odometer is based on the vehicle's own motion information for positioning calculation, in this case, it can be inferred that the DR odometer's positioning is inaccurate and its data reliability is low. Although the sensor positioning data currently has a large error, considering the DR odometer's issues, the available fusion positioning data source is determined to be the sensor positioning data in its active state, in order to utilize the relatively more reliable sensor positioning information (although there are errors, they are not caused by errors in the DR's own motion calculations).
[0088] Similarly, assuming both the current positioning error and the historical positioning error are greater than the preset error threshold, if the difference between the current positioning error and the historical positioning error is not less than the preset difference threshold, this indicates a significant change in the positioning error. Since the sensor positioning data shows large errors and significant variations at both times, it suggests that the sensor positioning may be affected by external interference or other factors, casting doubt on the data's reliability. However, the large error variation at this point indicates that the DR odometer's positioning calculation process is relatively normal, and its data better reflects the vehicle's actual movement. Therefore, the usable data source for fusion positioning is determined to be the DR odometer data.
[0089] This application embodiment determines the available fusion positioning data source by comprehensively considering the current positioning error, historical positioning error, and the difference between them, and setting corresponding judgment conditions. It can intelligently select more reliable positioning data according to the changes in positioning error, avoiding the positioning inaccuracy problem that may be caused by relying solely on sensor positioning data or DR odometry data, thereby improving the performance and reliability of the entire autonomous driving system.
[0090] 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 fusion positioning device 200 for the autonomous vehicle includes: an acquisition unit 210, a calculation unit 220, a first determination unit 230, and a fusion positioning unit 240, wherein:
[0091] Acquisition unit 210 is used to acquire multi-sensor positioning data and DR odometer data of autonomous vehicles;
[0092] The calculation unit 220 is used to calculate the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data, respectively.
[0093] The first determining unit 230 is used to determine the available fusion positioning data source based on the positioning error between the sensor positioning data in the effective state and the DR odometer data when only one sensor positioning data in the multi-sensor positioning data is in an effective state.
[0094] The fusion positioning unit 240 is used to perform fusion positioning based on the available fusion positioning data source to obtain the fusion positioning result of the autonomous vehicle.
[0095] In some embodiments of this application, the acquisition unit 210 is specifically used for: real-time caching of multi-sensor positioning data within a first preset time period, the multi-sensor positioning data including RTK positioning data, laser SLAM positioning data, visual positioning data, and fused positioning data; real-time caching of wheel speed data and IMU data within the first preset time period; and performing trajectory extrapolation based on the cached wheel speed data, IMU data, and the fused positioning data to obtain the DR odometry data.
[0096] In some embodiments of this application, the acquisition unit 210 is specifically used for: performing lever arm compensation on the wheel speed data to obtain compensated wheel speed data; performing installation error compensation on the IMU data to obtain compensated IMU data; and performing trajectory extrapolation based on the compensated wheel speed data, the compensated IMU data, and the fused positioning data to obtain the DR odometer data.
[0097] In some embodiments of this application, the calculation unit 220 is specifically used to: calculate the positioning error between each sensor positioning data and the DR odometer data in real time based on the multi-sensor positioning data and the DR odometer data; and cache the positioning error between each sensor positioning data and the DR odometer data calculated in real time according to a preset caching strategy, wherein the preset caching strategy includes caching according to a second preset time period or caching according to the mileage accuracy of the DR odometer.
[0098] In some embodiments of this application, the fusion positioning device 200 for the autonomous vehicle further includes: a second determining unit, configured to determine the positioning state of the RTK positioning data based on the differential state of the RTK positioning data; a third determining unit, configured to determine the positioning state of the laser SLAM positioning data based on the confidence level of the laser SLAM positioning data; and a fourth determining unit, configured to determine the positioning state of the visual positioning data based on the confidence level of the visual positioning data.
[0099] In some embodiments of this application, the positioning error includes the current positioning error and the historical positioning error. The first determining unit 230 is specifically used to: compare the current positioning error and the historical positioning error with a preset error threshold respectively to obtain a comparison result; calculate the difference between the current positioning error and the historical positioning error; and determine the available fusion positioning data source based on the comparison result and the difference between the current positioning error and the historical positioning error.
[0100] In some embodiments of this application, the first determining unit 230 is specifically configured to: if both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is less than a preset difference threshold, then determine that the available fusion positioning data source is the sensor positioning data of the active state; if both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is not less than a preset difference threshold, then determine that the available fusion positioning data source is the DR odometer data.
[0101] 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.
[0102] Figure 3 This is a schematic diagram of the structure of a device according to an embodiment of this application. For example... Figure 3 As shown, the device includes one or more processors (or processing units), and may also include one or more memories coupled to the processors, and may also include a communication module coupled to the processors.
[0103] A communication module can be used to communicate with other devices or apparatuses, such as sending or receiving data and / or signals. A communication module may have at least one communication module for communication. A communication module may include any interface necessary for communicating with other devices. Exemplarily, a communication module may be a transceiver, circuit, bus, module, or other type of communication module.
[0104] The processor may include, but is not limited to, one or more of the following: a general-purpose computer, a special-purpose computer, a microcontroller, a digital signal processor (DSP), or a controller-based multi-core controller architecture. The device may have multiple processors, such as application-specific integrated circuit (ASIC) chips, which are time-dependent on a clock synchronized with the main processor.
[0105] The memory may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, at least one of the following: read-only memory (ROM), electrically programmable read-only memory (EPROM), flash memory, hard disk, compact disc (CD), digital video disc (DVD), or other magnetic and / or optical storage. Examples of volatile memories include, but are not limited to, at least one of the following: random access memory (RAM), or other volatile memories that do not persist during the duration of a power outage.
[0106] A computer program consists of computer-executable instructions that are executed by an associated processor. Programs can be stored in ROM. A processor can perform any appropriate action and processing by loading the program into RAM.
[0107] Possible implementations of this application can be achieved through a program, enabling the communication device to execute any of the processes discussed in the foregoing embodiments. Possible implementations of this application can also be achieved through hardware or a combination of software and hardware.
[0108] In some implementations, the program may be tangibly contained in a computer-readable storage medium, which may include in a device (such as in memory) or other storage device accessible by the device. The program may be loaded from the computer-readable storage medium into RAM for execution. The computer-readable storage medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc.
[0109] This application also provides a computer-readable storage medium storing computer instructions or program code thereon, which, when executed by a processor, causes the processor to perform the methods and functions involved in any of the above embodiments. A computer-readable medium can be any tangible medium that contains or stores a program for or relating to an instruction execution system, apparatus, or device. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. More detailed examples of computer-readable storage media include electrical connections with one or more wires, magnetic media (e.g., disks, floppy disks, hard disks, magnetic tapes, magnetic storage devices), optical media (e.g., optical storage devices, DVDs), semiconductor media (e.g., solid-state drives), random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), or any suitable combination thereof.
[0110] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. Embodiments of this application also provide at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. This computer program product includes one or more computer-executable instructions, such as instructions included in a program module, which execute in a device on a target real or virtual processor to perform the processes, methods, and functions involved in any of the above embodiments. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means.
[0111] This application also proposes a computer program product, including a computer program or instructions that, when run on a computer, cause the computer to perform the processes, methods, and functions described in the above embodiments. Typically, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can be combined or divided as needed. The machine-executable instructions for the program modules can be executed locally or in a distributed device. In a distributed device, the program modules can reside in both local and remote storage media.
[0112] Generally, the various embodiments of this application can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects can be implemented in hardware, while others can be implemented in firmware or software, which can be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of this disclosure are shown and described as block diagrams, flowcharts, or represented using some other illustration, it should be understood that the blocks, apparatuses, systems, techniques, or methods described herein can be implemented as, as non-limiting examples, in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.
[0113] It should be noted that although embodiments of this application have been described above with reference to the accompanying drawings, these embodiments are not independent of each other, and they can be combined to obtain other embodiments. The methods, situations, categories, and classifications of embodiments in this application are only for the convenience of description and should not constitute a special limitation. Various methods, categories, situations, and features in embodiments can be combined with each other if logically consistent. The various embodiments of this application can be arbitrarily combined to achieve different technical effects. The embodiments of this application will not list various combinations.
[0114] Furthermore, although the operation of the methods of this disclosure is described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all of the operations shown must be performed to achieve the desired result. Rather, the steps depicted in the flowcharts may be performed in a different order. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps. It should also be noted that the features and functions of two or more devices according to this disclosure may be embodied in one device. Conversely, the features and functions of one device described above may be further divided and embodied by multiple devices.
[0115] 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.
[0116] 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, characterized in that, The fusion localization method for the autonomous vehicle includes: Acquire multi-sensor positioning data and DR (radio rate) odometry data from autonomous vehicles; Calculate the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data respectively. If only one sensor positioning data is active in the multi-sensor positioning data, the available fusion positioning data source is determined based on the positioning error between the active sensor positioning data and the DR odometer data. The fusion positioning result of the autonomous vehicle is obtained by performing fusion positioning based on the available fusion positioning data source.
2. The fusion positioning method for autonomous vehicles according to claim 1, characterized in that, The acquisition of multi-sensor positioning data and DR odometry data of autonomous vehicles includes: Real-time caching of multi-sensor positioning data within a first preset time period, the multi-sensor positioning data including RTK positioning data, laser SLAM positioning data, visual positioning data, and fused positioning data; Real-time caching of wheel speed data and IMU data within a first preset time period; The DR odometry data is obtained by performing trajectory extrapolation based on the cached wheel speed data, IMU data, and the fused positioning data.
3. The fusion positioning method for autonomous vehicles according to claim 2, characterized in that, The process of extrapolating the trajectory based on the cached wheel speed data, IMU data, and the fused positioning data to obtain the DR odometry data includes: Perform lever arm compensation on the wheel speed data to obtain compensated wheel speed data; The installation error is compensated for by the IMU data to obtain the compensated IMU data; The DR odometry data is obtained by performing trajectory extrapolation based on the compensated wheel speed data, the compensated IMU data, and the fused positioning data.
4. The fusion positioning method for autonomous vehicles according to claim 1, characterized in that, The step of calculating the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data includes: Based on the multi-sensor positioning data and the DR odometer data, the positioning error between each sensor positioning data and the DR odometer data is calculated in real time. The positioning error between the real-time calculated positioning data of each sensor and the DR odometer data is cached according to a preset caching strategy, which includes caching according to a second preset time period or caching according to the mileage accuracy of the DR odometer.
5. The fusion positioning method for autonomous vehicles according to claim 2, characterized in that, The fusion localization method for autonomous vehicles also includes: The positioning status of the RTK positioning data is determined based on the differential status of the RTK positioning data. The positioning status of the laser SLAM positioning data is determined based on the confidence level of the laser SLAM positioning data. The positioning status of the visual positioning data is determined based on the confidence level of the visual positioning data.
6. The fusion positioning method for autonomous vehicles according to claim 1, characterized in that, The positioning error includes the current positioning error and the historical positioning error. The step of determining the available fusion positioning data source based on the positioning error between the sensor positioning data in the active state and the DR odometry data includes: The current positioning error and the historical positioning error are compared with preset error thresholds to obtain comparison results. Calculate the difference between the current positioning error and the historical positioning error; Based on the comparison results and the difference between the current positioning error and the historical positioning error, the available fusion positioning data source is determined.
7. The fusion positioning method for autonomous vehicles according to claim 6, characterized in that, The step of determining the available fused positioning data source based on the comparison result and the difference between the current positioning error and the historical positioning error includes: If both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is less than a preset difference threshold, then the available fusion positioning data source is determined to be the sensor positioning data of the active state. If both the current positioning error and the historical positioning error are greater than a preset error threshold, and the difference between the current positioning error and the historical positioning error is not less than a preset difference threshold, then the available fusion positioning data source is determined to be the DR odometer data.
8. A fusion positioning device for an autonomous vehicle, characterized in that, The fusion positioning device for the autonomous vehicle includes: The acquisition unit is used to acquire multi-sensor positioning data and DR odometry data of autonomous vehicles; The calculation unit is used to calculate the positioning error between each sensor positioning data and the DR odometer data based on the multi-sensor positioning data and the DR odometer data, respectively. The first determining unit is used to determine the available fusion positioning data source based on the positioning error between the sensor positioning data in the effective state and the DR odometer data when only one sensor positioning data in the multi-sensor positioning data is in an effective state. The fusion positioning unit is used to perform fusion positioning based on the available fusion positioning data source to obtain the fusion positioning result of the autonomous vehicle.
9. An apparatus comprising: processor; And a memory arranged to store computer-executable instructions, which, when executed, cause the processor to perform the fusion positioning method for the autonomous vehicle according to any one of claims 1 to 7.
10. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the fusion positioning method for the autonomous vehicle according to any one of claims 1 to 7.