Sensor data alignment method and device, vehicle and storage medium

By utilizing the reference data in the inertial sensor data queue and the candidate data in the measurement data queue, the time alignment of the sensor data is achieved based on the current positioning error of the vehicle, solving the problem of high hardware synchronization cost in the prior art, and simplifying the system architecture And improve alignment accuracy.

CN119321760APending Publication Date: 2025-01-17CHINA FAW CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411369566.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-17

AI Technical Summary

Technical Problem

Existing sensor data alignment methods usually rely on hardware hard synchronization, resulting in high cost and complexity, making it difficult to achieve efficient timestamp alignment.

Method used

By acquiring the reference data in the inertial sensor data queue, acquiring candidate data from the measurement data queue based on its acquisition time, and determining the target data based on the time identification of the current positioning error of the vehicle, the time alignment of different sensor data is achieved.

Benefits of technology

Without the need for additional hardware equipment, the cost and complexity of sensor data alignment is reduced, the system architecture and data processing process is simplified, and the accuracy of time alignment is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119321760A_ABST
    Figure CN119321760A_ABST
Patent Text Reader

Abstract

The invention discloses a sensor data alignment method and device, a vehicle and a storage medium, and relates to the technical field of automatic driving. The method comprises the following steps: acquiring an inertial data queue obtained by measuring a vehicle by an inertial sensor, and selecting reference inertial data from the inertial data queue; obtaining a measurement data queue obtained by measuring the vehicle by the measurement sensor, and obtaining candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; determining a current positioning error of the vehicle according to the reference inertial data; and determining target measurement data from the candidate measurement data based on the time identifier of the current positioning error of the vehicle. Through the technical scheme of the embodiment of the invention, the cost and complexity of sensor data alignment can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of autonomous driving technology, and in particular to a sensor data alignment method, device, vehicle and storage medium. Background Art

[0002] With the rapid development of autonomous driving technology, the determination of the vehicle's posture (i.e., position and attitude) has become a crucial link. Accurate estimation of posture not only directly affects the vehicle's navigation, obstacle avoidance, and path planning capabilities, but is also directly related to the safety and stability of vehicle driving. In order to improve the accuracy and robustness of posture determination, the industry generally adopts multi-sensor fusion positioning technology, which integrates multiple sensors such as global positioning system, inertial navigation system, lidar, millimeter-wave radar, camera, etc. to comprehensively utilize the advantages of each sensor. However, in actual applications, due to differences in the triggering mechanism, data processing speed, and communication protocol of different sensors, the timestamps of sensor data are often inconsistent, and there are problems such as trigger delay, processing delay, and transmission delay.

[0003] To address the above issues, existing sensor data alignment methods usually use hardware hard synchronization, that is, forcibly synchronizing the time of each sensor through an external clock source or a dedicated synchronization device. Although this method can effectively reduce time deviation, it often increases the cost and complexity of the system.

[0004] Therefore, it is urgent to propose a new method to solve the above problems. Summary of the invention

[0005] The present invention provides a sensor data alignment method, device, vehicle and storage medium, which can reduce the cost and complexity of sensor data alignment.

[0006] In a first aspect, an embodiment of the present invention provides a sensor data alignment method, comprising:

[0007] Acquire an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue;

[0008] Acquire a measurement data queue obtained by measuring the vehicle using a measurement sensor, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data;

[0009] determining a current positioning error of the vehicle based on the reference inertial data;

[0010] Target measurement data is determined from the candidate measurement data based on a time stamp of a current positioning error of the vehicle.

[0011] The technical solution of the present invention is to obtain an inertial data queue obtained by an inertial sensor to measure a vehicle, and select reference inertial data from the inertial data queue; obtain a measurement data queue obtained by a measurement sensor to measure a vehicle, and obtain candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; determine the current positioning error of the vehicle according to the reference inertial data; and determine the target measurement data from the candidate measurement data based on the time mark of the current positioning error of the vehicle. The above technical solution first obtains an inertial data queue obtained by an inertial sensor to measure a vehicle, and selects reference inertial data from the inertial data queue, which provides a data basis for determining the candidate measurement data later. Then, obtain a measurement data queue obtained by a measurement sensor to measure a vehicle, and obtain candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data, which provides a data basis for determining the target measurement data later. Then, determine the current positioning error of the vehicle according to the reference inertial data, which provides a data basis for determining the target measurement data later. Finally, based on the time mark of the current positioning error of the vehicle, the target measurement data is determined from the candidate measurement data, and the time alignment between different sensor data can be achieved without the help of additional hardware equipment, thereby reducing the cost and complexity of sensor data alignment. Compared with the prior art, although the time of each sensor can be forced to synchronize through an external clock source or a dedicated synchronization device, this method has the problem of high implementation cost and complexity. The present invention selects reference inertial data from the inertial data queue, and then obtains candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; then determines the current positioning error of the vehicle according to the reference inertial data; finally, based on the time mark of the current positioning error of the vehicle, the target measurement data is determined from the candidate measurement data, thereby achieving time alignment between different sensor data. Therefore, the present invention does not require additional hardware equipment to achieve sensor data alignment, while avoiding complex hardware synchronization mechanisms, simplifying the system architecture and data processing flow, thereby reducing the cost and complexity of sensor data alignment.

[0012] In a second aspect, an embodiment of the present invention further provides a sensor data alignment device, the device comprising:

[0013] An inertial acquisition module is used to acquire an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue;

[0014] A measurement acquisition module, used to acquire a measurement data queue obtained by a measurement sensor measuring the vehicle, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data;

[0015] an error determination module, configured to determine a current positioning error of the vehicle based on the reference inertial data;

[0016] An alignment module is used to determine target measurement data from the candidate measurement data based on a time mark of a current positioning error of the vehicle.

[0017] In a third aspect, an embodiment of the present invention further provides a vehicle, the vehicle comprising:

[0018] at least one processor; and a memory communicatively coupled to the at least one processor;

[0019] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can implement any sensor data alignment method described in the first aspect.

[0020] In a fourth aspect, an embodiment of the present invention further provides a storage medium including computer executable instructions,

[0021] The computer executable instructions, when executed by a computer processor, implement any sensor data alignment method described in the first aspect.

[0022] It should be noted that the above computer instructions may be stored in whole or in part on a computer-readable storage medium, wherein the computer-readable storage medium may be packaged together with the processor of the sensor data alignment device, or may be packaged separately from the processor of the sensor data alignment device, which is not limited in this application.

[0023] The description of the second, third and fourth aspects in this application can refer to the detailed description of the first aspect; and the beneficial effects of the description of the second, third and fourth aspects can refer to the beneficial effect analysis of the first aspect, which will not be repeated here.

[0024] In this application, the name of the sensor data alignment device does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear with other names. As long as the functions of each device or functional module are similar to those of this application, they fall within the scope of the claims of this application and their equivalent technologies.

[0025] These and other aspects of the present application will become more apparent from the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0027] Figure 1 A flow chart of a sensor data alignment method provided by an embodiment of the present invention;

[0028] Figure 2a A flowchart of another sensor data alignment method provided by an embodiment of the present invention;

[0029] Figure 2b An example diagram of the delay time of measurement data provided by an embodiment of the present invention;

[0030] Figure 2c An example diagram of selecting target measurement data from candidate measurement data after interpolation processing provided by an embodiment of the present invention;

[0031] Figure 2d A flowchart for determining target location information provided by an embodiment of the present invention;

[0032] Figure 3 A schematic diagram of the structure of a sensor data alignment device provided by an embodiment of the present invention;

[0033] Figure 4 A schematic structural diagram of a vehicle provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0034] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

[0035] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0036] The terms "first" and "second" and the like in the specification and drawings of this application are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects.

[0037] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0038] It should be mentioned before discussing exemplary embodiments in more detail that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow charts describe various operations (or steps) as sequential processes, many operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of various operations can be rearranged. The process can be terminated when its operation is completed, but can also have additional steps not included in the accompanying drawings. The process can correspond to methods, functions, procedures, subroutines, subprograms, etc. In addition, the embodiments in the present invention and the features in the embodiments can be combined with each other without conflict.

[0039] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0040] In the description of the present application, unless otherwise specified, “plurality” means two or more.

[0041] Figure 1 A flowchart of a sensor data alignment method provided by an embodiment of the present invention. This embodiment is applicable to situations where sensor data needs to be aligned. The method can be executed by a sensor data alignment device, which can be implemented in software and / or hardware. For example, the device can be a vehicle. Figure 1 The sensor data alignment method of this embodiment specifically includes the following steps:

[0042] Step 110: Obtain an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue.

[0043] Specifically, an inertial sensor refers to a sensor that measures the motion parameters (such as acceleration, angular velocity, etc.) of an object (such as a vehicle). For example, an inertial sensor may be an accelerometer and / or a gyroscope. An inertial data queue refers to a collection of a series of inertial data continuously collected by an inertial sensor, which are arranged in chronological order to form an ordered queue for subsequent processing. Reference inertial data refers to one or more specific data points (with the same collection time) selected from the inertial data queue, which are used as a reference for time synchronization with data from other sensors (such as measurement sensors). For example, reference inertial data may be the acceleration, angular velocity, accelerometer bias, angular velocity bias, velocity disturbance, attitude angle disturbance, acceleration disturbance and / or angular velocity disturbance of a vehicle.

[0044] In a specific implementation, the inertial data queue obtained by measuring the vehicle with the inertial sensor can be obtained from the storage medium storing the inertial data queue, and then the reference inertial data can be selected from the inertial data queue according to the preset acquisition rules. The preset acquisition rules are rules for selecting reference inertial data set in advance according to actual conditions or needs. For example, the preset acquisition rules can be to directly select the head inertial data in the inertial data queue as the reference inertial data. The preset acquisition rules can also be to determine the head inertial data as the reference inertial data when the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue is greater than one second.

[0045] It should be noted that after the inertial sensor is started, it will periodically measure the vehicle's inertial data at a preset sampling rate and generate a series of data points. The collected inertial data will then be stored in an inertial data queue in chronological order. The queue will be saved in the vehicle's storage medium (such as dynamic random access memory or non-volatile memory, etc.) to ensure data persistence.

[0046] In this embodiment, an inertial data queue obtained by measuring the vehicle using an inertial sensor is acquired, and reference inertial data is selected from the inertial data queue, thereby providing a data basis for subsequently determining candidate measurement data.

[0047] Step 120 : Obtain a measurement data queue obtained by measuring the vehicle using a measurement sensor, and obtain candidate measurement data from the measurement data queue according to the collection time of the reference inertial data.

[0048] Specifically, the measurement sensor refers to other types of sensors other than inertial sensors, for example, the measurement sensor may be a global navigation satellite system receiver, a camera and / or a lidar, etc. The measurement data queue refers to a collection of a series of data continuously collected by the measurement sensor, which are arranged in chronological order to form an ordered queue for time synchronization. The acquisition time of the reference inertial data refers to the time point when the inertial sensor obtains the reference inertial data. The candidate measurement data refers to a data set that is selected from the measurement data queue based on the acquisition time of the reference inertial data and has a collection time close to that of the reference inertial data.

[0049] In a specific implementation, a measurement data queue obtained by measuring the vehicle using a measurement sensor can be obtained from a storage medium storing the measurement data queue, and then candidate measurement data can be obtained from the measurement data queue based on the collection time of the reference inertial data. Specifically, the measurement data in the measurement data queue whose collection time is earlier than the collection time of the reference inertial data can be determined as candidate measurement data. The difference between the collection time of each measurement data in the measurement data queue and the collection time of the reference inertial data can also be calculated, and then the measurement data whose difference is less than the preset difference can be determined as candidate measurement data. The preset difference is a time threshold set according to actual conditions or needs, for example, the preset difference can be 0.1 seconds.

[0050] It should be noted that after being started, the measurement sensor will periodically measure the vehicle's measurement data at a preset sampling rate and generate a series of data points. The collected measurement data will then be stored in a measurement data queue in chronological order. The queue will be saved in the vehicle's storage medium (such as dynamic random access memory or non-volatile memory, etc.) to ensure the persistence of the data.

[0051] In this embodiment, a measurement data queue obtained by measuring the vehicle using a measurement sensor is obtained, and candidate measurement data is obtained from the measurement data queue according to the collection time of the reference inertial data, thereby providing a data basis for subsequently determining the target measurement data.

[0052] Step 130: Determine the current positioning error of the vehicle according to the reference inertial data.

[0053] Specifically, the current positioning error refers to the deviation between the actual position of the vehicle and its estimated position. For example, the current positioning error may include position error, velocity error, attitude angle error, acceleration deviation error, angular velocity deviation error and / or gravity acceleration error.

[0054] In the specific implementation, the reference inertial data can be first filtered based on Kalman filtering, complementary filtering or low-pass filtering to remove high-frequency noise and outliers. Then the historical positioning error of the vehicle can be obtained from the vehicle database, and the error state transfer matrix, noise input matrix and disturbance amount of the vehicle can be determined according to the actual situation or needs. After that, the current positioning error of the vehicle can be determined according to the reference inertial data of the vehicle, historical positioning error, error state transfer matrix, noise input matrix and disturbance amount. The specific calculation formula is as follows:

[0055] δx=F X ·δz+F Y ·Υ

[0056] Among them, δx represents the current positioning error of the vehicle, F Xrepresents the error state transfer matrix of the vehicle, δz represents the historical positioning error of the vehicle, and F Y represents the noise input matrix of the vehicle, and Υ represents the disturbance amount.

[0057] For example, δx=[δpδvδθδa b δω b δg] T , Υ=[ν Υ θ Υ a Υ ω Υ ] T ,

[0058]

[0059] Among them, δp represents the position error, δv represents the velocity error, δθ represents the attitude angle error, and δa b Denotes the acceleration deviation error, δω b represents the angular velocity deviation error, δg represents the gravity acceleration error, ν Υ represents the velocity disturbance, θ Υ represents the attitude angle disturbance, a Υ represents the acceleration disturbance, ω Υ represents the angular velocity disturbance, I represents the unit matrix, Δt represents the time step, that is, the time difference from the vehicle's historical position to the current position, R represents the transformation matrix from the inertial coordinate system to the vehicle coordinate system, and a m represents acceleration, a b is the accelerometer zero bias, ω m represents the angular velocity, ω b Indicates the angular velocity zero bias.

[0060] In this embodiment, by determining the current positioning error of the vehicle, a data basis is provided for subsequently determining target measurement data.

[0061] Step 140 : Determine target measurement data from candidate measurement data based on the time stamp of the current positioning error of the vehicle.

[0062] Specifically, the time stamp refers to an identifier of the current positioning error of the vehicle. The target measurement data refers to measurement data aligned with the reference inertial data determined according to the time stamp of the current positioning error among the candidate measurement data.

[0063] In a specific implementation, the collection time of the reference inertial data can be determined as the time mark of the current positioning error of the vehicle, and then the difference between the collection time of the candidate measurement data and the collection time of the reference inertial data can be calculated, and then the candidate measurement data with a time difference of zero can be used as the target measurement data. If there is no candidate measurement data with a time difference of zero, the candidate measurement data can be interpolated based on the time mark of the current positioning error using an interpolation method (such as linear interpolation or polynomial interpolation) to obtain candidate measurement data at a time point corresponding to the time mark of the current positioning error, and the candidate measurement data matching the time mark of the current positioning error is selected from the interpolated candidate measurement data to be determined as the target measurement data, that is, the candidate measurement data at a time point corresponding to the time mark of the current positioning error is determined as the target measurement data.

[0064] In this embodiment, target measurement data is determined from candidate measurement data based on the time mark of the vehicle's current positioning error, and time alignment between different sensor data can be achieved without the aid of additional hardware devices, thereby reducing the cost and complexity of sensor data alignment.

[0065] In an embodiment of the present invention, an inertial data queue obtained by measuring the vehicle using an inertial sensor is first obtained, and reference inertial data is selected from the inertial data queue, providing a data basis for determining candidate measurement data later. Then, a measurement data queue obtained by measuring the vehicle using a measurement sensor is obtained, and candidate measurement data is obtained from the measurement data queue according to the acquisition time of the reference inertial data, providing a data basis for determining target measurement data later. Then, the current positioning error of the vehicle is determined based on the reference inertial data, providing a data basis for determining target measurement data later. Finally, based on the time mark of the current positioning error of the vehicle, the target measurement data is determined from the candidate measurement data, and time alignment between different sensor data can be achieved without the aid of additional hardware devices, thereby reducing the cost and complexity of sensor data alignment. Compared with the prior art, although the time of each sensor can be forced to synchronize through an external clock source or a dedicated synchronization device, this method has the problem of high implementation cost and complexity. The present invention selects reference inertial data from the inertial data queue, and then obtains candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; then determines the current positioning error of the vehicle according to the reference inertial data; and finally determines the target measurement data from the candidate measurement data based on the time mark of the current positioning error of the vehicle, thereby realizing the time alignment between different sensor data. Therefore, the present invention can realize sensor data alignment without the need for additional hardware equipment, while avoiding complex hardware synchronization mechanisms, simplifying the system architecture and data processing flow, and thus reducing the cost and complexity of sensor data alignment.

[0066] Figure 2a A flowchart of another sensor data alignment method provided by an embodiment of the present invention, which is specific based on the above embodiment. In this embodiment, the method may also include:

[0067] Step 210: Obtain an inertial data queue obtained by measuring the vehicle using an inertial sensor.

[0068] Step 211: Calculate the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue.

[0069] Specifically, the head inertial data refers to the first element in the inertial data queue. The tail inertial data refers to the last element in the inertial data queue. The acquisition time difference refers to the difference between the acquisition time of the head inertial data and the tail inertial data, that is, the difference between the timestamps of the two data points.

[0070] In the specific implementation, after obtaining the inertial data queue, the collection time of the head inertial data and the tail inertial data can be obtained by accessing the timestamp fields of the first element and the last element in the queue. Then, the timestamp of the head inertial data is subtracted from the timestamp of the tail inertial data to obtain the collection time difference between the head inertial data and the tail inertial data.

[0071] In this embodiment, by calculating the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue, a data basis is provided for determining the reference inertial data later.

[0072] Step 212: Determine whether the acquisition time difference is less than a preset time difference value.

[0073] If it is less than, execute step 210; if it is not less than, execute step 213.

[0074] Specifically, the preset time difference refers to a time threshold set in advance according to actual conditions or requirements, for example, the preset time difference may be 1 second. For example, the preset time difference may be the maximum delay time among the delay times of multiple measurement data, such as Figure 2b As shown, it can be found that the measurement data includes visual data and global navigation satellite system data, and there is a time delay in both the visual data and the global navigation satellite system data, and the time delay of the visual data is greater than the time delay of the global navigation satellite system data. At this time, the time delay of the visual data can be determined as the preset time difference. For example: when the maximum delay time among the delay times of multiple measurement data is not greater than the preset maximum delay, the maximum delay time among the delay times of multiple measurement data can be determined as the preset time difference, otherwise, the preset maximum delay (such as 1 second) can be directly determined as the preset time difference.

[0075] In a specific implementation, after obtaining the acquisition time difference, it can be determined whether the acquisition time difference is less than the preset time difference value. If not, the head inertial data is determined as the reference inertial data. If less, the inertial data queue obtained by the inertial sensor measuring the vehicle can be obtained, that is, the new tail inertial data can be obtained, and then the acquisition time difference of the head inertial data and the tail inertial data in the inertial data queue can be continued to be calculated.

[0076] Step 213: determine the head inertial data as reference inertial data.

[0077] In a specific implementation, after determining that the acquisition time difference is not less than a preset time difference value, the head inertial data can be determined as the reference inertial data, ensuring that the time delay between different sensors is taken into account during data processing, thereby helping to achieve time alignment between different sensor data.

[0078] Step 214 : Acquire candidate measurement data from the measurement data queue according to the collection time of the reference inertial data.

[0079] Further, step 214 may specifically include: calculating the difference between the acquisition time of the reference inertial data and the acquisition time of the previous frame of inertial data of the reference inertial data to obtain the inter-frame time difference, and setting the first measurement data selection condition based on the inter-frame time difference; selecting measurement data whose acquisition time meets the first measurement data selection condition from the measurement data queue to obtain candidate measurement data.

[0080] Specifically, the inter-frame time difference refers to the acquisition time difference between two consecutive frames of inertial data (ie, the reference inertial data and the previous frame of inertial data). The first measurement data selection condition refers to the condition set according to the inter-frame time difference, which is used to obtain candidate measurement data from the measurement data queue.

[0081] In a specific implementation, after determining the reference inertial data, the previous frame of inertial data of the reference inertial data can be obtained from a storage medium storing the inertial data (such as a database storing vehicle data) based on the acquisition time of the reference inertial data, and then the difference between the acquisition time of the reference inertial data and the acquisition time of the previous frame of inertial data of the reference inertial data is calculated to obtain the inter-frame time difference. In practical applications, it can be determined that the inter-frame time difference = the acquisition time of the reference inertial data - the acquisition time of the previous frame of inertial data of the reference inertial data. Then, the first measurement data selection condition is set based on the inter-frame time difference, and then the measurement data whose acquisition time meets the first measurement data selection condition is selected from the measurement data queue to obtain the candidate measurement data. For example: the first measurement data selection condition can be that the acquisition time of the measurement data minus the acquisition time of the reference inertial data is greater than half of the inter-frame time difference. For example: the first measurement data selection condition can be that the acquisition time of the measurement data minus the acquisition time of the reference inertial data is greater than the inter-frame time difference.

[0082] In this embodiment, through the above steps, it can be ensured that the obtained candidate measurement data not only maintains a certain interval with the reference inertial data in time, but also is within a reasonable and controllable range, thereby achieving the relative synchronization of the candidate measurement data and the reference inertial data in time. This relative synchronization helps the subsequent sensor data alignment work, while reducing the amount of data to be processed and simplifying the subsequent data processing process.

[0083] Further, step 214 may specifically include: setting a second measurement data selection condition according to the collection time of the reference inertial data; and selecting measurement data whose collection time satisfies the second measurement data selection condition from the measurement data queue to obtain candidate measurement data.

[0084] Specifically, the second measurement data selection condition refers to a condition set according to the collection time of the reference inertial data, and is used to obtain candidate measurement data from the measurement data queue.

[0085] In a specific implementation, after determining the reference inertial data, a second measurement data selection condition can be set according to the collection time of the reference inertial data, and then the measurement data whose collection time meets the second measurement data selection condition is selected from the measurement data queue to obtain candidate measurement data. For example, the second measurement data selection condition can be that the collection time of the measurement data is earlier than the collection time of the reference inertial data.

[0086] In this embodiment, through the above steps, it can be ensured that the candidate measurement data and the reference inertial data are more closely aligned in time, which helps to improve the synchronization accuracy between different sensor data, facilitates subsequent sensor data alignment work, and reduces the amount of data to be processed, thereby simplifying the subsequent data processing process.

[0087] Step 215: Determine the current positioning error of the vehicle according to the reference inertial data.

[0088] Specifically, the reference inertial data includes the disturbance of the vehicle. The disturbance of the vehicle refers to various disturbance factors that affect the state of the vehicle, for example: the disturbance of the vehicle may include the velocity disturbance, the attitude angle disturbance, the acceleration disturbance and the angular velocity disturbance. The current positioning error of the vehicle includes the position error of the vehicle and the attitude error of the vehicle. The position error of the vehicle refers to the difference between the actual position of the vehicle and the position determined according to the reference inertial data. The attitude error of the vehicle refers to the difference between the actual attitude angle of the vehicle and the attitude angle determined according to the reference inertial data.

[0089] Furthermore, step 215 may specifically include: calculating the product of the vehicle's error state transfer matrix and the vehicle's historical positioning error to obtain the vehicle's positioning prediction error; calculating the product of the vehicle's noise input matrix and the vehicle's disturbance amount to obtain the vehicle's positioning noise error; calculating the sum of the positioning prediction error and the positioning noise error to obtain the vehicle's current positioning error.

[0090] Specifically, the error state transfer matrix refers to a matrix used to describe the change of system state (including error state) over time, which reflects how the system state is transferred from the previous time step to the current time step. The historical positioning error refers to the positioning error of the vehicle in the previous time step. The positioning prediction error refers to the current positioning error predicted based on the historical positioning error and the error state transfer matrix. The noise input matrix is ​​a matrix used to describe the characteristics of system noise (including process noise and measurement noise). It reflects the uncertainty and error that may be introduced during the change of system state. The positioning noise error refers to the matrix obtained based on the noise input matrix and the disturbance, which reflects the positioning error caused by the system noise and the disturbance. The current positioning error refers to the positioning error at the current time point (i.e., the acquisition time of the reference inertial data).

[0091] In the specific implementation, the product of the vehicle's error state transfer matrix and the vehicle's historical positioning error can be calculated first to obtain the vehicle's positioning prediction error. The specific calculation formula is as follows:

[0092] δk=F X ·δz

[0093] Among them, δk represents the current positioning error of the vehicle.

[0094] Then, the product of the vehicle's noise input matrix and the vehicle's disturbance is calculated to obtain the vehicle's positioning noise error. The specific calculation formula is as follows:

[0095] δl=F Y ·Υ

[0096] Among them, δl represents the positioning noise error of the vehicle.

[0097] Finally, the sum of the positioning prediction error and the positioning noise error is calculated to obtain the current positioning error of the vehicle. The specific calculation formula is as follows:

[0098] δx=δk+δl

[0099] In this embodiment, the current positioning error of the vehicle is obtained by the above method, thereby improving the accuracy of the determined current positioning error.

[0100] Step 216: Determine whether there is any measurement data in the candidate measurement data whose acquisition time is the same as the time identifier of the current positioning error.

[0101] If it exists, execute step 218; if it does not exist, execute step 217.

[0102] In a specific implementation, after obtaining the candidate measurement data, the acquisition time of each candidate measurement data can be compared with the time identifier of the current positioning error to determine whether there is measurement data in the candidate measurement data whose acquisition time is the same as the time identifier of the current positioning error. If there is measurement data whose acquisition time is the same as the time identifier of the current positioning error, it is determined as the target measurement data. If there is no measurement data whose acquisition time is the same as the time identifier of the current positioning error, the candidate measurement data is interpolated based on the time identifier of the current positioning error, and the target measurement data is selected from the interpolated candidate measurement data.

[0103] Step 217: Based on the time mark of the current positioning error, interpolation processing is performed on the candidate measurement data, and target measurement data is selected from the interpolated candidate measurement data.

[0104] In a specific implementation, after determining that there is no measurement data whose acquisition time is the same as the time mark of the current positioning error in the candidate measurement data, a suitable interpolation method can be selected according to the actual situation or needs to perform interpolation processing on the candidate measurement data, so as to obtain the measurement data at the time mark of the current positioning error, and determine it as the new candidate measurement data, and then the target measurement data can be selected from the candidate measurement data after the interpolation processing, that is, the measurement data whose acquisition time is the same as the time mark of the current positioning error in the candidate measurement data after the interpolation processing is determined as the target measurement data. For example, the interpolation method can be linear interpolation, spline interpolation, nearest neighbor interpolation or polynomial interpolation, etc.

[0105] For example, Figure 2c As shown, it can be found that there is no measurement data with the same acquisition time as the time stamp of the current positioning error in the original candidate measurement data, so it is necessary to interpolate the candidate measurement data to obtain the measurement data at the time stamp of the current positioning error, that is, the measurement data represented by the black dot in the figure, and then the target measurement data can be selected from the candidate measurement data after the interpolation processing (that is, the new candidate measurement data), that is, the measurement data represented by the black dot is determined as the target measurement data.

[0106] In this embodiment, based on the time mark of the current positioning error, the candidate measurement data are interpolated, and the target measurement data are selected from the interpolated candidate measurement data, thereby achieving time alignment between different sensor data and ensuring the temporal consistency of different sensor data.

[0107] Step 218: Determine the measurement data whose acquisition time is identical to the time stamp of the current positioning error as the target measurement data.

[0108] In a specific implementation, after determining that there is measurement data with the same acquisition time as the time identifier of the current positioning error in the candidate measurement data, the measurement data with the same acquisition time as the time identifier of the current positioning error can be directly determined as the target measurement data.

[0109] In this embodiment, through the above steps, while achieving time alignment between different sensor data, the data processing flow is simplified, unnecessary calculations and resource consumption are reduced, thereby improving the overall data processing efficiency.

[0110] Step 219: Calculate the difference between the acquisition time of the reference inertial data and the time mark of the historical positioning information to obtain the time step.

[0111] Specifically, the current positioning information of the vehicle includes the current position of the vehicle and the current attitude of the vehicle, and the current attitude of the vehicle refers to the attitude angle determined based on the reference inertial data. The current position of the vehicle refers to the position determined based on the reference inertial data. The reference inertial data includes angular velocity measurement values, angular velocity zero bias, accelerometer measurement values, and accelerometer zero bias. The time step refers to the difference between the acquisition time of the reference inertial data and the time mark of the historical positioning information, that is, the time interval between the acquisition of two data (reference inertial data and the previous reference inertial data). The time mark of the historical positioning information refers to the acquisition time of the previous reference inertial data.

[0112] In a specific implementation, the time step can be obtained by calculating the difference between the collection time of the reference inertial data and the time mark of the historical positioning information. In practical applications, the time step can be determined as follows: the collection time of the reference inertial data minus the time mark of the historical positioning information.

[0113] In this embodiment, by determining the time step, a data basis is provided for subsequently determining the current posture of the vehicle.

[0114] Step 220: Calculate the difference between the angular velocity measurement value and the angular velocity zero bias to obtain the target angular velocity.

[0115] Specifically, the angular velocity zero bias refers to the angular velocity offset generated by the sensor (such as a gyroscope) measuring the angular velocity in a stationary state due to its own characteristics. The target angular velocity refers to the angular velocity value after zero bias correction.

[0116] In the specific implementation, the target angular velocity can be obtained by calculating the difference between the angular velocity measurement value and the angular velocity zero bias. The specific calculation formula is as follows:

[0117] ω x =ω1-ω b

[0118] Among them, ωx represents the target angular velocity, ω1 represents the angular velocity measurement value, ω b Indicates the angular velocity zero bias.

[0119] In this embodiment, by determining the target angular velocity, a data basis is provided for subsequently determining the current posture of the vehicle.

[0120] Step 221: Determine the current posture of the vehicle according to the target angular velocity, the time step and the historical posture of the vehicle.

[0121] Specifically, the historical posture of the vehicle refers to the posture angle of the vehicle when the vehicle is at the time mark of the historical positioning information.

[0122] In the specific implementation, after obtaining the target angular velocity and time step, the historical posture of the vehicle can be obtained from the database storing the vehicle posture data. Then, the current posture of the vehicle can be determined according to the target angular velocity, time step and the historical posture of the vehicle. The specific calculation formula is as follows:

[0123]

[0124] Among them, q represents the current posture of the vehicle, q i represents the historical posture of the vehicle, and Δt represents the time step.

[0125] In this embodiment, by determining the current posture of the vehicle, a data basis is provided for obtaining the target positioning information of the vehicle later.

[0126] Step 222: Calculate the difference between the accelerometer measurement value and the accelerometer zero bias to obtain the intermediate acceleration.

[0127] Specifically, the accelerometer zero bias refers to the acceleration offset generated by the sensor (such as an accelerometer) that measures acceleration in a stationary state due to its own characteristics. The intermediate acceleration refers to the acceleration value after zero bias correction.

[0128] In the specific implementation, the intermediate acceleration can be obtained by calculating the difference between the accelerometer measurement value and the accelerometer zero bias. The specific calculation formula is as follows:

[0129] a x =a1-a b

[0130] Among them, a x represents the intermediate acceleration, a1 represents the acceleration measurement value, a b Indicates acceleration zero bias.

[0131] In this embodiment, by obtaining the intermediate acceleration, a data basis is provided for subsequently determining the target acceleration.

[0132] Step 223: Determine the target acceleration according to the rotation matrix and intermediate acceleration of the vehicle.

[0133] Specifically, a rotation matrix refers to a special square matrix that changes the direction of a vector when multiplied by the vector, but does not change its magnitude, and maintains the chirality of the space. In this embodiment, the rotation matrix is ​​used to transform the acceleration from the inertial sensor coordinate system to the vehicle coordinate system.

[0134] In the specific implementation, after obtaining the intermediate acceleration, the product of the rotation matrix and the intermediate acceleration can be calculated to obtain the target acceleration. The specific calculation formula is as follows:

[0135] a y =R n ·a x

[0136] Among them, a y represents the target acceleration, R n Represents a rotation matrix.

[0137] In this embodiment, by determining the target acceleration, a data basis is provided for subsequently determining the target speed.

[0138] Step 224: Determine the target speed according to the target acceleration and the time step.

[0139] Specifically, the target speed refers to the current speed of the vehicle calculated based on the target acceleration and the time step.

[0140] In the specific implementation, after obtaining the target acceleration, the target speed can be determined according to the target acceleration and time step. The specific calculation formula is as follows:

[0141] v=v m +(a y +g)Δt

[0142] Where, v represents the target speed, v m represents the historical velocity, and g represents the acceleration due to gravity.

[0143] In this embodiment, by determining the target speed, a data basis is provided for subsequently determining the current position of the vehicle.

[0144] Step 225: Determine the current position of the vehicle according to the target speed, target acceleration and time step.

[0145] In the specific implementation, after obtaining the target speed, the current position of the vehicle can be determined according to the target speed, target acceleration and time step. The specific calculation formula is as follows:

[0146]

[0147] Among them, p represents the current position of the vehicle, p m Represents the historical position of the vehicle.

[0148] In this embodiment, by determining the current position of the vehicle, a data basis is provided for obtaining the target positioning information of the vehicle later.

[0149] Step 226: Determine the covariance matrix of the vehicle according to the error state transfer matrix of the vehicle, the noise input matrix of the vehicle and the disturbance matrix.

[0150] Specifically, the disturbance matrix refers to a matrix composed of disturbances, and is also a matrix used to describe the characteristics of system noise (such as Gaussian white noise). In this embodiment, the covariance matrix is ​​used to determine the Kalman gain of the vehicle.

[0151] In a specific implementation, the vehicle's covariance matrix can be determined based on the vehicle's error state transfer matrix, the vehicle's noise input matrix, and the disturbance matrix. The specific calculation formula is as follows:

[0152]

[0153] Among them, P represents the error state transfer matrix, P1 represents the historical error state transfer matrix, Q Υ represents the perturbation matrix.

[0154] For example: Among them, V Υ represents the velocity disturbance, Θ Υ represents the attitude angle disturbance, A Υ represents the acceleration disturbance, Ω Υ Represents the angular velocity disturbance.

[0155] In this embodiment, by determining the covariance matrix of the vehicle, a data basis is provided for subsequently determining the Kalman gain of the vehicle.

[0156] Step 227: Determine the Kalman gain of the vehicle according to the covariance matrix and the observation matrix of the vehicle.

[0157] Specifically, the observation matrix represents the relationship between the observation variables and the state variables. In this embodiment, the observation matrix represents the relationship between the measurement data and the vehicle positioning information. The Kalman gain refers to the coefficient for determining the target positioning error.

[0158] In the specific implementation, after obtaining the covariance matrix of the vehicle, the Kalman gain of the vehicle can be determined according to the covariance matrix and the observation matrix of the vehicle. The specific calculation formula is as follows:

[0159]

[0160] Among them, K represents the Kalman gain, H represents the observation matrix, represents process noise and follows a Gaussian distribution.

[0161] For example, H = H X X δx ,

[0162]

[0163] Among them, H X represents the derivative of the observation equation with respect to the state, X δx represents the derivative of the state with respect to the error state, h represents the observation equation, x t represents the actual positioning information of the vehicle at time t, and the x after the vertical line represents the positioning information of the vehicle obtained based on the reference inertial data.

[0164] It should be noted that after obtaining the Kalman gain, the covariance matrix can be updated using the Kalman gain. The specific calculation formula is: Where P2 represents the updated covariance matrix.

[0165] In this embodiment, by determining the Kalman gain of the vehicle, a data basis is provided for subsequently determining the target positioning error of the vehicle.

[0166] Step 228: Determine the target positioning error of the vehicle based on the Kalman gain and the target measurement data.

[0167] Specifically, the target positioning error refers to the positioning error corrected according to the Kalman gain.

[0168] In the specific implementation, after obtaining the Kalman gain, the target positioning error of the vehicle can be determined according to the Kalman gain and the target measurement data. The specific calculation formula is as follows:

[0169]

[0170] in, represents the target positioning error, y represents the target measurement data, The observation equation that represents the measurement data.

[0171] In this embodiment, by determining the target positioning error of the vehicle, a data basis is provided for subsequently determining the target positioning information of the vehicle.

[0172] Step 229, calculate the sum of the target positioning error and the current positioning information to obtain the target positioning information of the vehicle.

[0173] Specifically, the target positioning information refers to the corrected positioning information, which reflects the current precise position and posture of the vehicle.

[0174] In the specific implementation, after obtaining the target positioning error, the sum of the target positioning error and the current positioning information can be calculated to obtain the target positioning information of the vehicle. The specific calculation formula is as follows:

[0175]

[0176] Among them, G represents the target positioning information, G n Indicates the current positioning information.

[0177] In this embodiment, the target positioning information of the vehicle is determined based on the target positioning error and the current positioning information, thereby improving the reliability and accuracy of the determined target positioning information.

[0178] For example, the implementation process of determining the target positioning information based on the inertial data and the measurement data is as follows: Figure 2d As shown, the specific process is as follows: first, obtain the inertial data queue of the vehicle from the cache queue of the inertial sensor, then calculate the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue, and determine whether the acquisition time difference is less than 1 second. If it is less than 1 second, continue to obtain the inertial data queue of the vehicle from the cache queue of the inertial sensor, that is, obtain new tail inertial data, and then continue to calculate the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue. If it is not less than 1 second, the head inertial data is determined as the reference inertial data. After that, obtain the measurement data queue of the vehicle from the cache queue of the measurement sensor, and determine the measurement data in the measurement data queue whose acquisition time is less than the acquisition time of the reference inertial data, or whose acquisition time minus the acquisition time of the reference inertial data is greater than the acquisition time of the reference inertial data minus the acquisition time of the previous frame of inertial data of the reference inertial data as candidate measurement data. Then, the current positioning information and current positioning error of the vehicle are determined based on the reference inertial data, and the target measurement data is determined from the candidate measurement data based on the time mark of the current positioning error of the vehicle. Then, the target positioning error of the vehicle is determined based on the target measurement data, and finally, the sum of the target positioning error and the current positioning information is calculated to obtain the target positioning information of the vehicle.

[0179] Therefore, the technical solution of the present invention first obtains the inertial data queue obtained by the inertial sensor to measure the vehicle, and then calculates the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue, which provides a data basis for determining the reference inertial data later. Then, it is determined whether the acquisition time difference is less than the preset time difference. If it is less than, the inertial data queue obtained by the inertial sensor to measure the vehicle can be obtained, that is, new tail inertial data is obtained, and then the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue is continued to be calculated. If it is not less than, the head inertial data is determined as the reference inertial data, ensuring that the time delay between different sensors is taken into account during data processing, and helping to achieve time alignment between different sensor data. Then, candidate measurement data is obtained from the measurement data queue according to the acquisition time of the reference inertial data, which provides a data basis for determining the target measurement data later. Then, the current positioning error of the vehicle is determined according to the reference inertial data, which provides a data basis for determining the target measurement data later. Then, it is determined whether there is measurement data with the same acquisition time and time mark as the current positioning error in the candidate measurement data. If it exists, it is determined as the target measurement data, which can simplify the data processing process while realizing the time alignment between different sensor data, reduce unnecessary calculations and resource consumption, and thus improve the efficiency of the overall data processing. If it does not exist, the candidate measurement data is interpolated based on the time mark of the current positioning error, and the target measurement data is selected from the candidate measurement data after interpolation, so as to realize the time alignment between different sensor data and ensure the consistency of different sensor data in time. After that, the difference between the acquisition time of the reference inertial data and the time mark of the historical positioning information can be calculated to obtain the time step, which provides a data basis for determining the current posture of the vehicle later. Then, the difference between the angular velocity measurement value and the angular velocity zero bias is calculated to obtain the target angular velocity, which provides a data basis for determining the current posture of the vehicle later. According to the target angular velocity, the time step and the historical posture of the vehicle, the current posture of the vehicle is determined, which provides a data basis for obtaining the target positioning information of the vehicle later. The difference between the accelerometer measurement value and the accelerometer zero bias is calculated to obtain the intermediate acceleration, which provides a data basis for determining the target acceleration later. According to the rotation matrix and intermediate acceleration of the vehicle, the target acceleration is determined, which provides a data basis for determining the target speed later. According to the target acceleration and time step, the target speed is determined, which provides a data basis for determining the current position of the vehicle later. According to the target speed, target acceleration and time step, the current position of the vehicle is determined, which provides a data basis for obtaining the target positioning information of the vehicle later. According to the error state transfer matrix of the vehicle, the noise input matrix of the vehicle and the disturbance matrix of the vehicle, the covariance matrix of the vehicle is determined, which provides a data basis for determining the Kalman gain of the vehicle later.The Kalman gain of the vehicle is determined according to the covariance matrix and the observation matrix of the vehicle, which provides a data basis for determining the target positioning error of the vehicle later. The target positioning error of the vehicle is determined according to the Kalman gain and the target measurement data, which provides a data basis for determining the target positioning information of the vehicle later. Finally, the sum of the target positioning error and the current positioning information is calculated to obtain the target positioning information of the vehicle, thereby improving the reliability and accuracy of the determined target positioning information. Compared with the prior art, although the time of each sensor can be forced to be synchronized by an external clock source or a dedicated synchronization device, this method has the problem of high implementation cost and complexity. The present invention selects reference inertial data from the inertial data queue, and then obtains candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; then determines the current positioning error of the vehicle according to the reference inertial data; finally, based on the time mark of the current positioning error of the vehicle, the target measurement data is determined from the candidate measurement data, thereby realizing the time alignment between different sensor data. Therefore, the present invention does not require additional hardware equipment to realize sensor data alignment, while avoiding complex hardware synchronization mechanisms, simplifying the system architecture and data processing flow, thereby reducing the cost and complexity of sensor data alignment.

[0180] Figure 3 A schematic diagram of the structure of a sensor data alignment device provided in an embodiment of the present invention. The device and the sensor data alignment methods of the above-mentioned embodiments belong to the same inventive concept. For details not described in detail in the embodiments of the sensor data alignment device, reference can be made to the embodiments of the above-mentioned sensor data alignment methods.

[0181] like Figure 3 As shown, the device comprises:

[0182] The inertia acquisition module 310 is used to acquire an inertia data queue obtained by measuring the vehicle using an inertia sensor, and select reference inertia data from the inertia data queue;

[0183] A measurement acquisition module 320 is used to acquire a measurement data queue obtained by a measurement sensor measuring the vehicle, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data;

[0184] an error determination module 330, configured to determine a current positioning error of the vehicle based on the reference inertial data;

[0185] The alignment module 340 is configured to determine target measurement data from the candidate measurement data based on a time stamp of a current positioning error of the vehicle.

[0186] Based on the above embodiment, the inertia acquisition module 310 selects reference inertia data from the inertia data queue, including:

[0187] Calculating the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue;

[0188] When the acquisition time difference is not less than a preset time difference value, the head inertial data is determined as the reference inertial data.

[0189] On the basis of the above embodiment, the measurement acquisition module 320 acquires candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data, including:

[0190] Calculating the difference between the acquisition time of the reference inertial data and the acquisition time of the previous frame of inertial data of the reference inertial data to obtain an inter-frame time difference, and setting a first measurement data selection condition based on the inter-frame time difference;

[0191] The measurement data whose collection time meets the first measurement data selection condition is selected from the measurement data queue to obtain the candidate measurement data.

[0192] On the basis of the above embodiment, the measurement acquisition module 320 acquires candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data, including:

[0193] Setting a second measurement data selection condition according to the collection time of the reference inertial data;

[0194] The measurement data whose collection time meets the second measurement data selection condition is selected from the measurement data queue to obtain the candidate measurement data.

[0195] Based on the above embodiment, the reference inertial data includes the disturbance amount of the vehicle, and the error determination module 330 is specifically used for:

[0196] Calculating the product of the error state transfer matrix of the vehicle and the historical positioning error of the vehicle to obtain the positioning prediction error of the vehicle;

[0197] Calculating the product of the noise input matrix of the vehicle and the disturbance amount of the vehicle to obtain the positioning noise error of the vehicle;

[0198] The sum of the positioning prediction error and the positioning noise error is calculated to obtain a current positioning error of the vehicle.

[0199] On the basis of the above embodiment, the current positioning error of the vehicle includes the position error of the vehicle and the attitude error of the vehicle, and the device further includes:

[0200] A positioning module is used to determine the current positioning information of the vehicle according to the reference inertial data after determining the target measurement data from the candidate measurement data based on the time mark of the positioning error of the vehicle; determine the target positioning error of the vehicle according to the target measurement data; and calculate the sum of the target positioning error and the current positioning information to obtain the target positioning information of the vehicle.

[0201] On the basis of the above embodiment, the current positioning information of the vehicle includes the current position of the vehicle and the current posture of the vehicle, the reference inertial data includes angular velocity measurement value, angular velocity zero bias, accelerometer measurement value and accelerometer zero bias, and the positioning module determines the current positioning information of the vehicle according to the reference inertial data, including:

[0202] Calculate the difference between the acquisition time of the reference inertial data and the time mark of the historical positioning information to obtain a time step;

[0203] Calculating the difference between the angular velocity measurement value and the angular velocity zero bias to obtain a target angular velocity;

[0204] Determining a current posture of the vehicle according to the target angular velocity, the time step, and a historical posture of the vehicle;

[0205] The current position of the vehicle is determined based on the rotation matrix of the vehicle, the accelerometer measurement value, the accelerometer zero bias and the time step.

[0206] On the basis of the above embodiment, the positioning module determines the current position of the vehicle according to the rotation matrix of the vehicle, the accelerometer measurement value, the accelerometer zero bias and the time step, including:

[0207] Calculating the difference between the accelerometer measurement value and the accelerometer zero bias to obtain an intermediate acceleration;

[0208] Determining a target acceleration according to the rotation matrix of the vehicle and the intermediate acceleration;

[0209] Determining a target speed according to the target acceleration and the time step;

[0210] The current position of the vehicle is determined based on the target speed, the target acceleration and the time step.

[0211] Based on the above embodiment, the positioning module determines the target positioning error of the vehicle according to the target measurement data, including:

[0212] Determining a covariance matrix of the vehicle according to an error state transfer matrix of the vehicle, a noise input matrix of the vehicle, and a disturbance matrix;

[0213] Determining a Kalman gain of the vehicle according to the covariance matrix and an observation matrix of the vehicle;

[0214] A target positioning error of the vehicle is determined based on the Kalman gain and the target measurement data.

[0215] Based on the above embodiment, the alignment module 340 is specifically used for:

[0216] Determine whether there is measurement data with a collection time identical to the time identifier of the current positioning error in the candidate measurement data;

[0217] If so, determining the measurement data whose acquisition time is identical to the time stamp of the current positioning error as the target measurement data;

[0218] If not, interpolation processing is performed on the candidate measurement data based on the time mark of the current positioning error, and the target measurement data is selected from the candidate measurement data after the interpolation processing.

[0219] The sensor data alignment device provided in the embodiment of the present invention can execute the sensor data alignment method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0220] It is worth noting that in the embodiment of the above-mentioned sensor data alignment device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.

[0221] Figure 4 A schematic structural diagram of a vehicle provided in an embodiment of the present invention. Figure 4 A block diagram of an exemplary vehicle 4 suitable for implementing embodiments of the present invention is shown. Figure 4 The vehicle 4 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0222] like Figure 4 As shown, the vehicle 4 is embodied in the form of a general purpose computing electronic device. The components of the vehicle 4 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 connecting various system components (including the system memory 28 and the processing unit 16).

[0223] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0224] The vehicle 4 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the vehicle 4, including volatile and non-volatile media, removable and non-removable media.

[0225] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The vehicle 4 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 4 not shown, usually called a "hard drive"). Although Figure 4 Not shown in the figure, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The system memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present invention.

[0226] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 42 generally perform the functions and / or methods of the embodiments described herein.

[0227] The vehicle 4 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), one or more devices that enable a user to interact with the vehicle 4, and / or any device that enables the vehicle 4 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input / output (I / O) interface 22. Furthermore, the vehicle 4 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 20. Figure 4 As shown, the network adapter 20 communicates with other modules of the vehicle 4 via the bus 18. It should be understood that although Figure 4 Not shown, other hardware and / or software modules may be used in conjunction with the vehicle 4, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0228] The processing unit 16 executes various functional applications and page displays by running the program stored in the system memory 28, for example, implementing the sensor data alignment method provided in the embodiment of the present invention, the method comprising:

[0229] Acquire an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue;

[0230] Acquire a measurement data queue obtained by measuring the vehicle using a measurement sensor, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data;

[0231] determining a current positioning error of the vehicle based on the reference inertial data;

[0232] Target measurement data is determined from the candidate measurement data based on a time stamp of a current positioning error of the vehicle.

[0233] Of course, those skilled in the art can understand that the processor can also implement the technical solution of the sensor data alignment method provided by any embodiment of the present invention.

[0234] An embodiment of the present invention provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, a sensor data alignment method provided by an embodiment of the present invention is implemented, for example, and the method includes:

[0235] Acquire an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue;

[0236] Acquire a measurement data queue obtained by measuring the vehicle using a measurement sensor, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data;

[0237] determining a current positioning error of the vehicle based on the reference inertial data;

[0238] Target measurement data is determined from the candidate measurement data based on a time stamp of a current positioning error of the vehicle.

[0239] The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

[0240] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0241] The program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0242] Computer program code for performing the operations of the present invention may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0243] It should be understood by those skilled in the art that the modules or steps of the present invention described above can be implemented by a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, optionally, they can be implemented by a program code executable by a computer device, so that they can be stored in a storage device and executed by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0244] In addition, the acquisition, storage, use, and processing of data in the technical solution of the present invention are in compliance with the relevant provisions of national laws and regulations.

[0245] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims

1. A sensor data alignment method, characterized in that: The method comprises: Acquire an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue; Acquire a measurement data queue obtained by measuring the vehicle using a measurement sensor, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; determining a current positioning error of the vehicle based on the reference inertial data; Target measurement data is determined from the candidate measurement data based on a time stamp of a current positioning error of the vehicle.

2. The sensor data alignment method according to claim 1, characterized in that: Selecting reference inertial data from the inertial data queue includes: Calculating the acquisition time difference between the head inertial data and the tail inertial data in the inertial data queue; When the acquisition time difference is not less than a preset time difference value, the head inertial data is determined as the reference inertial data.

3. The sensor data alignment method according to claim 1, characterized in that: Acquiring candidate measurement data from the measurement data queue according to the collection time of the reference inertial data includes: Calculating the difference between the acquisition time of the reference inertial data and the acquisition time of the previous frame of inertial data of the reference inertial data to obtain an inter-frame time difference, and setting a first measurement data selection condition based on the inter-frame time difference; The measurement data whose collection time meets the first measurement data selection condition is selected from the measurement data queue to obtain the candidate measurement data.

4. The sensor data alignment method according to claim 1, characterized in that: Acquiring candidate measurement data from the measurement data queue according to the collection time of the reference inertial data includes: Setting a second measurement data selection condition according to the collection time of the reference inertial data; The measurement data whose collection time meets the second measurement data selection condition is selected from the measurement data queue to obtain the candidate measurement data.

5. The sensor data alignment method according to claim 1, characterized in that: The reference inertial data includes a disturbance amount of the vehicle, and determining a current positioning error of the vehicle according to the reference inertial data includes: Calculating the product of the error state transfer matrix of the vehicle and the historical positioning error of the vehicle to obtain the positioning prediction error of the vehicle; Calculating the product of the noise input matrix of the vehicle and the disturbance amount of the vehicle to obtain the positioning noise error of the vehicle; The sum of the positioning prediction error and the positioning noise error is calculated to obtain a current positioning error of the vehicle.

6. The sensor data alignment method according to claim 1, characterized in that: The current positioning error of the vehicle includes the position error of the vehicle and the attitude error of the vehicle. After determining the target measurement data from the candidate measurement data based on the time mark of the positioning error of the vehicle, the method further includes: Determining current positioning information of the vehicle according to the reference inertial data; Determining a target positioning error of the vehicle according to the target measurement data; The sum of the target positioning error and the current positioning information is calculated to obtain the target positioning information of the vehicle.

7. The sensor data alignment method according to claim 6, characterized in that: The current positioning information of the vehicle includes the current position of the vehicle and the current posture of the vehicle, the reference inertial data includes an angular velocity measurement value, an angular velocity zero bias, an accelerometer measurement value, and an accelerometer zero bias, and determining the current positioning information of the vehicle according to the reference inertial data includes: Calculate the difference between the acquisition time of the reference inertial data and the time mark of the historical positioning information to obtain a time step; Calculating the difference between the angular velocity measurement value and the angular velocity zero bias to obtain a target angular velocity; Determining a current posture of the vehicle according to the target angular velocity, the time step, and a historical posture of the vehicle; The current position of the vehicle is determined based on the rotation matrix of the vehicle, the accelerometer measurement value, the accelerometer zero bias and the time step.

8. The sensor data alignment method according to claim 7, characterized in that: Determining a current position of the vehicle according to a rotation matrix of the vehicle, the accelerometer measurement value, the accelerometer bias and the time step, comprising: Calculating the difference between the accelerometer measurement value and the accelerometer zero bias to obtain an intermediate acceleration; Determining a target acceleration according to the rotation matrix of the vehicle and the intermediate acceleration; Determining a target speed according to the target acceleration and the time step; The current position of the vehicle is determined based on the target speed, the target acceleration and the time step.

9. The sensor data alignment method according to claim 6, characterized in that: Determining a target positioning error of the vehicle according to the target measurement data includes: Determining a covariance matrix of the vehicle according to an error state transfer matrix of the vehicle, a noise input matrix of the vehicle, and a disturbance matrix; Determining a Kalman gain of the vehicle according to the covariance matrix and an observation matrix of the vehicle; A target positioning error of the vehicle is determined based on the Kalman gain and the target measurement data.

10. The sensor data alignment method according to claim 1, characterized in that: Determining target measurement data from the candidate measurement data based on a time stamp of a current positioning error of the vehicle includes: Determine whether there is measurement data with a collection time identical to the time identifier of the current positioning error in the candidate measurement data; If so, determining the measurement data whose acquisition time is identical to the time stamp of the current positioning error as the target measurement data; If not, interpolation processing is performed on the candidate measurement data based on the time mark of the current positioning error, and the target measurement data is selected from the candidate measurement data after the interpolation processing.

11. A sensor data alignment device, characterized in that: The device comprises: An inertial acquisition module is used to acquire an inertial data queue obtained by measuring the vehicle using an inertial sensor, and select reference inertial data from the inertial data queue; A measurement acquisition module, used to acquire a measurement data queue obtained by a measurement sensor measuring the vehicle, and acquire candidate measurement data from the measurement data queue according to the acquisition time of the reference inertial data; an error determination module, configured to determine a current positioning error of the vehicle based on the reference inertial data; An alignment module is used to determine target measurement data from the candidate measurement data based on a time mark of a current positioning error of the vehicle.

12. A vehicle, characterized in that: The vehicle comprises: at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the sensor data alignment method described in any one of claims 1-10.

13. A storage medium containing computer executable instructions, characterized in that: When the computer executable instructions are executed by a computer processor, the sensor data alignment method according to any one of claims 1 to 10 is implemented.