A neural network-based self-calibration method for three-axis MEMS magnetometers

By adopting a neural network-based autonomous calibration method, the problem of limited sample data in the calibration of triaxial MEMS magnetometers is solved. High-precision calibration of zero-point deviation, sensitivity factor and non-orthogonality factor is achieved, improving the robustness and accuracy of the calibration results. It is applicable to inertial navigation systems of unmanned systems.

CN116295531BActive Publication Date: 2026-04-10陈忠学
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-12
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing triaxial MEMS magnetometer calibration methods suffer from limited sample data, resulting in poor robustness, low accuracy, incomplete calibration error terms, and poor model accuracy, all of which affect the measurement accuracy of MEMS navigation systems.

Method used

An autonomous calibration method based on neural networks is adopted. The rotation axis is determined by autonomous hexahedral data acquisition and triaxial MEMS accelerator information. The neural network algorithm is used to calibrate the zero-position deviation, sensitivity factor and non-orthogonality factor, thereby improving the diversity of sample data and calibration accuracy.

Benefits of technology

It achieves rapid, autonomous, and high-precision calibration of triaxial MEMS magnetometers, enhancing the robustness and accuracy of calibration results, and is suitable for the initial calibration of inertial navigation systems in unmanned systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116295531B_ABST
    Figure CN116295531B_ABST
Patent Text Reader

Abstract

The application discloses a neural network-based self-calibration method for a three-axis MEMS magnetometer, comprising steps 1-10. The method can calibrate the zero deviation, sensitivity factor and non-orthogonal factor of the three-axis MEMS magnetometer, and the calibration model has high precision. The self-calibration method is adopted to collect hexahedral data, the rotating shaft is autonomously determined according to the three-axis MEMS magnetometer information, and the sample data is autonomously collected according to the magnetometer measurement information distribution method, so that the diversity of the sample data is improved, and the defects caused by the prior art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of self-calibration of tri-axis MEMS magnetometer, and particularly relates to a self-calibration method of tri-axis MEMS magnetometer based on neural network. BACKGROUND

[0002] MEMS inertial devices have great application potential in aerospace and military fields due to their small size, low cost, low power consumption and light weight;

[0003] Tri-axis MEMS magnetometer is an important component of MEMS inertial navigation system, which corrects the heading drift of the gyroscope according to the geomagnetic navigation. The measurement accuracy of the magnetometer determines the heading navigation accuracy of the carrier attitude. Accurate and reliable tri-axis MEMS magnetometer calibration is the basis for realizing high-precision geomagnetic navigation. Influenced by manufacturing process and surrounding environment, the tri-axis MEMS magnetometer inevitably has errors such as zero position and sensitivity during use. Therefore, accurate calibration must be performed before use. In the application of rapid and self-calibration of tri-axis MEMS magnetometer, the current calibration method faces the following problems:

[0004] (1) The sample data is limited, and it is difficult to calibrate a large amount of data. The robustness of the calibration result is poor, and the calibration accuracy is not high. The least square calibration method commonly used at present needs to collect and store all sample data first, and then perform parameter identification to extract the information of the estimated quantity. Restricted by the capacity of the micro navigation computer, the number of sample data cannot be too large. In this case, the robustness and accuracy of the calibration result based on small sample data are limited;

[0005] (2) The calibration error term is incomplete, and the model accuracy is poor. In the rapid and self-calibration without support of calibration equipment, the calibration model is simplified, such as using least square method to calibrate zero position deviation and sensitivity factor, and lacking calibration of non-orthogonal factor. The simplification of the model will further affect the calibration accuracy of the tri-axis MEMS magnetometer;

[0006] The above problems restrict the accuracy of rapid and self-calibration of MEMS magnetometer, and affect the measurement accuracy of the whole MEMS navigation system. SUMMARY

[0007] The technical problem to be solved by the present application is that the sample data is limited in the prior art method, it is difficult to calibrate a large amount of data, the calibration result has poor robustness, the calibration precision is not high, the calibration error term is incomplete, and the model precision is poor.

[0008] To solve the above technical problems, the present application provides the following technical solutions:

[0009] A neural network-based three-axis MEMS magnetometer self-calibration method, comprising the following steps:

[0010] Step 1: Establish a carrier coordinate system, and make the three-axis MEMS magnetometer and the three-axis MEMS accelerometer parallel to the axes of the carrier coordinate system;

[0011] Step 2: Measure the magnetic field intensity of the three axes of the carrier coordinate system, denoted as m, and the acceleration, denoted as a, wherein m=[m x ,m y ,m z ] T a=[a x ,a y ,a z ] T wherein T represents matrix transposition;

[0012] Step 3: Make the +x axis of the carrier coordinate system downward, and rotate around the +x axis, during the rotation, keep the acceleration measurement collected by the x axis satisfying the condition a x ≤-a min , that is, obtain the hexahedron +x surface data of the carrier coordinate system;

[0013] Step 4: Rotate the carrier coordinate system around the +x axis, collect the magnetometer measurement data of the y axis and the z axis, denoted as m y , m z , and calculate the included angle θ, θ=atan2(m y , m z ), when the included angle θ satisfies φ(j)<θ<φ(j+1), record the jth set of three-axis magnetic field intensity m xj =[m x , m y , m z ];

[0014] Wherein, the included angle θ is the included angle between y axis and z axis, Wherein j = 1, 2,..., N;

[0015] Step 5: calibrate the jth group of three-axis magnetic field intensity [m x ,m y ,m z ] once, run a neural network algorithm once to estimate and update the to-be-identified parameter η;

[0016] Step 6: rotate the carrier coordinate system around the +x axis by 360°, repeat steps 4 and 5 to traverse and collect N groups of magnetometer data of the +x face of the hexahedron;

[0017] Step 7: sequentially set the -x, +y, -y, +z, -z of the carrier coordinate system downward, and repeat steps 4-6 to calibrate the parameter η;

[0018] Step 8: record and store the final η;

[0019] Step 9: solve the matrix G containing the sensitivity factor and the non-orthogonal factor and the zero offset X0 of the calibration model according to η, and the formula is as follows:

[0020]

[0021] G = chol(A);

[0022]

[0023] Wherein, chol(A) represents the cholesky decomposition of matrix A, and η1-η9 are intermediate variables constructed without specific meaning.

[0024] Step 10: calibrated three-axis MEMS magnetometer correction output, the calibrated three-axis MEMS magnetometer correction output is:

[0025]

[0026] ”'

[0027] Wherein, m x , m y , m z are the original measurement values of the three-axis MEMS magnetometer, and m x , m y , m z are the calibrated output values.

[0028] The above-mentioned three-axis MEMS magnetometer self-calibration method based on neural network, wherein, in step 5, the jth group of three-axis magnetic field intensity [m x ,m y ,mz The specific method of performing a calibration, running a neural network algorithm to perform a parameter estimation and update of the to-be-identified parameter η is as follows:

[0029] Step 51: According to the current [m x ,m y ,m z ] to construct a vector D;

[0030]

[0031] Step 52: Introducing a neural network algorithm to identify η, using a three-layer neural network to identify:

[0032] Taking D as the input of the neural network and η as the output of the neural network, the error function is:

[0033]

[0034] Wherein, is the average value of the modulus of all collected [m x ,m y ,m z ], and the recursive formula is:

[0035]

[0036] The input layer has L=9 input signals, any of which is denoted by l, the hidden layer is I, that is, there are I neurons, any of which is denoted by i, the output layer is P, that is, there are P=9 output neurons, any of which is denoted by p, the synaptic weight between the input layer and the hidden layer is denoted by w li ; the synaptic weight between the hidden layer and the output layer is denoted by w ip , and the excitation function adopts a Sigmoid transfer function.

[0037] Forward propagation formula:

[0038]

[0039]

[0040]

[0041] Back propagation formula:

[0042]

[0043] The above-mentioned self-calibration method of a three-axis MEMS magnetometer based on a neural network, wherein the specific method of sequentially pointing the -x, +y, -y, +z, -z of the carrier coordinate system downward in step 7 and repeating steps 4-6 to calibrate the parameter η is as follows:

[0044] Step 71: Turn -x of the body coordinate system down, keep the acceleration measurement of x axis collected to satisfy the condition a x ≥ a min , repeat step 4-step 6 to rotate the collected data [m x , m y , m z ] around -x axis, calibration parameter η;

[0045] Step 72: Turn +y of the body coordinate system down, keep the acceleration measurement of y axis collected to satisfy the condition a y ≤ -a min , repeat step 4-step 6 to rotate the collected data [m x , m y , m z ] around +y axis, calibration parameter η;

[0046] Step 73: Turn -y of the body coordinate system down, keep the acceleration measurement of y axis collected to satisfy the condition a y ≥ a min , repeat step 4-step 6 to rotate the collected data [m x , m y , m z ] around -y axis, calibration parameter η;

[0047] Step 74: Turn +z of the body coordinate system down, keep the acceleration measurement of z axis collected to satisfy the condition a z ≤ -a min , repeat step 4-step 6 to rotate the collected data [m x , m y , m z ] around +z axis, calibration parameter η;

[0048] Step 75: Turn -z of the body coordinate system down, keep the acceleration measurement of z axis collected to satisfy the condition a z ≥ a min , repeat step 4-step 6 to rotate the collected data [m x , m y , m z ] around -z axis, calibration parameter η.

[0049] The application discloses a self-calibration method for a three-axis MEMS magnetometer based on a neural network.

[0050] The technical scheme provided by the self-calibration method for the three-axis MEMS magnetometer based on the neural network has the following technical effects:

[0051] (1) The neural network algorithm is used for the calibration of the three-axis MEMS magnetometer, the information of the estimated parameter is extracted after each group of data is collected, a large amount of sample data does not need to be stored, the calibration of the magnetometer can be performed through a large amount of sampling, the precision of the estimated parameter is improved, and the robustness of the calibration result is enhanced;

[0052] (2) The self-calibration method can calibrate the zero deviation, the sensitivity factor and the non-orthogonal factor of the three-axis MEMS magnetometer, and the calibration model has high precision;

[0053] (3) The self-calibration method adopts a self-determined hexahedral data collection method, and the rotation axis is determined according to the three-axis MEMS accelerometer information;

[0054] (4) The self-calibration method is used to collect sample data according to the magnetometer measurement information, and the diversity of the sample data is improved;

[0055] (5) The whole calibration method is self-determined, does not rely on calibration equipment, and has small calculation amount, and can be applied to the rapid calibration of the three-axis MEMS magnetometer of a MEMS navigation system of an unmanned aerial vehicle. BRIEF DESCRIPTION OF DRAWINGS

[0056] Figure 1 The flowchart of the self-calibration method for the three-axis MEMS magnetometer based on the neural network is shown. DETAILED DESCRIPTION

[0057] In order to make the technical means, creative features, purposes and effects of the application easy to understand, the technical scheme in the embodiment of the application is clearly and completely described in combination with specific drawings. Obviously, the described embodiment is a part of the embodiments of the application, rather than all the embodiments.

[0058] Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0059] It should be noted that the structures, proportions, sizes, etc., illustrated in the accompanying drawings of this specification are only used to complement the content disclosed in the specification for those skilled in the art to understand and read, and are not intended to limit the conditions under which the present invention can be implemented. Therefore, they have no substantial technical significance. Any modifications to the structure, changes in the proportions, or adjustments to the size, without affecting the effects and objectives that the present invention can produce, should still fall within the scope of the technical content disclosed in the present invention.

[0060] Furthermore, the terms such as "upper," "lower," "left," "right," "middle," and "one" used in this specification are merely for clarity of description and are not intended to limit the scope of the invention. Any changes or adjustments to their relative relationships, without substantially altering the technical content, should also be considered within the scope of the invention.

[0061] A preferred embodiment of the present invention provides a neural network-based autonomous calibration method for a triaxial MEMS magnetometer. The purpose is to calibrate the zero-point deviation, sensitivity factor, and non-orthogonality factor of the triaxial MEMS magnetometer, with high calibration model accuracy. It employs an autonomous hexahedral data acquisition method to autonomously determine the rotation axis based on the triaxial MEMS accelerometer information. It also improves the diversity of sample data by autonomously traversing and collecting sample data based on the uniform distribution of magnetometer measurement information.

[0062] like Figure 1 As shown, a method for autonomous calibration of a three-axis MEMS magnetometer based on neural networks includes the following steps:

[0063] Step 1: Establish the carrier coordinate system and align the axes of the triaxial MEMS magnetometer and triaxial MEMS accelerator with the axes of the carrier coordinate system.

[0064] Step 2: Measure the magnetic field strength along the three axes of the carrier coordinate system, denoted as m, and the acceleration as a, where m = [m...]. x ,m y ,m z ] T , a = [a x ,a y ,a z ] T , where T represents the matrix transpose;

[0065] Step 3: Position the carrier coordinate system so that the +x axis points downwards, and rotate it around the +x axis. During the rotation, ensure that the acceleration measurement acquired along the x-axis satisfies condition a. x ≤-amin , i.e. the hexahedron +x face data of the carrier coordinate system is obtained;

[0066] Step 4: Rotate the carrier coordinate system around the +x axis, and collect the magnetometer measurement data of the y axis and the z axis, denoted as m y , m z , and calculate the included angle θ, θ = atan2(m y , m z ), when the included angle θ satisfies φ(j) < θ < φ(j+1), record the jth set of three-axis magnetic field intensity m +xj = [m x , m y , m z ];

[0067] wherein the included angle θ is the included angle between the y axis and the z axis, wherein j = 1, 2, …, N;

[0068] Step 5: calibrate the jth set of three-axis magnetic field intensity [m x , m y , m z ] once, and run a neural network algorithm once to estimate and update the to-be-identified parameter η;

[0069] Step 6: rotate the carrier coordinate system around the +x axis by 360°, repeat steps 4 and 5, and traverse to collect and calibrate N sets of magnetometer data of the hexahedron +x face;

[0070] Step 7: in turn, make the -x, +y, -y, +z, and -z of the carrier coordinate system face downward, and repeat steps 4 to 6 to calibrate the parameter η;

[0071] Step 8: record and store the final η;

[0072] Step 9: according to η, solve the matrix G containing the sensitivity factor and the non-orthogonal factor of the calibration model and the zero offset X0, and the formula is as follows:

[0073]

[0074] G = chol(A);

[0075]

[0076] wherein chol(A) represents the cholesky decomposition of the matrix A, and η1-η9 are intermediate variables constructed and have no specific meaning;

[0077] Step 10: calibrate the output of the three-axis MEMS magnetometer, and the calibrated output of the three-axis MEMS magnetometer is:

[0078]

[0079] wherein m x , m y , m z are raw measurement values of the tri-axis MEMS magnetometer, m' x , m' y , m' z are output values after calibration.

[0080] The tri-axis MEMS magnetometer self-calibration method based on neural network, wherein the step 5 calibrates the jth group of tri-axis magnetic field intensity [m x , m y , m z ] once, and the specific method of running the neural network algorithm to estimate and update the to-be-identified parameter η once is as follows:

[0081] Step 51: construct a vector D according to the current [m x , m y , m z ];

[0082]

[0083] Step 52: introduce the neural network algorithm to identify η, and use a three-layer neural network to identify:

[0084] Take D as the input of the neural network, and take η as the output of the neural network, and the error function is:

[0085]

[0086] wherein, is the average value of the modulus of all collected [m x , m y , m z ], and the recursive formula is:

[0087]

[0088] The input layer has L=9 input signals, any of which is denoted by l, the hidden layer is I, that is, there are I neurons, any of which is denoted by i, the output layer is P, that is, there are P=9 output neurons, any of which is denoted by p, the synaptic weight value between the input layer and the hidden layer is denoted by w li ; the synaptic weight value between the hidden layer and the output layer is denoted by w ip , and the excitation function adopts a Sigmoid transfer function.

[0089] Forward propagation formula:

[0090]

[0091] Back propagation formula:

[0092]

[0093] The self-calibration method of the neural network-based three-axis MEMS magnetometer, wherein the specific method for calibrating the parameter η by repeating steps 4-6 with the -x, +y, -y, +z, and -z directions of the carrier coordinate system downward is as follows:

[0094] Step 71: With the -x direction of the carrier coordinate system downward, keep the acceleration measurement quantity collected on the x axis satisfying the condition a x ≥a min , and repeat steps 4-6 to collect data [m x , m y , m z ] and calibrate the parameter η around the -x axis;

[0095] Step 72: With the +y direction of the carrier coordinate system downward, keep the acceleration measurement quantity collected on the y axis satisfying the condition a y ≤-a min , and repeat steps 4-6 to collect data [m x , m y , m z ] and calibrate the parameter η around the +y axis;

[0096] Step 73: With the -y direction of the carrier coordinate system downward, keep the acceleration measurement quantity collected on the y axis satisfying the condition a y ≥a min , and repeat steps 4-6 to collect data [m x , m y , m z ] and calibrate the parameter η around the -y axis;

[0097] Step 74: With the +z direction of the carrier coordinate system downward, keep the acceleration measurement quantity collected on the z axis satisfying the condition a z ≤-a min , and repeat steps 4-6 to collect data [m x , m y , m z ] and calibrate the parameter η around the +z axis;

[0098] Step 75: With the -z direction of the carrier coordinate system downward, keep the acceleration measurement quantity collected on the z axis satisfying the condition a z ≥a min , and repeat steps 4-6 to collect data [m x , m y , m z ] and calibrate the parameter η around the -z axis.

[0099] In summary, the self-calibration method of the three-axis MEMS magnetometer based on the neural network can calibrate the zero deviation, sensitivity factor and non-orthogonal factor of the three-axis MEMS magnetometer, and the calibration model has high precision; the self-calibration hexahedral data acquisition method is adopted, the rotation axis is autonomously determined according to the three-axis MEMS magnetometer information, and the sample data is autonomously and evenly collected according to the magnetometer measurement information, thereby improving the diversity of the sample data.

[0100] The specific embodiments of the application are described above. It should be understood that the application is not limited to the specific embodiments described above, and that the devices and structures not described in detail should be understood as being implemented in the ordinary way in the art; those skilled in the art can make various modifications or changes within the scope of the claims, and make several simple deductions, modifications or replacements, which do not affect the essential content of the application.

Claims

1. A neural network-based self-calibration method for a three-axis MEMS magnetometer, characterized in that, Comprising the following steps: Step 1: Establishing a carrier coordinate system, the axes of the three-axis MEMS magnetometer and the three-axis MEMS accelerometer are parallel to the axes of the carrier coordinate system; Step 2: Measure the magnetic field intensity of the three axes of the carrier coordinate system, respectively, denoted as , acceleration denoted as , wherein , , wherein T represents matrix transposition; Step 3: Adjust the coordinate system of the carrier... The axis is facing downwards and around The axis rotates, and during the rotation, it remains... The acceleration measurement acquired by the axis meets the conditions That is, the hexahedron of the carrier coordinate system is obtained. Surface data; Step 4: Rotate the carrier coordinate system around the x-axis, collect the magnetometer measurement data of the y-axis and the z-axis, denoted as , , , , , , , , ; wherein the included angle is the included angle between the y-axis and the z-axis, wherein ; Step 5: to the first Group three axial magnetic field strength Once calibration, run a neural network algorithm for calibration parameters Once parameter estimation and update; Step 6: Rotate the carrier coordinate system around the z-axis by 360°, repeat Step 4, Step 5, traverse the acquisition, calibration of the hexahedron faces. magnetometer data;​​ Step 7: The coordinate system of the carrier is calibrated in sequence , , , , Step 4~Step 6 down, repeat the parameters ; Step 8: Record the final ; Step 9: According to Solving the calibration model containing sensitivity factors and non-orthogonal factors , zero bias , the formula is as follows: ; ; ; wherein, represents a cholesky decomposition of the matrix 1- 9 is an intermediate variable of the construction;​ Step 10: The calibrated three-axis MEMS magnetometer correction output, the calibrated three-axis MEMS magnetometer correction output is: ; wherein, , , are raw measurement values of a tri-axial MEMS magnetometer, , , are calibrated output values, The first step is to determine the first The third group of the axial magnetic field strength A calibration is performed, and a neural network algorithm is run to calibrate the parameters The specific method of parameter estimation and updating is as follows: Step 51 : According to the current Constructing vectors ; ; Step 52: Introducing neural network algorithm recognition using a three-layer neural network for recognition: With As input to the neural network, As output of the neural network, the error function is: ; wherein is the average value of all collected of the mode, whose recursive formula is: ; The input layer has =9 input signals, any one of which is used This indicates that the hidden layer is That is, There are 10 neurons, any one of which is used with 10 neurons. This indicates that the output layer is That is, =9 output neurons, any one of which uses This indicates that the synaptic weights between the input layer and the hidden layer are represented by... Indicates; the synaptic weights between the hidden layer and the output layer are represented by This indicates that the excitation function uses the Sigmoid transfer function; Forward propagation formula: ; Back propagation formula: 。 2. The neural network-based self-calibration method for a three-axis MEMS magnetometer according to claim 1, wherein, In step 7, the coordinate system of the carrier is successively transformed , , , , downwards, and the parameters are calibrated repeatedly in steps 4-6 as follows: Step 71: The coordinate system of the carrier... Face down, keep The acceleration measurement acquired by the axis meets the conditions. Repeat steps 4 through 6. Axis rotation data acquisition Calibration parameters ; Step 72: the coordinate system of the carrier is down, keep the acceleration measurement collected by the axis to meet the condition , repeat steps 4~6 to rotate the data collection around the axis , calibrate parameters ; Step 73: Adjust the coordinate system of the carrier... Face down, keep The acceleration measurement acquired by the axis meets the conditions. Repeat steps 4 through 6. Axis rotation data acquisition Calibration parameters ; Step 74: the coordinate system of the carrier is transformed into the coordinate system of the target object down, keep the acceleration measurement collected by the axis satisfying the condition , repeat steps 4~6 to rotate the data collection around the axis , calibrate parameters ; Step 75: the coordinate system of the carrier is down, keep the acceleration measurement collected by the axis to meet the condition , repeat steps 4~6 to rotate the data collected around the axis , calibrate the parameters .

Citation Information

Patent Citations

  • Positioning and posture measurement method for online estimating and compensating error of magnetometer in real time

    CN108151765A

  • Two-step calibration method for strapdown three-axis magnetometer

    CN114089244A