Gyroscope data processing method, device, electronic equipment and storage medium
The gyroscope array data is fused by dynamically calculating data weights, which solves the limitations of traditional methods in real-time systems and achieves higher data fusion accuracy and system stability.
Patent Information
- Application Number
- CN202411979061.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2044-12-31
AI Technical Summary
In the prior art, traditional data fusion methods are used to fuse the data of each gyroscope in the gyroscope array, which is not suitable for real-time systems.
By collecting the data of each gyroscope in the gyroscope array, determining the data weights of the objective function and the data weights of each gyroscope data, dynamically computing the data weights to fuse the data, breaking the limitations of traditional methods in real-time systems.
Improves data fusion effect, ensures the accuracy of the gyroscope array, while providing stability and robustness to the system, improving measurement accuracy and stability.
Smart Images

Figure CN119394283B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of sensor technology, and in particular to a data processing method, device, electronic equipment and storage medium for a gyroscope. Background Art
[0002] A gyroscope, also called an angular velocity sensor, is an inertial detection device used to measure and control the angular motion of an object in a relative inertial space. It is widely used in navigation, aerospace, consumer electronics and other fields. However, a single gyroscope has certain limitations in terms of measurement accuracy and stability. To solve this problem, related technologies have proposed the concept of a gyroscope array, which refers to an array composed of multiple gyroscopes of the same model with parallel measurement axes that measure the same angular velocity signal.
[0003] In the related art, traditional data fusion methods such as least squares method, weighted least squares method, Bayesian estimation, Kalman filtering, etc. are usually used to fuse the data of each gyroscope in the above gyroscope array, which is not suitable for real-time systems. Summary of the invention
[0004] In view of this, the embodiments of the present disclosure propose a gyroscope data processing method, device, electronic device and storage medium to solve the problem in the related art that the traditional data fusion method is used to fuse the data of each gyroscope in the gyroscope array, which is not suitable for real-time systems.
[0005] According to a first aspect of the present disclosure, a gyroscope data processing method is provided, comprising: collecting gyroscope data of each gyroscope in a gyroscope array; determining a target function and a data weight of each gyroscope data based on the gyroscope data; the target function is used to determine fused data of the gyroscope array; determining the fused data of the gyroscope array based on the target function and the data weight of each gyroscope data, so as to complete a target task based on the fused data.
[0006] According to a second aspect of the present disclosure, a gyroscope data processing device is provided, comprising: an acquisition module, used to acquire gyroscope data of each gyroscope in a gyroscope array; a processing module, used to determine a target function and a data weight of each gyroscope data based on the gyroscope data; the target function is used to determine fused data of the gyroscope array; the processing module is also used to determine the fused data of the gyroscope array based on the target function and the data weight of each gyroscope data, so as to complete a target task based on the fused data.
[0007] According to a third aspect of the present disclosure, there is provided an electronic device, comprising: a processor; and a memory storing a program, wherein the program comprises instructions, and the instructions enable the processor to execute the above-mentioned gyroscope data processing method.
[0008] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned gyroscope data processing method.
[0009] The exemplary embodiments of the present disclosure may have some or all of the following beneficial effects:
[0010] In the data processing method of the gyroscope provided in the exemplary embodiment of the present disclosure, the gyroscope data of each gyroscope in the gyroscope array is collected; the target function and the data weight of each gyroscope data are determined based on the gyroscope data; the target function is used to determine the fusion data of the gyroscope array; the fusion data of the gyroscope array is determined based on the target function and the data weight of each gyroscope data, so as to complete the target task based on the fusion data. The embodiment of the present disclosure collects the data of each gyroscope in the gyroscope array, and determines the target function and the data weight of each gyroscope based on the collected gyroscope data, so that the gyroscope data in the gyroscope array can be fused based on the target function and the data weight of each gyroscope. By dynamically calculating the data weight, the limitations of the traditional data fusion method in the real-time system are broken, the data fusion effect is improved, and the system is provided with stability and robustness while ensuring the accuracy of the gyroscope array. In addition, compared with a single gyroscope, the fusion data obtained based on the gyroscope array has better measurement accuracy and stability, and the target task requiring gyroscope data can also be better completed based on the fusion data.
[0011] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Further details, features and advantages of the present disclosure are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0013] Figure 1 A flow chart showing a data processing method of a gyroscope according to an exemplary embodiment of the present disclosure is shown;
[0014] Figure 2 A schematic diagram of a gyroscope array in a gyroscope data processing method according to an exemplary embodiment of the present disclosure is shown;
[0015] Figure 3 An application scenario diagram of a gyroscope data processing method according to an exemplary embodiment of the present disclosure is shown;
[0016] Figure 4 A flow chart showing another gyroscope data processing method according to an exemplary embodiment of the present disclosure;
[0017] Figure 5 A schematic block diagram of a gyroscope data processing device of a gyroscope according to an exemplary embodiment of the present disclosure is shown;
[0018] Figure 6 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0020] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0021] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0022] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0023] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0024] A gyroscope, also called an angular velocity sensor, is an inertial detection device used to measure and control the angular motion of an object in a relative inertial space. It is widely used in navigation, aerospace, consumer electronics and other fields. However, a single gyroscope has certain limitations in terms of measurement accuracy and stability. To solve this problem, related technologies have proposed the concept of a gyroscope array, which refers to an array composed of multiple gyroscopes of the same model with parallel measurement axes that measure the same angular velocity signal.
[0025] Traditional methods for fusing the data of multiple gyroscopes in the above gyroscope array mainly include least squares method, weighted least squares method, Bayesian estimation, Kalman filtering, etc. Although the above methods are effective, they generally have limitations in real-time systems. For example, the least squares method is too sensitive to outliers; the weighted least squares method requires the selection of reasonable weights; Bayesian estimation and Kalman filtering have high computational complexity in real-time systems and high requirements for embedded systems.
[0026] In order to solve the problems existing in the above methods, the embodiments of the present disclosure provide a gyroscope data processing method, device, electronic device and storage medium. The scheme of the present disclosure is described below with reference to the accompanying drawings.
[0027] The present disclosure first provides a gyroscope data processing method. Figure 1 As shown, the data processing method of the gyroscope specifically includes the following steps:
[0028] S110: Collecting gyroscope data of each gyroscope in the gyroscope array;
[0029] S120: determining an objective function and a data weight of each gyroscope data based on the gyroscope data; the objective function is used to determine fusion data of the gyroscope array;
[0030] S130: Determine fusion data of the gyroscope array based on the objective function and the data weight of each gyroscope data, so as to complete the target task based on the fusion data.
[0031] The disclosed embodiment collects data from each gyroscope in the gyroscope array, and determines the target function and the data weight of each gyroscope based on the collected gyroscope data, so that the data of each gyroscope in the gyroscope array can be fused based on the target function and the data weight of each gyroscope. By dynamically calculating the data weight, the limitations of the traditional data fusion method in the real-time system are broken, the data fusion effect is improved, and while ensuring the accuracy of the gyroscope array, the stability and robustness of the system are also provided. In addition, compared with a single gyroscope, the fused data obtained based on the gyroscope array has better measurement accuracy and stability, and the target tasks that require gyroscope data can also be better completed based on the fused data.
[0032] Next, in another embodiment, the above steps are described in more detail.
[0033] In step S110 , gyroscope data of each gyroscope in the gyroscope array is collected.
[0034] In the embodiment of the present application, the above-mentioned gyroscope is also called an angular velocity sensor, which is a detection device used to measure and control the angular motion of an object in a relative inertial space.
[0035] In an embodiment of the present application, the above-mentioned gyroscope data may be angular velocity data collected by the above-mentioned gyroscope, and the angular velocity data may be used to help the device determine its own direction and position.
[0036] In the embodiment of the present application, the gyroscope array refers to an array composed of multiple gyroscopes of the same model whose measuring axes are parallel to each other and measure the same angular velocity signal. Compared with a single gyroscope, the angular velocity data obtained by the gyroscope array has higher measurement accuracy and reliability. For example, Figure 2 As shown, a gyroscope array based on a 4*4 order matrix design is shown. It should be noted that the above scenario is only an exemplary description, and the gyroscope array in the embodiment of the present application can also adopt other matrix sizes.
[0037] In the embodiment of the present application, illustratively, the gyroscope array may be a micro-electro-mechanical systems (MEMS) sensor.
[0038] In an embodiment of the present application, the above-mentioned acquisition of gyroscope data of each gyroscope in the gyroscope array can be implemented based on a field programmable gate array (FPGA) interface. Exemplarily, the FPGA interface can use a full-duplex synchronous serial bus (Serial Peripheral interface, SPI) to read the gyroscope data. Specifically, based on the above Figure 2 Taking the gyroscope array shown in FIG. 1 as an example, the FPGA uses a 16-way SPI bus to read the data of 16 gyroscopes, thereby greatly ensuring the real-time performance of the acquired gyroscope data.
[0039] In an embodiment of the present application, after reading the gyroscope data, the FPGA can further transmit the read gyroscope data to the Advanced RISC Machines (ARM), and the ARM performs the data fusion operation of the subsequent steps S120 to S130. Exemplarily, after reading the gyroscope data, the FPGA can store the read gyroscope data in a First In First Out (FIFO) queue, and generate a hardware interrupt for the ARM, so that the ARM reads the gyroscope data from the above FIFO queue. Among them, the above FIFO is a first-in-first-out storage address opened by the FPGA. The FPGA and the ARM use a flexible static memory controller (FSMC) bus to transmit data. The FPGA transmits the gyroscope data to the ARM through the FSMC bus, which can greatly improve the data interaction rate and reduce the data delay.
[0040] In the embodiment of the present application, for example, the FPGA reads the gyroscope data of each gyroscope in the gyroscope array and transmits the gyroscope data to the ARM. The application scenario diagram of the gyroscope array data fusion processing performed by the ARM can be as follows: Figure 3 Specifically, the FPGA can read the SPI bus at the same time at a cycle of 10kHz. Figure 3 The data of the 16 gyroscopes in the gyroscope array are written into the FIFO at the corresponding address. After writing the gyroscope data at 10 moments, a hardware interrupt with a period of 1kHz is generated for ARM to enable ARM to read the gyroscope data from the above FIFO queue. Assume that the output value of each gyroscope at time t is ,in, , then the data in FIFO is The interval between each two data is 0.1 millisecond.
[0041] In step S120, an objective function and a data weight of each gyroscope data are determined based on the gyroscope data; the objective function is used to determine the fusion data of the gyroscope array.
[0042] In the embodiment of the present application, the above-mentioned fused data may be data obtained by fusing the data of each gyroscope in the gyroscope array, that is, angular velocity data of the gyroscope array. The fused data has higher measurement accuracy than the data of a single gyroscope.
[0043] In an embodiment of the present application, the objective function is used to evaluate the fusion effect of the gyroscope data and determine the angular velocity data of the gyroscope array. Exemplarily, the objective function may be a variance function of the angular velocity data of the gyroscope array, and the angular velocity data of the gyroscope array is determined with the purpose of obtaining the minimum variance.
[0044] In the embodiment of the present application, the above data weight is the proportion of gyroscope data in data fusion.
[0045] In the embodiment of the present application, the above-mentioned determination of the objective function based on the gyroscope data and the data weight of each gyroscope data can be implemented as follows: obtaining the gyroscope data of each gyroscope in the gyroscope array within the target time period; wherein the target time period includes multiple target moments; preprocessing the gyroscope data of the target time period; determining the objective function and the data weight of each gyroscope data based on the preprocessed gyroscope data of the target time period. Exemplarily, the target time period can be the above During this period, the target time can be t 0 , t 1 , t 2 ......, t k time.
[0046] The process of preprocessing the gyroscope data in the target time period may be implemented as follows: calculating the average value of the gyroscope data in the target time period. For example, the average value may be calculated by the following formula: ; Calibrate the average value of the gyroscope data based on the error factor of the gyroscope to obtain calibration data; wherein the error factor of the gyroscope includes temperature drift error, inherent zero bias error and scale factor error. Exemplarily, the formula of the above calibration data can be as follows: , where ε T为 The temperature drift error of the gyroscope, δKg is the scale factor error of the gyroscope (δKg is the letter representation of the scale factor error), and ε is the inherent zero bias error of the gyroscope.
[0047] Specifically, the FPGA reads the Figure 3 As an example, the data of 16 gyroscopes in the gyroscope array shown in the figure is written, and after writing the gyroscope data at 10 moments, a hardware interrupt with a cycle of 1kHz is generated for ARM. The above target time period (i.e. The average value of the gyroscope data within a period of time can be calculated using the following formula:
[0048] ;
[0049] in, The total time is 1ms. express The average value of the gyroscope data at this moment.
[0050] Furthermore, in the calculation After the average value of the gyroscope data within the time period is obtained, the embodiment of the present application can calibrate the average value of the above gyroscope data by the following formula to eliminate the offset. Specifically, assuming that the temperature drift error of the gyroscope is ε T , the scale factor error is δKg (δKg is the letter representation of the scale factor error), the inherent zero bias error of the gyroscope is ε, then the data after the above average value calibration is:
[0051] ;
[0052] The temperature drift error of the gyroscope mentioned above refers to the difference between the gyroscope output value and the actual value caused by the change in gyroscope performance caused by temperature change. For example, temperature change will affect the parameters of the gyroscope such as vibration frequency, damping and coupling coefficient; the inherent zero bias error of the gyroscope mentioned above refers to the inherent error caused by factors such as manufacturing and installation when the gyroscope is in a static state. This inherent zero bias error will cause the attitude estimation value of the gyroscope to deviate from the true value; the scale factor error mentioned above is the error caused by inaccurate scale of the gyroscope sensor.
[0053] In an embodiment of the present application, after the gyroscope data is processed through the above-mentioned preprocessing process, the above-mentioned objective function can also be determined based on the processed gyroscope data. Exemplarily, the above-mentioned determination of the objective function based on the preprocessed gyroscope data of the target time period can be implemented as follows: the variance of the fused data is calculated based on the calibration data and the data weights of each gyroscope data to obtain the objective function. Exemplarily, the objective function can be determined by the following formula:
[0054] ;
[0055] Where ω is the predicted value of the fusion data of the gyroscope array, is the data weight of the i-th gyroscope data, is the number of gyroscopes in the gyroscope array, is the target time period, is the correction data within the target time period.
[0056] Specifically, the above gyroscope array includes 16 gyroscopes, and the target time period is For example, the objective function can be specifically as follows:
[0057] ;
[0058] in, represents the predicted value of the angular velocity data of the gyroscope array, represents the data weight of the i-th gyroscope, Represents the data calibrated after the above preprocessing process.
[0059] The above-mentioned determination of the data weight of each gyroscope data based on the preprocessed gyroscope data of the target time period can be implemented as follows: the variance of the gyroscope data in the target time period is calculated, which can be obtained by the following formula, for example: ; Determine the data weight of the gyroscope data within the target time period based on the variance of the gyroscope data. Exemplarily, the above data weight can be calculated by the following formula: .
[0060] Specifically, the above gyroscope array includes 16 gyroscopes, and the target time period is For example, the data weight of the above gyroscope can be determined by the following process:
[0061] First, calculate using the following formula The variance of the gyroscope data :
[0062] ;
[0063] but The calculation formula for the data weight of each gyroscope in the time period is:
[0064] ;
[0065] In step S130 , fusion data of the gyroscope array is determined based on the objective function and the data weight of each gyroscope data, so as to complete the target task based on the fusion data.
[0066] In the embodiment of the present application, the target task is a task that needs to be completed based on the angular velocity data of the gyroscope array (that is, the fusion data). Exemplarily, the target task may include navigation, camera anti-shake, measuring and maintaining direction, game control, posture detection and other tasks.
[0067] In an embodiment of the present application, after determining the objective function and the data weights of each gyroscope data through the above steps S110 to S120, further, the fusion data of the gyroscope array can be determined based on the objective function and the data weights of each gyroscope data. Exemplarily, the data fusion process can be implemented as follows: determine the fusion data that minimizes the objective function value as the fusion data of the gyroscope array. Specifically, determining the minimum value of the objective function can be achieved by the following method: determining the partial derivative function of the objective function with respect to the fusion data; determining the fusion data of the gyroscope array based on the partial derivative function and the data weights of the gyroscope data. Exemplarily, the above objective function The partial derivative function is as follows: .
[0068] Read the above FPGA at a period of 0kHz Figure 3 Taking the data of 16 gyroscopes in the gyroscope array shown in the figure, and generating a hardware interrupt with a period of 1kHz for ARM after writing the gyroscope data at 10 moments as an example, the objective function determined based on the calibration data obtained through the above preprocessing process is as follows:
[0069] ;
[0070] If you want to get the best data fusion effect, you need to take Specifically, the angular velocity Find the partial derivative and set the partial derivative function to zero, and get the calculation formula of the fusion data (that is, the angular velocity data of the gyroscope array) as follows:
[0071] ;
[0072] The angular velocity data calculated by the above formula is Always Figure 3 The angular velocity data of the gyroscope array (that is, the above-mentioned fused data) is obtained by fusing the gyroscope data of the 16 gyroscopes in the gyroscope array.
[0073] It should be noted that the above scenario is only an exemplary description, and the protection scope of the embodiments of the present application is not limited to this. The data processing method of the gyroscope in the time period is determined, and the above-mentioned gyroscope array can also be a gyroscope array of other sizes, etc.
[0074] In the embodiment of the present application, after obtaining the fused angular velocity data of the above-mentioned gyroscope array, the ARM can also output the fused angular velocity value through the serial port, or further use it for the above-mentioned navigation and other target tasks.
[0075] The disclosed embodiment collects data from each gyroscope in the gyroscope array, and determines the target function and the data weight of each gyroscope based on the collected gyroscope data, so that the data of each gyroscope in the gyroscope array can be fused based on the target function and the data weight of each gyroscope. By dynamically calculating the data weight, the limitations of the traditional data fusion method in the real-time system are broken, the data fusion effect is improved, and while ensuring the accuracy of the gyroscope array, the stability and robustness of the system are also provided. In addition, compared with a single gyroscope, the fused data obtained based on the gyroscope array has better measurement accuracy and stability, and the target tasks that require gyroscope data can also be better completed based on the fused data.
[0076] In a specific embodiment, the overall process of the gyroscope data processing method is described below:
[0077] like Figure 3 As shown, the gyroscope data processing method provided in the embodiment of the present application can fuse the data of each gyroscope in the gyroscope array based on the FPGA+ARM architecture. Exemplarily, the above-mentioned gyroscope array can be a MEMS gyroscope array. Specifically, the MEMS array adopts a 4*4-order matrix design, and the FPGA can use a 16-way SPI bus to read the data of the 16 gyroscopes in the MEMS gyroscope array to ensure real-time collection of the gyroscope data in the gyroscope array. The FPGA and ARM use the FSMC bus to transmit data, and the gyroscope data is fused by the ARM, which greatly improves the data interaction rate and reduces the data delay. Specifically, the above-mentioned process of collecting gyroscope data through FPGA and transmitting it to ARM, and the data fusion by ARM, such as Figure 4 As shown, the specific steps include:
[0078] Step S410: Collect gyroscope data.
[0079] In this step, the FPGA reads the data of 16 gyroscopes at the same time through the SPI bus at a cycle of 10kHz, writes the data of 16 three-axis gyroscopes into the FIFO under the corresponding address, and generates a hardware interrupt with a cycle of 1kHz for ARM after writing the gyroscope data at 10 moments. Each of the above 10 moments includes the data of 16 gyroscopes. If the output value of each gyroscope at time t is expressed as ,in, , then the data in FIFO is The interval between each two data is 0.1 millisecond.
[0080] Step S420: preprocessing the collected gyroscope data.
[0081] In this step, after receiving the above hardware interrupt, ARM immediately reads the data in the FIFO, and averages the data at 10 moments in the FIFO based on the following formula to obtain :
[0082] ;
[0083] in, The total time is 1ms. express The average value of the gyroscope data at this moment.
[0084] After obtaining the average value of the above gyroscope data, Perform calibration to eliminate the offset. Assume that the drift of the gyroscope with temperature is ε T , the scale factor error is δKg (δKg is the letter representation of the scale factor error), the inherent zero bias error is ε, then the calibrated data is:
[0085] ;
[0086] Step S430: define the objective function.
[0087] In this step, the objective function is to obtain the minimum variance. , used to evaluate the fusion effect of data, the objective function is as follows:
[0088] ;
[0089] Where ω is the predicted value of the angular velocity of the gyroscope array, is the data weight of the i-th gyroscope, It is the data after calibration in the above step S420.
[0090] Step S440: Determine the data weight of each gyroscope.
[0091] In this step, first calculate the The variance of the gyroscope data :
[0092] ;
[0093] but The calculation formula for the data weight of each gyroscope in the time period is:
[0094] ;
[0095] Step S450: Determine the fused angular velocity data of the gyroscope array.
[0096] In this step, in order to obtain the best fusion effect, the above objective function needs to be Take the minimum value. Specifically, we can find the partial derivative of the objective function with respect to the angular velocity ω, and set its partial derivative equal to 0, and obtain the calculation formula of ω as follows:
[0097] ;
[0098] Above That is, the angular velocity output obtained by fusing the data of each gyroscope in the gyroscope array at time t0~t9.
[0099] Step S460: Output the fused angular velocity value.
[0100] In this step, after the data processing is completed, ARM outputs the fused angular velocity value through the serial port, or further completes tasks such as navigation based on the obtained angular velocity data.
[0101] The gyroscope data processing method provided in the embodiment of the present application can dynamically calculate weights in a real-time system, solving the limitation of weighted least squares in real-time systems. It not only improves the accuracy of the gyroscope array, but also provides stability and robustness. In addition, the embodiment of the present application also greatly improves the effect of gyroscope data fusion without introducing the amount of calculation.
[0102] The above mainly introduces the solution provided by the embodiment of the present invention from the perspective of the method. In order to achieve the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present invention can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.
[0103] The embodiment of the present invention can divide the data processing device of the gyroscope into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present invention is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0104] Accordingly, the embodiment of the present disclosure also provides a gyroscope data processing device. Figure 5 As shown, the data processing device 500 of the gyroscope may include a collection module 510 and a processing module 520, wherein:
[0105] The acquisition module 510 may be used to acquire gyroscope data of each gyroscope in the gyroscope array;
[0106] The processing module 520 may be used to determine the objective function based on the gyroscope data and the data weight of each gyroscope data; the objective function is used to determine the fusion data of the gyroscope array;
[0107] The processing module 520 is further used to determine the fusion data of the gyroscope array based on the objective function and the data weight of each gyroscope data, so as to complete the target task based on the fusion data.
[0108] In an embodiment of the present application, the above-mentioned processing module is specifically used to: obtain gyroscope data of each gyroscope in the gyroscope array within a target time period; wherein the target time period includes multiple target moments; preprocess the gyroscope data of the target time period; determine the target function and the data weight of each gyroscope data based on the preprocessed gyroscope data of the target time period.
[0109] In an embodiment of the present application, the above-mentioned processing module is specifically used to: calculate the average value of the gyroscope data within the target time period; calibrate the average value of the gyroscope data based on the error factor of the gyroscope to obtain calibration data; wherein the error factor of the gyroscope includes temperature drift error, inherent zero bias error and scale factor error.
[0110] In the embodiment of the present application, the above-mentioned processing module is specifically used to: calculate the variance of the fusion data based on the calibration data and the data weights of each gyroscope data to obtain the objective function.
[0111] In the embodiment of the present application, the above-mentioned processing module is specifically used to: calculate the variance of the gyroscope data within the target time period; and determine the data weight of the gyroscope data within the target time period based on the variance of the gyroscope data.
[0112] In the embodiment of the present application, the above-mentioned processing module is specifically used to: determine the fusion data that minimizes the value of the objective function as the fusion data of the gyroscope array.
[0113] In an embodiment of the present application, the above-mentioned processing module is specifically used to: determine the partial derivative function of the objective function with respect to the fused data; and determine the fused data of the gyroscope array based on the partial derivative function and the data weight of the gyroscope data.
[0114] In addition, the specific implementation details of the gyroscope data processing device of the above-mentioned gyroscope have been described in detail in the corresponding position of the gyroscope data processing method, so they will not be repeated here.
[0115] Figure 6 Schematic diagram of the structure of an electronic device in the embodiment of the present disclosure. Figure 6 , which shows a structural schematic diagram of an electronic device 600 suitable for implementing the embodiments of the present disclosure. Figure 6 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0116] like Figure 6 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 to a random access memory (RAM) 603 to implement the data processing method of the gyroscope of the embodiment described in the present disclosure. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0117] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0118] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains a program code for executing the method shown in the flowchart, thereby implementing the data processing method of the gyroscope as described above. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0119] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may 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 of computer-readable storage media may include, but are not limited to: 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 the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. Computer readable signal media may also be any computer readable medium other than computer readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0120] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (Hyper Text Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0121] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0122] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device:
[0123] collecting gyroscope data of each gyroscope in the gyroscope array;
[0124] Determine the objective function and the data weight of each gyroscope data based on the gyroscope data; the objective function is used to determine the fusion data of the gyroscope array;
[0125] The fusion data of the gyroscope array is determined based on the objective function and the data weight of each gyroscope data, so as to complete the target task based on the fusion data.
[0126] Optionally, when the above one or more programs are executed by the electronic device, the electronic device may also execute other steps described in the above embodiments.
[0127] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, 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 cases involving 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).
[0128] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0129] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.
[0130] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0131] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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 foregoing.
[0132] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0133] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0134] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A gyroscope data processing method, characterized in that: include: collecting gyroscope data of each gyroscope in the gyroscope array; Acquire the gyroscope data of each gyroscope in the gyroscope array within a target time period; wherein the target time period includes a plurality of target moments; Calculating an average value of the gyroscope data within the target time period; Calibrate the average value of the gyroscope data based on the error factor of the gyroscope to obtain calibration data; wherein the error factor of the gyroscope includes temperature drift error, inherent zero bias error and scale factor error; Calculating the variance of the gyroscope data within the target time period; determining a data weight of the gyroscope data within the target time period based on the variance of the gyroscope data; The objective function is determined based on the calibration data and the data weights of each of the gyroscope data; wherein the expression of the objective function is: ; Wherein, ω is the predicted value of the fusion data of the gyroscope array, is the data weight of the i-th gyroscope data, is the number of the gyroscopes in the gyroscope array, is the target time period, The calibration data within the target time period; The fused data of the gyroscope array is determined based on the objective function and the data weight of each gyroscope data, so as to complete a target task based on the fused data.
2. The gyroscope data processing method according to claim 1, characterized in that: The determining the fusion data of the gyroscope array based on the objective function and the data weight of each gyroscope data comprises: Determine a partial derivative function of the objective function with respect to the fused data; The fused data of the gyroscope array is determined based on the partial derivative function and the data weights of the gyroscope data.
3. A gyroscope data processing device for a gyroscope, characterized in that: include: An acquisition module, used for acquiring gyroscope data of each gyroscope in the gyroscope array; A processing module, used for obtaining the gyroscope data of each gyroscope in the gyroscope array within a target time period; wherein the target time period includes multiple target moments; calculating the average value of the gyroscope data within the target time period; calibrating the average value of the gyroscope data based on the error factor of the gyroscope to obtain calibration data; wherein the error factor of the gyroscope includes temperature drift error, inherent zero bias error and scale factor error; calculating the variance of the gyroscope data within the target time period; determining the data weight of the gyroscope data within the target time period based on the variance of the gyroscope data; determining the objective function based on the calibration data and the data weight of each gyroscope data; wherein the expression of the objective function is: ; Wherein, ω is the predicted value of the fusion data of the gyroscope array, is the data weight of the i-th gyroscope data, is the number of the gyroscopes in the gyroscope array, is the target time period, The calibration data within the target time period; The processing module is further used to determine the fused data of the gyroscope array based on the objective function and the data weight of each gyroscope data, so as to complete the target task based on the fused data.
4. An electronic device comprising: processor; and a memory storing a program, wherein the program comprises instructions for causing the processor to execute the method according to any one of claims 1-2.
5. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-2.
Citation Information
Patent Citations
Unmanned aerial vehicle three-dimensional positioning method based on GNSS / inertial navigation / wireless base station fusion
CN114973036A
Shield tunneling attitude measurement method and system
CN116026322A