Multi-sensor data fusion method, device, electronic equipment and engineering vehicle
Through the multi-sensor data fusion method, sensor data is acquired and iteratively updated in real time, solving the problems of external environment and noise influence, and achieving higher data reliability and control accuracy.
Patent Information
- Application Number
- CN202210432229.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-22
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2042-04-22
AI Technical Summary
The multi-sensor data fusion method in the existing technology is easily affected by the external environment and noise, resulting in many glitches in the ranging signal and making it difficult to meet the control accuracy requirements.
By acquiring sensor data output by multiple sensors in real time, the output baseline value is determined, and iterative updates are performed based on the data of the current frame and previous frames, including clustering, difference comparison and preset value correction, to reduce the impact of noise and improve data reliability.
It effectively reduces the burrs in the data fusion results, improves the reliability and anti-interference ability of sensor data, and meets the control accuracy requirements.
Smart Images

Figure CN114757290B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a multi-sensor data fusion method, device, electronic equipment and engineering vehicle. Background Art
[0002] Multi-sensor technology is widely used in various fields such as automatic leveling of road construction machinery. A sensor device (such as a sliding shoe) containing multiple distance measuring probes is used to measure the distance between the sensor device and a reference surface or a reference rope to control the controlled object and ensure that the sensor device and the reference surface or reference rope always maintain a fixed value.
[0003] In the existing technology, the ranging results of multiple ranging probes are usually fused by eliminating extreme values and taking the average to obtain the distance between the sensor device and the reference surface or reference rope. However, the ranging signal obtained by the fusion method has many burrs and is easily affected by the external environment and noise, making it difficult to meet the control accuracy requirements of the controlled object. Summary of the Invention
[0004] In response to the problems existing in the prior art, the present invention provides a multi-sensor data fusion method, device, electronic equipment and engineering vehicle.
[0005] The present invention provides a multi-sensor data fusion method, comprising:
[0006] Acquire sensor data output by multiple sensors in a sensor device in real time;
[0007] Determining an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and using the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame;
[0008] Based on the output reference value of the sensing device in the current frame, the output reference value of N frames before the current frame, and the output results of M frames before the current frame, the initial value of the output result of the current frame is iteratively updated to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0009] According to the multi-sensor data fusion method provided by the present invention, determining the output reference value of the sensor device in the current frame based on the sensor data output by the multiple sensors in the current frame includes:
[0010] Clustering the sensor data output by the multiple sensors in the current frame, and determining a cluster center value corresponding to each sensor data based on the clustering result;
[0011] An output reference value of the sensing device in a current frame is determined based on the cluster center value corresponding to each of the sensing data.
[0012] According to the multi-sensor data fusion method provided by the present invention, the iterative updating of the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame includes:
[0013] Obtaining a difference between an output reference value of the current frame and an output reference value of a frame preceding the current frame as a reference difference;
[0014] When it is determined that the absolute value of the reference difference is greater than a first preset value, the initial value of the output result of the current frame is updated based on the output results of each time window of the sensing device before the current frame; wherein the time window includes one or more frames.
[0015] According to the multi-sensor data fusion method provided by the present invention, the updating of the initial value of the output result of the current frame based on the output results of each time window of the sensing device before the current frame includes:
[0016] Calculating the absolute values of the differences between the initial value of the output result of the current frame and the output results of each time window before the current frame as window errors;
[0017] Determining a target window from each of the time windows based on a comparison result of the window error and a corresponding error threshold, wherein the error threshold corresponds to the time window in a one-to-one manner;
[0018] An initial value of the output result of the current frame is updated based on the output result of the target window.
[0019] According to the multi-sensor data fusion method provided by the present invention, before updating the initial value of the output result of the current frame based on the output results of each time window of the sensor device before the current frame, the method further includes:
[0020] When it is determined that the absolute value of the benchmark difference is greater than the first preset value and less than or equal to the second preset value, the initial value of the output result of the current frame is corrected based on the output result of the sensing device in the previous frame of the current frame, the first preset value and the benchmark difference.
[0021] According to the multi-sensor data fusion method provided by the present invention, before iteratively updating the initial value of the output result of the current frame, the method further includes:
[0022] Determining an output mean of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame;
[0023] Obtaining a difference between the output mean of the current frame and the output mean of a frame before the current frame as a mean difference;
[0024] Based on the comparison result of the mean difference and the reference difference, it is determined whether the output reference value of the sensing device in the current frame is a valid value; the reference difference is the difference between the output reference value of the current frame and the output reference value of the previous frame of the current frame.
[0025] According to the multi-sensor data fusion method provided by the present invention, after obtaining the output result of the sensor device in the current frame, the method further includes:
[0026] Obtaining an absolute value of a difference between an output result of the sensing device in the current frame and an average output value of the sensing device in the current frame as an intra-frame error; wherein the average output value of the sensing device in the current frame is an average value of the sensing data output by the multiple sensors in the current frame;
[0027] When it is determined that the intra-frame error is greater than a third preset value, the output result of the sensing device in the current frame is corrected based on the output mean of the sensing device in the current frame and the third preset value.
[0028] According to the multi-sensor data fusion method provided by the present invention, after obtaining the output result of the sensor device in the current frame, the method further includes:
[0029] Obtaining an absolute value of a difference between an output result of the sensing device in a current frame and an output result of the sensing device in a frame previous to the current frame as an inter-frame error;
[0030] When it is determined that the inter-frame error is less than or equal to a fourth preset value, the output result of the sensing device in the current frame is updated based on the output result of the sensing device in the frame before the current frame.
[0031] The present invention also provides a multi-sensor data fusion device, comprising:
[0032] A data acquisition module is used to acquire sensor data output by multiple sensors in the sensor device in real time;
[0033] an initialization module, configured to determine an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and use the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame;
[0034] An update module is used to iteratively update the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame, so as to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0035] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the multi-sensor data fusion method as described above is implemented.
[0036] The present invention also provides an engineering vehicle, comprising the electronic device described above.
[0037] The multi-sensor data fusion method, device, electronic equipment and engineering vehicle provided by the present invention determine the output reference value of the sensing device in the current frame through the sensor data output in real time by multiple sensors in the sensing device, which is used as the initial value of the output result of the sensing device in the current frame, and iteratively updates the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame. This can effectively reduce the burrs in the fusion results of each sensor data, reduce the influence of the external environment and noise on the fusion results of each sensor data, and thus ensure the reliability of the fusion results of each sensor data. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0039] Figure 1 This is one of the flow charts of the multi-sensor data fusion method provided by the present invention;
[0040] Figure 2 It is a schematic structural diagram of the ultrasonic sliding shoe provided by the present invention;
[0041] Figure 3 This is the second flow chart of the multi-sensor data fusion method provided by the present invention;
[0042] Figure 4 This is a schematic diagram of the multi-sensor data fusion result provided by the present invention;
[0043] Figure 5This is a schematic diagram of the multi-sensor data fusion result of the traditional data fusion method of removing extreme values and averaging;
[0044] Figure 6 It is a structural diagram of the multi-sensor data fusion device provided by the present invention;
[0045] Figure 7 It is a structural schematic diagram of the electronic device provided by the present invention;
[0046] Reference numerals:
[0047] 210: ranging probe; 220: temperature compensation probe; 610: data acquisition module; 620: initialization module; 630: update module; 710: processor; 720: communication interface; 730: memory; 740: communication bus. DETAILED DESCRIPTION
[0048] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0049] The following combination Figures 1 to 5 The multi-sensor data fusion method of the present invention is described. The multi-sensor data fusion method of the present invention is executed by an electronic device such as a computer or the hardware and / or software therein. Figure 1 As shown, the multi-sensor data fusion method of the present invention includes:
[0050] Step S101: acquiring sensing data output by multiple sensors in a sensing device in real time.
[0051] Specifically, the sensing device can be a physical device equipped with multiple sensors, such as a skid. Alternatively, the multiple sensors can be combined into a virtual sensing device, where the multiple sensors are individually configured, and the output of the sensing device is the fusion result of the sensor data output by the multiple sensors. The multiple sensors are of the same type, and the sensor data output by each sensor is sensor data of the same target object.
[0052] It is understandable that the sensor data in the embodiments of the present invention are not limited to distance signals. As long as data fusion is performed on the perception results of multiple sensors of the same type for the same target object, the multi-sensor data fusion method of the present invention is applicable.
[0053] As an optional implementation, after acquiring the sensing data output by multiple sensors in the sensing device in real time, the method further includes:
[0054] Perform sliding average filtering on the sensor data output by each sensor.
[0055] Since the output of the sensor is greatly affected by the environment and noise, the sliding average filter can effectively reduce the noise interference in the original data collected by the sensor, providing a data basis for improving the reliability of the fusion results of each sensor data. The data processing speed of the sliding average filter is fast, which further improves the data fusion efficiency.
[0056] Step S102: determining an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and using the output reference value of the current frame as an initial value of the output result of the sensing device in the current frame.
[0057] Specifically, the output reference value of the sensor device in the current frame is, that is, the reference value of the output result of the sensor device at the current moment. Based on the sensor data output by each sensor in the current frame, the specific method for determining the output reference value of the sensor device in the current frame can be set according to actual needs. For example, the median value of the sensor data output by each sensor in the current frame can be calculated and used as the reference value; or the sensor data output by each sensor in the current frame can be clustered using a clustering algorithm, and the output reference value of the sensor device in the current frame can be determined based on the clustering results. After determining the output reference value of the sensor device in the current frame, the output reference value of the current frame is used as the initial value of the output result of the sensor device in the current frame to complete the initialization of the output result of the sensor device in the current frame.
[0058] Step S103: Based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame, the initial value of the output result of the current frame is iteratively updated to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0059] Specifically, based on the output reference value of the sensing device in the current frame, the output reference values of the N frames before the current frame, and the output results of the M frames before the current frame, the specific method for iteratively updating the initial value of the output result of the current frame can be set according to actual needs. For example, the degree of deviation of the output reference value of the current frame can be determined based on the difference between the output reference value of the current frame and the output reference values of the N frames before the current frame. Based on the degree of deviation and the output results of the M frames before the current frame, the initial value of the output result of the current frame is updated to obtain the final output of the sensing device in the current frame, thereby effectively reducing the burrs in the output curve of the sensing device and reducing the impact of the external environment and noise on the output result of the sensing device, so as to make the output curve of the sensing device smoother. The output result of the sensing device in the current frame is, that is, the fusion result of the sensing data output by multiple sensors in the current frame.
[0060] Among them, N is greater than or equal to 1, and M is greater than 1; when the number of frames before the current frame does not satisfy greater than or equal to N and greater than or equal to M, the output reference value of the sensing device in the N frames before the current frame and the output result of the M frames before the current frame can be assigned default values; otherwise, the output reference value of the sensing device in the N frames before the current frame and the output result of the M frames before the current frame can be obtained according to the multi-sensor data fusion method of the present invention.
[0061] It can be seen that the embodiment of the present invention determines the output reference value of the sensing device in the current frame through the sensing data output in real time by multiple sensors in the sensing device, as the initial value of the output result of the sensing device in the current frame, and iteratively updates the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference value of N frames before the current frame, and the output results of M frames before the current frame. This can effectively reduce the glitches in the data fusion results of each sensor, reduce the impact of the external environment and noise on the data fusion results of each sensor, and thus ensure the reliability of the data fusion results of each sensor.
[0062] Based on the above embodiment, determining the output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame includes:
[0063] Clustering the sensor data output by the multiple sensors in the current frame, and determining a cluster center value corresponding to each sensor data based on the clustering result;
[0064] An output reference value of the sensing device in a current frame is determined based on the cluster center value corresponding to each of the sensing data.
[0065] Specifically, the specific clustering algorithm used to cluster the sensor data output by each sensor in the current frame can be set based on actual needs. For example, a K-means clustering algorithm can be used. Based on the clustering results, the cluster center value corresponding to each sensor data is determined. Specifically, the cluster center value for the category corresponding to each sensor data can be determined based on the clustering results. The cluster center value for the category corresponding to the sensor data is, in other words, the cluster center value corresponding to the sensor data. During the clustering process, the number of cluster center values can be set based on actual needs.
[0066] The specific method for determining the sensor device's output reference value for the current frame based on the cluster center values corresponding to each sensor data set can be set according to actual needs. For example, the cluster center value closest to the mean of each sensor data set can be used as the sensor device's output reference value for the current frame. Alternatively, the cluster center value corresponding to the largest number of sensor data sets can be used as the sensor device's output reference value for the current frame. Alternatively, the cluster center values corresponding to each sensor data set can be averaged to obtain the sensor device's output reference value for the current frame.
[0067] As an optional implementation, before clustering the sensor data output by multiple sensors in the current frame, the method further includes:
[0068] De-extreme processing is performed on the sensor data output by multiple sensors in the current frame.
[0069] De-extreme processing is to remove the maximum and / or minimum values in multiple sensor data; after de-extreme processing, the remaining sensor data are clustered, so as to effectively remove the outliers in multiple sensor data, providing a data basis for improving the reliability of the fusion results of multi-sensor data.
[0070] The embodiment of the present invention clusters the sensor data output by multiple sensors in the current frame, determines the cluster center value corresponding to each sensor data based on the clustering result, and determines the output reference value of the sensor device in the current frame based on the cluster center value corresponding to each sensor data. This can effectively avoid the influence of abnormal values on the reference value, improve the reliability of the reference value determination result, and provide a data basis for improving the reliability of the fusion result of each sensor data.
[0071] Based on any of the foregoing embodiments, the iterative updating of the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame includes:
[0072] Obtaining a difference between an output reference value of the current frame and an output reference value of a frame preceding the current frame as a reference difference;
[0073] When it is determined that the absolute value of the reference difference is greater than a first preset value, the initial value of the output result of the current frame is updated based on the output results of each time window of the sensing device before the current frame; wherein the time window includes one or more frames.
[0074] Specifically, the output reference value of the frame preceding the current frame is determined by the sensor data output by each sensor in the frame preceding the current frame. It is understood that the output reference value of the frame preceding the current frame may also be the average of the output reference values of the N frames preceding the current frame. Here, the difference between the output reference value of the current frame and the output reference value of the frame preceding the current frame may be calculated to obtain a reference difference value.
[0075] The first preset value can be set according to actual needs, for example, it can be set according to the smoothness of the output curve of the sensor device. The first preset value is the allowable error range, for example, it can be set to 0.1 mm.
[0076] When it is determined that the absolute value of the benchmark difference is less than or equal to the first preset value, that is, the benchmark difference is within the allowable error range, the output result of the sensing device in the previous frame of the current frame can be directly used as the final output result of the current frame, or the initial value of the output result of the current frame can be directly used as the final output result of the current frame.
[0077] When it is determined that the absolute value of the reference difference is greater than the first preset value, the initial value of the output result of the current frame is updated based on the output results of the sensing device in each time window before the current frame. The length of each time window before the current frame can be set according to actual needs, and the length of each time window can be the same or different. For example, each time window can include four frames of sensing data. The output results of the sensing device in each frame of the time window can be averaged to obtain the output result of the time window. The specific method of updating the initial value of the output result of the current frame based on the output results of each time window before the current frame can be set according to actual needs. For example, the output result of the time window that is closest to or has the greatest correlation with the output result of the current frame can be used as the updated value of the output result of the sensing device in the current frame. Here, each time window can be all time windows before the current frame, or it can be a time window that is associated with the output result of the current frame. It can be set specifically according to actual needs.
[0078] In an embodiment of the present invention, when the absolute value of the difference between the output reference value of the current frame and the output reference value of the frame before the current frame is greater than a first preset value, the initial value of the output result of the current frame is further updated according to the output results of each time window before the current frame. In the case that there is an abnormality or a large error in the frame before the current frame, the influence of the output result of the previous frame on the accuracy of the output result of the current frame can be effectively avoided, thereby further improving the reliability of the fusion results of each sensor data.
[0079] Based on any of the foregoing embodiments, updating the initial value of the output result of the current frame based on the output results of the sensing device in each time window before the current frame includes:
[0080] Calculating the absolute values of the differences between the initial value of the output result of the current frame and the output results of each time window before the current frame as window errors;
[0081] Determining a target window from each of the time windows based on a comparison result of the window error and a corresponding error threshold, wherein the error threshold corresponds to the time window in a one-to-one manner;
[0082] An initial value of the output result of the current frame is updated based on the output result of the target window.
[0083] Specifically, the window error may be the absolute value of the difference between the initial value of the output result of the current frame and the output results of each time window before the current frame.
[0084] Each time window corresponds to an error threshold. The farther the time window is from the current frame, the larger its error threshold. The specific value of the error threshold can be set according to actual needs. After calculating the window error, the window error corresponding to each time window is compared with the error threshold corresponding to the time window, and the initial value of the output result of the current frame is updated based on the output result of the time window whose window error is less than the corresponding error threshold. Among them, when there are multiple candidate time windows whose window errors are less than the corresponding error threshold, the output result of the time window closest to the current frame can be selected to update the initial value of the output result of the current frame. In addition, when there is no candidate time window whose window error is less than the corresponding error threshold, it indicates that the output results of each time window before the current frame are unreliable, and the initial value of the output result of the current frame can be directly used as the final output result of the current frame.
[0085] In an embodiment of the present invention, when the absolute value of the difference between the output reference value of the current frame and the output reference value of the previous frame of the current frame is greater than a first preset value, the target window is determined according to the initial value of the output result of the current frame and the window error of the output results of each time window, and the initial value of the output result of the current frame is updated according to the output result of the target window. This can effectively prevent the output result of the current frame from falling into a local optimal value, further reduce the burrs of the multi-sensor data fusion result, and improve the reliability of the multi-sensor data fusion result.
[0086] Based on any of the above embodiments, before updating the initial value of the output result of the current frame based on the output results of the sensing device in each time window before the current frame, the method further includes:
[0087] When it is determined that the absolute value of the benchmark difference is greater than the first preset value and less than or equal to the second preset value, the initial value of the output result of the current frame is corrected based on the output result of the sensing device in the previous frame of the current frame, the first preset value and the benchmark difference.
[0088] Specifically, the second preset value is greater than the first preset value, and the specific value of the second preset value can be set according to actual needs. For example, the smoothness of the output curve of the sensing device may exceed the allowable error range, but the data does not belong to an abnormal value. For example, it is set to 1 mm. When the absolute value of the reference difference is greater than the first preset value and less than or equal to the second preset value, it indicates that the data deviation is large, but it does not belong to an abnormal value. The initial value of the output result of the sensing device in the current frame can be corrected by the output result of the previous frame of the current frame, the first preset value and the reference difference. The specific correction method can be set according to actual needs. For example, the initial value of the output result of the current frame can be corrected according to the following formula: the initial value of the output result of the current frame = the output result of the previous frame of the current frame + the first preset value * sign (reference difference), where sign() represents the sign function.
[0089] When the absolute value of the benchmark difference is greater than the first preset value and less than or equal to the second preset value, after correcting the initial value of the output result of the current frame, the initial value of the output result of the current frame is further updated according to the output result of the target window to avoid the output result of the current frame falling into a local optimal value.
[0090] When the absolute value of the reference difference is greater than the second preset value, it indicates that the sensing data of the current frame or the previous frame is abnormal, and the initial value of the output result of the current frame is directly updated according to the output result of the target window.
[0091] The embodiment of the present invention corrects the initial value of the output result of the sensor device in the current frame through the output result of the previous frame of the current frame, the first preset value and the reference difference value, which can effectively shorten the distance between the output results of the current frame and the previous frame of the current frame, further reduce the burrs of the output curve of the sensor device, reduce the interference of the external environment and noise, and improve the smoothness of the output curve of the sensor device, thereby ensuring the reliability of the multi-sensor data fusion result.
[0092] Based on any of the above embodiments, before iteratively updating the initial value of the output result of the current frame, the method further includes:
[0093] Determining an output mean of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame;
[0094] Obtaining a difference between the output mean of the current frame and the output mean of a frame before the current frame as a mean difference;
[0095] Based on the comparison result of the mean difference and the reference difference, it is determined whether the output reference value of the sensing device in the current frame is a valid value; the reference difference is the difference between the output reference value of the current frame and the output reference value of the previous frame of the current frame.
[0096] Specifically, based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame, before iteratively updating the initial value of the output result of the current frame, it also includes: determining whether the output reference value of the sensing device in the current frame is a valid value.
[0097] In determining the output mean of the sensor device in the current frame based on the sensor data output by each sensor in the current frame, the sensor data in the current frame can first be subjected to de-extinction processing, that is, the maximum and / or minimum values in the sensor data in the current frame are removed, and then the remaining sensor data are averaged to obtain the output mean of the sensor device in the current frame. The mean difference can be obtained by subtracting the output mean of the previous frame from the output mean of the current frame.
[0098] The specific method for determining whether the output reference value of the sensor device in the current frame is a valid value based on the comparison result of the mean difference and the reference difference can be set according to actual needs. For example, the absolute value of the difference between the two can be compared with a preset threshold. If it is greater than the preset threshold, it indicates that the output reference value of the current frame is an invalid value; otherwise, it is a valid value. The positive and negative directions of the two can also be compared. If the positive and negative directions of the two are different, it indicates that the output reference value of the current frame is an invalid value; otherwise, it is a valid value.
[0099] If the output reference value of the current frame is determined to be an invalid value, it indicates that the sensor data of the current frame contain abnormal values, that is, the sensor data of the current frame is invalid, and the output result of the previous frame or the output result of the nearest time window can be directly used as the final output result of the current frame. If the output reference value of the current frame is determined to be a valid value, the initial value of the output result of the current frame is further iteratively updated based on the output reference value of the sensor device in the current frame, the output reference values of the N frames before the current frame, and the output results of the M frames before the current frame.
[0100] The embodiment of the present invention determines whether the output reference value of the sensing device in the current frame is a valid value based on the comparison result of the mean difference and the reference difference, and can quickly and accurately determine whether the various sensing data of the current frame are valid, thereby effectively avoiding the impact of abnormal values on the reliability of the multi-sensor data fusion results.
[0101] Based on any of the above embodiments, after obtaining the output result of the sensing device in the current frame, the method further includes:
[0102] Obtaining an absolute value of a difference between an output result of the sensing device in the current frame and an output mean of the sensing device in the current frame as an intra-frame error; wherein the output mean of the sensing device in the current frame is an average of the sensing data output by the multiple sensors in the current frame;
[0103] When it is determined that the intra-frame error is greater than a third preset value, the output result of the sensing device in the current frame is corrected based on the output mean of the sensing device in the current frame and the third preset value.
[0104] Specifically, after the initial value of the output result of the current frame is updated according to the output results of the adjacent frames (the previous frame of the current frame) and each time window before the current frame, it can effectively ensure that the output curve of the sensing device has fewer glitches and reduces the interference of the external environment and noise. However, through the update, there is a risk of distortion of the output result of the current frame. The embodiment of the present invention further calculates the absolute value of the difference between the output result of the sensing device in the current frame and the output mean of the sensing device in the current frame to obtain the intra-frame error, thereby determining whether the output result of the current frame is distorted based on the comparison of the intra-frame error with the third preset value.
[0105] The size of the third preset value can be set according to actual needs, for example, it can be set to 0.3 mm. When the intra-frame error is less than or equal to the third preset value, it indicates that there is no distortion and there is no need to correct the output result of the sensor device in the current frame. When the intra-frame error is greater than the third preset value, the output result of the sensor device in the current frame is corrected based on the output mean of the sensor device in the current frame and the third preset value. The specific correction method can be set according to actual needs. For example, the output result of the sensor device in the current frame can be corrected according to the following formula: Current frame output result correction value = Current frame output mean + Third preset value * sign (Current frame output result - Current frame output mean), thereby effectively ensuring the accuracy of the multi-sensor data fusion result.
[0106] Based on any of the above embodiments, after obtaining the output result of the sensing device in the current frame, the method further includes:
[0107] Obtaining an absolute value of a difference between an output result of the sensing device in a current frame and an output result of the sensing device in a frame previous to the current frame as an inter-frame error;
[0108] When it is determined that the inter-frame error is less than or equal to a fourth preset value, the output result of the sensing device in the current frame is updated based on the output result of the sensing device in the frame before the current frame.
[0109] Specifically, after obtaining the output result of the sensor device in the current frame, the absolute value of the difference between the output result of the current frame and the output result of the previous frame of the current frame is further calculated as the inter-frame error, and the output result of the sensor device in the current frame is further updated based on the comparison result of the inter-frame error and the fourth preset value. The size of the fourth preset value can be set according to actual needs, for example, it can be set to 0.1 mm. The specific method of further updating the output result of the sensor device in the current frame based on the comparison result of the inter-frame error and the fourth preset value can be set according to actual needs. For example, when the inter-frame error is less than or equal to the fourth preset value, the output result of the sensor device in the previous frame of the current frame can be used as the output result of the sensor device in the current frame. When the inter-frame error is greater than the fourth preset value, there is no need to update the output result of the sensor device in the current frame, so as to achieve error truncation, thereby effectively ensuring the accuracy of the multi-sensor data fusion result during the continuous fusion of multiple frames of data.
[0110] The following takes an ultrasonic sliding shoe as an example to describe in detail the specific implementation process and effect of the multi-sensor data fusion method of the present invention through an optional implementation method.
[0111] The structure of ultrasonic sliding shoe is as follows Figure 2As shown, the system includes five ranging probes 210, each used to collect the distance between the ultrasonic shoe and a reference surface or a reference rope. A temperature compensation probe 220 may also be provided on the ultrasonic shoe. When obtaining the ranging results from each ranging probe 210, the temperature compensation probe 220 first measures the time difference between the ultrasonic shock wave it transmits and the received echo, converting it into the real-time speed of sound at a fixed distance. Second, each ranging probe 210 measures the time difference between its transmitted ultrasonic shock wave and the received echo, and based on the real-time speed of sound, calculates the distance between the ultrasonic shoe and the reference surface or the reference rope. This effectively prevents the influence of sound speed under different ambient temperatures on the ranging results of each ranging probe 210, thereby improving the reliability of the ranging results obtained by each ranging probe 210.
[0112] The multi-sensor data fusion method according to the embodiment of the present invention is as follows Figure 3 Shown, including:
[0113] S301, data acquisition and preprocessing: acquiring the distance values output by each distance measuring probe in the sliding shoe in real time, and performing sliding average filtering on each distance value;
[0114] S302, obtaining the output mean of the current frame: performing a de-extinction process on the five distance values after the sliding average filter of the current frame, and averaging the remaining three distance values to obtain the output mean of the current frame;
[0115] S303: Obtain the output reference value of the current frame and use it as the initial value of the sliding shoe output result; perform K-means clustering on the remaining three distance values to obtain two cluster center values, and use the cluster center value closest to the output mean of the current frame as the output reference value of the sliding shoe in the current frame;
[0116] S304, performing a product operation on the reference difference and the mean difference: if the product operation result is greater than 0, proceed to step S305; otherwise, proceed to step S314; wherein, the reference difference = the output reference value of the current frame - the output reference value of the frame before the current frame; the mean difference = the output mean of the current frame - the output mean of the frame before the current frame;
[0117] S305, determining a comparison result between the absolute value of the reference difference and the first preset value: if the absolute value of the reference difference is greater than the first preset value, executing step S306; otherwise, executing step S314;
[0118] S306, determining a comparison result between the absolute value of the reference difference and the second preset value: if the absolute value of the reference difference is greater than the second preset value, executing step S308; otherwise, executing step S307;
[0119] S307, correcting the initial value of the output result of the current frame of the shoe: the initial value of the output result of the current frame = the output result of the previous frame of the current frame + the first preset value * sign (reference difference);
[0120] S308. Obtaining window errors: Calculate a first window error A and a second window error B, compare the first window error A with a first error threshold, and compare the second window error B with a second error threshold. If A is greater than the first error threshold and B is greater than the second error threshold, execute step S310; otherwise, execute step S309. Wherein, A = abs(initial value of the output result of the current frame - output result of the first time window), window error B = abs(initial value of the output result of the current frame - output result of the second time window), where abs() represents absolute value. The output result of the first time window is the average of the output results of the sliding shoe of the past four frames, and the output result of the second time window is the average of the output results of the sliding shoe of the past four to seven frames.
[0121] S309, updating the output result of the current frame of the sliding shoe according to the output result of the time window: taking the time window whose window error is less than or equal to the corresponding error threshold as the target window, and taking the output result of the target window as the output result of the current frame of the sliding shoe;
[0122] S310. Calculate an intra-frame error and compare the intra-frame error with a third preset value. If the intra-frame error is greater than the third preset value, execute step S311; otherwise, execute step S312. Wherein, intra-frame error = abs(output result of the current frame of the slider - output mean of the current frame).
[0123] S311, correcting the output result of the current frame of the slider; wherein the correction value of the output result of the current frame of the slider = the output mean value of the current frame + the third preset value * sign (the output result of the current frame of the slider - the output mean value of the current frame);
[0124] S312. Calculate an inter-frame error and compare the inter-frame error with a fourth preset value. If the inter-frame error is greater than the fourth preset value, execute step S313; otherwise, execute step S314. Here, inter-frame error = abs(output result of the current frame of the slider - output result of the previous frame of the current frame).
[0125] S313: The output result of the current frame of the sliding shoe remains unchanged, and step S301 is executed until no new data is received;
[0126] S314: Use the output result of the previous frame of the current frame as the output result of the current frame of the sliding shoe, and execute step S301 until no new data is received.
[0127] The fusion effects of the method of the present invention and the traditional data fusion method of removing extreme values and averaging are compared. The fusion results of the method of the present invention and the traditional data fusion method of removing extreme values and averaging are shown as follows: Figure 4 and Figure 5 As shown. Figure 4 and Figure 5 As can be seen, the fused signal output by the inventive method has fewer glitches, is more stable and focused, and has stronger anti-interference performance, thus ensuring the reliability of the multi-sensor data fusion results. The inventive method can meet the millimeter-level accuracy requirements for asphalt paving thickness during leveling control. Traditional methods, however, cannot meet these millimeter-level accuracy requirements due to the high number of glitches and poor anti-interference performance. Figure 4 and Figure 5 In the figure, the horizontal axis represents the time in milliseconds, and the vertical axis represents the distance in millimeters.
[0128] The multi-sensor data fusion device provided by the present invention is described below. The multi-sensor data fusion device described below and the multi-sensor data fusion method described above can be referred to in correspondence with each other. Figure 6 As shown, the multi-sensor data fusion device of the present invention includes:
[0129] The data acquisition module 610 is used to acquire the sensor data output by multiple sensors in the sensor device in real time;
[0130] an initialization module 620, configured to determine an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and use the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame;
[0131] The updating module 630 is used to iteratively update the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference value of N frames before the current frame, and the output results of M frames before the current frame, so as to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0132] Based on the above embodiment, the initialization module 620 is specifically used to:
[0133] Clustering the sensor data output by the multiple sensors in the current frame, and determining a cluster center value corresponding to each sensor data based on the clustering result;
[0134] An output reference value of the sensing device in a current frame is determined based on the cluster center value corresponding to each of the sensing data.
[0135] Based on any of the above embodiments, the updating module 630 is specifically configured to:
[0136] Obtaining a difference between an output reference value of the current frame and an output reference value of a frame preceding the current frame as a reference difference;
[0137] When it is determined that the absolute value of the reference difference is greater than a first preset value, the initial value of the output result of the current frame is updated based on the output results of each time window of the sensing device before the current frame; wherein the time window includes one or more frames.
[0138] Based on any of the above embodiments, the updating module 630 is specifically configured to:
[0139] Calculating the absolute values of the differences between the initial value of the output result of the current frame and the output results of each time window before the current frame as window errors;
[0140] Determining a target window from each of the time windows based on a comparison result of the window error and a corresponding error threshold, wherein the error threshold corresponds to the time window in a one-to-one manner;
[0141] An initial value of the output result of the current frame is updated based on the output result of the target window.
[0142] Based on any of the above embodiments, the updating module 630 is further configured to:
[0143] Before updating the initial value of the output result of the current frame based on the output results of the sensing device in each time window before the current frame, when it is determined that the absolute value of the reference difference is greater than the first preset value and less than or equal to the second preset value, the initial value of the output result of the current frame is corrected based on the output result of the sensing device in the frame before the current frame, the first preset value and the reference difference.
[0144] Based on any of the above embodiments, the updating module 630 is further configured to:
[0145] Before iteratively updating the initial value of the output result of the current frame, determining an output mean value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame;
[0146] Obtaining a difference between the output mean of the current frame and the output mean of a frame before the current frame as a mean difference;
[0147] Based on the comparison result of the mean difference and the reference difference, it is determined whether the output reference value of the sensing device in the current frame is a valid value; the reference difference is the difference between the output reference value of the current frame and the output reference value of the previous frame of the current frame.
[0148] Based on any of the above embodiments, the method further includes a first correction module, configured to:
[0149] After obtaining the output result of the sensing device in the current frame, obtaining an absolute value of a difference between the output result of the sensing device in the current frame and an average output value of the sensing device in the current frame as an intra-frame error; wherein the average output value of the sensing device in the current frame is an average value of the sensing data output by the multiple sensors in the current frame;
[0150] When it is determined that the intra-frame error is greater than a third preset value, the output result of the sensing device in the current frame is corrected based on the output mean of the sensing device in the current frame and the third preset value.
[0151] Based on any of the above embodiments, the method further includes a second correction module, configured to:
[0152] After obtaining the output result of the sensing device in the current frame, obtaining an absolute value of a difference between the output result of the sensing device in the current frame and the output result of the sensing device in a frame previous to the current frame as an inter-frame error;
[0153] When it is determined that the inter-frame error is less than or equal to a fourth preset value, the output result of the sensing device in the current frame is updated based on the output result of the sensing device in the frame before the current frame.
[0154] Figure 7 An example of a physical structure diagram of an electronic device is shown below. Figure 7 As shown, the electronic device may include: a processor 710, a communication interface 720, a memory 730, and a communication bus 740, wherein the processor 710, the communication interface 720, and the memory 730 communicate with each other via the communication bus 740. The processor 710 may call logic instructions in the memory 730 to execute a multi-sensor data fusion method, which includes: acquiring sensor data output by multiple sensors in a sensor device in real time;
[0155] Determining an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and using the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame;
[0156] Based on the output reference value of the sensing device in the current frame, the output reference value of N frames before the current frame, and the output results of M frames before the current frame, the initial value of the output result of the current frame is iteratively updated to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0157] In addition, the logic instructions in the above-mentioned memory 730 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0158] On the other hand, the present invention further provides an engineering vehicle comprising the electronic device as described above.
[0159] Specifically, construction vehicles such as pavers, milling machines, etc.
[0160] On the other hand, the present invention further provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions, and when the program instructions are executed by a computer, the computer can perform the multi-sensor data fusion method provided by the above methods, the method comprising: acquiring sensor data output by multiple sensors in a sensor device in real time;
[0161] Determining an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and using the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame;
[0162] Based on the output reference value of the sensing device in the current frame, the output reference value of N frames before the current frame, and the output results of M frames before the current frame, the initial value of the output result of the current frame is iteratively updated to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0163] In another aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the computer program is implemented to perform the multi-sensor data fusion method provided above, the method comprising: acquiring sensor data output by multiple sensors in a sensor device in real time;
[0164] Determining an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and using the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame;
[0165] Based on the output reference value of the sensing device in the current frame, the output reference value of N frames before the current frame, and the output results of M frames before the current frame, the initial value of the output result of the current frame is iteratively updated to obtain the output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1.
[0166] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0167] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.
[0168] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A multi-sensor data fusion method, characterized in that: include: Acquire sensor data output by multiple sensors in a sensor device in real time; Determining an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and using the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame; Iteratively updating an initial value of the output result of the current frame based on an output reference value of the sensing device in the current frame, an output reference value of N frames before the current frame, and an output result of M frames before the current frame to obtain an output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1; The iterative updating of the initial value of the output result of the current frame based on the output reference value of the sensing device in the current frame, the output reference values of N frames before the current frame, and the output results of M frames before the current frame includes: Obtaining a difference between an output reference value of the current frame and an output reference value of a frame preceding the current frame as a reference difference; When it is determined that the absolute value of the reference difference is greater than a first preset value, the initial value of the output result of the current frame is updated based on the output results of each time window of the sensing device before the current frame; wherein the time window includes one or more frames.
2. The multi-sensor data fusion method according to claim 1, characterized in that: The determining, based on the sensing data output by the plurality of sensors in the current frame, an output reference value of the sensing device in the current frame, includes: Clustering the sensor data output by the multiple sensors in the current frame, and determining a cluster center value corresponding to each sensor data based on the clustering result; An output reference value of the sensing device in a current frame is determined based on the cluster center value corresponding to each of the sensing data.
3. The multi-sensor data fusion method according to claim 1, characterized in that: The updating of the initial value of the output result of the current frame based on the output results of each time window before the current frame by the sensing device includes: Calculating the absolute values of the differences between the initial value of the output result of the current frame and the output results of each time window before the current frame as window errors; Determining a target window from each of the time windows based on a comparison result of the window error and a corresponding error threshold, wherein the error threshold corresponds to the time window in a one-to-one manner; An initial value of the output result of the current frame is updated based on the output result of the target window.
4. The multi-sensor data fusion method according to claim 3, characterized in that: Before updating the initial value of the output result of the current frame based on the output results of each time window of the sensing device before the current frame, the method further includes: When it is determined that the absolute value of the benchmark difference is greater than the first preset value and less than or equal to the second preset value, the initial value of the output result of the current frame is corrected based on the output result of the sensing device in the previous frame of the current frame, the first preset value and the benchmark difference.
5. The multi-sensor data fusion method according to claim 1, characterized in that: Before iteratively updating the initial value of the output result of the current frame, the method further includes: Determining an output mean of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame; Obtaining a difference between the output mean of the current frame and the output mean of a frame before the current frame as a mean difference; Based on the comparison result of the mean difference and the reference difference, it is determined whether the output reference value of the sensing device in the current frame is a valid value; the reference difference is the difference between the output reference value of the current frame and the output reference value of the previous frame of the current frame.
6. The multi-sensor data fusion method according to claim 1, characterized in that: After obtaining the output result of the sensing device in the current frame, the method further includes: Obtaining an absolute value of a difference between an output result of the sensing device in the current frame and an average output value of the sensing device in the current frame as an intra-frame error; wherein the average output value of the sensing device in the current frame is an average value of the sensing data output by the multiple sensors in the current frame; When it is determined that the intra-frame error is greater than a third preset value, the output result of the sensing device in the current frame is corrected based on the output mean of the sensing device in the current frame and the third preset value.
7. The multi-sensor data fusion method according to claim 1, characterized in that: After obtaining the output result of the sensing device in the current frame, the method further includes: Obtaining an absolute value of a difference between an output result of the sensing device in a current frame and an output result of the sensing device in a frame previous to the current frame as an inter-frame error; When it is determined that the inter-frame error is less than or equal to a fourth preset value, the output result of the sensing device in the current frame is updated based on the output result of the sensing device in the frame before the current frame.
8. A multi-sensor data fusion device, characterized in that: include: A data acquisition module is used to acquire sensor data output by multiple sensors in the sensor device in real time; an initialization module, configured to determine an output reference value of the sensing device in the current frame based on the sensing data output by the multiple sensors in the current frame, and use the output reference value of the current frame as an initial value of an output result of the sensing device in the current frame; an updating module, configured to iteratively update an initial value of an output result of the current frame based on an output reference value of the sensing device in the current frame, an output reference value of N frames before the current frame, and an output result of M frames before the current frame, so as to obtain an output result of the sensing device in the current frame; wherein N is greater than or equal to 1, and M is greater than 1; The update module is specifically used to: Obtaining a difference between an output reference value of the current frame and an output reference value of a frame preceding the current frame as a reference difference; When it is determined that the absolute value of the reference difference is greater than a first preset value, the initial value of the output result of the current frame is updated based on the output results of each time window of the sensing device before the current frame; wherein the time window includes one or more frames.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the multi-sensor data fusion method according to any one of claims 1 to 7 is implemented.
10. An engineering vehicle, characterized in that: include: The electronic device according to claim 9.
Citation Information
Patent Citations
Real-time and accurate pose estimation method based on fiber-optic gyroscope, speed sensor and GPS
CN103777220A
Vehicle pose obtaining method and device based on vehicle-mounted multi-perception fusion
CN113984044A