A method, system, electronic device and storage medium for calibrating a nine-axis imu

By using a handheld or stationary inclined plane to rotate the nine-axis IMU, an error model is established and calibration is performed using a minimization algorithm. This solves the problems of high cost and scenario limitations in existing technologies, and achieves zero-cost, fast nine-axis IMU calibration.

CN116086493BActive Publication Date: 2026-02-17WUHAN JIMU INTELLIGENT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211597869.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-12
Publication Date
2026-02-17
Estimated Expiration
2042-12-12

AI Technical Summary

Technical Problem

Existing IMU calibration methods rely on high-precision turntables, which are costly and have poor versatility, making them unsuitable for nine-axis IMU calibration and lacking universality.

Method used

By hand-holding or placing it on a stationary inclined plane, the nine-axis IMU is rotated around its own three axes to collect data and separate static and dynamic states. Error models of the accelerometer, gyroscope, and magnetometer are established, and calibration is performed using a minimization algorithm.

Benefits of technology

It achieves zero-cost, scenario-free nine-axis IMU calibration, can complete sensor calibration in minutes, reduces computing power requirements, and is suitable for a variety of scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116086493B_ABST
    Figure CN116086493B_ABST
Patent Text Reader

Abstract

The application provides a kind of nine-axis IMU calibration method, system, electronic equipment and storage medium, method includes: nine-axis IMU is rotated around own xyz axis respectively, in different postures stationary for a predetermined length of time, IMU raw data is collected;Segment stationary state and motion state data;Average stationary state acceleration;Establish accelerometer error model, so that acceleration vector module length and gravity acceleration module length is consistent, calibrate the error parameter of accelerometer;The acceleration obtained after the initial acceleration of motion state is rotated with gyro angular velocity, compared with the end acceleration actually collected, calibrate the gyroscope through gyro error model;The change of the direction of the initial magnetometer data of motion state and the direction of the end magnetometer data is compared with the change of the angle direction measured by the gyroscope, and the magnetometer is calibrated through the magnetometer error model.The application does not depend on hardware equipment, can accurately calibrate the data of nine-axis IMU, has no scene limit, and is low in cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data calibration technology, and more specifically to a calibration method, system, electronic device, and storage medium for a nine-axis IMU. Background Technology

[0002] Inertial Measurement Units (IMUs) are crucial sensors that play a vital role in various industrial applications. IMU accuracy is paramount for improving product performance and enhancing user experience. However, in practical use, errors caused by zero-bias errors and scaling factors on each axis, as well as errors due to axis non-orthogonality, all reduce the accuracy of the final position and attitude estimation. Therefore, sensor calibration is necessary before the IMU can operate, ensuring it outputs accurate data.

[0003] However, many current IMU calibration methods require external equipment. They involve rotating the IMU with fixed parameters to correct gyroscope errors, ensuring the sensor data matches the motion parameters, and then applying a specific attitude to the IMU to correct accelerometer error parameters. Therefore, existing IMU calibration methods (such as CN210400412U) rely on high-precision turntables, require specific hardware, are costly, and have limited site requirements, resulting in poor versatility. Furthermore, some calibration methods lack universality and cannot be applied to the calibration of nine-axis IMUs. Summary of the Invention

[0004] In view of this, embodiments of this application provide a calibration method, system, electronic device, and storage medium for a nine-axis IMU. This method does not rely on hardware devices, can accurately calibrate the data of a nine-axis IMU, has no scene limitations, is more convenient, and achieves zero cost.

[0005] This application provides the following technical solution: a calibration method for a nine-axis IMU, comprising:

[0006] The nine-axis IMU is rotated by a set angle around its x, y, and z axes, and held stationary for a preset duration in different postures to collect raw IMU data. The raw IMU data includes accelerometer data, gyroscope data, and magnetometer data.

[0007] Based on the changes in gyroscope data, static state data and motion state data are segmented from the raw IMU data; the static state data is the data collected by the nine-axis IMU when it is stationary for a preset time in different postures, and the motion state data is the data collected by the nine-axis IMU when it is rotating.

[0008] The acceleration data in the static state data are averaged to obtain the average acceleration value at each pose; an accelerometer error model is established so that the magnitude of the acceleration vector is consistent with the magnitude of the gravitational acceleration, and the error parameters of the accelerometer are calibrated through the accelerometer error model;

[0009] After calibrating the error parameters of the accelerometer, the acceleration data obtained by rotating the initial acceleration in each segment of motion state data using the gyroscope's angular velocity is compared with the final acceleration in the actual acquired segment of motion state data to obtain the acceleration error parameters. The gyroscope is then calibrated by minimizing these acceleration error parameters using the gyroscope error model.

[0010] After calibrating the gyroscope, the changes in the direction of the starting and ending magnetometer data in each segment of motion state data are compared with the changes in the angle direction measured by the gyroscope to obtain the angle error parameter. The magnetometer is then calibrated by minimizing this angle error parameter through the magnetometer error model.

[0011] According to one embodiment of this application, the process of segmenting static state data and dynamic state data from the raw IMU data based on changes in gyroscope data includes:

[0012] Based on the gyroscope data, a segment of data in which the magnitude of the angular velocity vector is continuously less than a set threshold within the preset time period is selected to obtain the static state data, and the remaining data is the motion state data.

[0013] According to one embodiment of this application, an accelerometer error model is established so that the magnitude of the acceleration vector is consistent with the magnitude of gravitational acceleration. The accelerometer error parameters are calibrated using the accelerometer error model, including:

[0014] Based on the accelerometer error model, the acceleration error function of the accelerometer error model is obtained, and the acceleration error function is minimized to calibrate the error parameters of the accelerometer.

[0015] The acceleration error function acc_cal = Ta * Ka * (acc_raw + Ba);

[0016] Where Ta is the accelerometer scale error, Ka is the accelerometer non-orthogonality error, Ba is the accelerometer zero bias error, and acc_raw is the acceleration mean vector.

[0017] According to one embodiment of this application, an acceleration error parameter is obtained, and the gyroscope is calibrated by minimizing the acceleration error parameter using a gyroscope error model, including:

[0018] By using the gyroscope error model, the gyroscope error function of the gyroscope error model is obtained, and the gyroscope is calibrated by minimizing the gyroscope error function.

[0019] The gyroscope error function is defined as gyro_cal = Tg * Kg * (gyro_raw + Bg).

[0020] Where Tg is the gyroscope scaling error, Kg is the gyroscope non-orthogonality error, Bg is the gyroscope zero bias error, and gyro_raw is a matrix composed of angular velocity vectors in the motion state data.

[0021] According to one embodiment of this application, obtaining an angle error parameter and calibrating the magnetometer by minimizing the angle error parameter using a magnetometer error model includes:

[0022] By using the magnetometer error model, the magnetometer error function of the magnetometer error model is obtained, and the magnetometer is calibrated by minimizing the magnetometer error function.

[0023] The magnetometer error function is mag_cal = Tm2a * (mag_raw + Bm), where Bm is the magnetometer zero bias error, Tm2a is the transformation matrix from the magnetometer coordinate system to the acceleration coordinate system, and mag_raw is the matrix composed of magnetic vectors in the motion state data.

[0024] This application also provides a calibration system for a nine-axis IMU, including:

[0025] The data acquisition module is used to acquire raw IMU data. The raw IMU data is obtained by rotating the nine-axis IMU around its own x, y, and z axes by a set angle and keeping it stationary for a preset duration in different postures. The raw IMU data includes accelerometer data, gyroscope data, and magnetometer data.

[0026] The data segmentation module is used to segment static state data and motion state data from the raw IMU data based on the data changes of the gyroscope; the static state data is the data collected by the nine-axis IMU when it is stationary for a preset time in different postures, and the motion state data is the data collected by the nine-axis IMU when it is rotating.

[0027] An accelerometer calibration module is used to average the acceleration data in the static state data to obtain the average acceleration value at each pose; establish an accelerometer error model to make the magnitude of the acceleration vector consistent with the magnitude of the gravitational acceleration; and calibrate the error parameters of the accelerometer through the accelerometer error model.

[0028] The gyroscope calibration module is used to, after calibrating the error parameters of the accelerometer, compare the acceleration data obtained by rotating the initial acceleration in each segment of motion state data with the actual acquired final acceleration in the same segment of motion state data to obtain the acceleration error parameter, and then calibrate the gyroscope by minimizing the acceleration error parameter through the gyroscope error model.

[0029] The magnetometer calibration module is used to compare the changes in the direction of the starting and ending magnetometer data in each segment of motion state data with the changes in the angle direction measured by the gyroscope after calibrating the gyroscope, obtain the angle error parameter, and calibrate the magnetometer by minimizing the angle error parameter through the magnetometer error model.

[0030] According to one embodiment of this application, during the process of the data acquisition module acquiring raw IMU data, the IMU device is rotated around its own xyz axes by being held by hand or placed on a stationary inclined plane.

[0031] This application also provides an electronic device, including a processor and a memory, wherein the memory stores instructions that can be executed by the processor, and the processor can execute the instructions to implement the above-described method.

[0032] This application also provides a storage medium storing a program that, when executed by a processor, implements the above-described method.

[0033] Compared with existing technologies, the beneficial effects achieved by at least one of the above-mentioned technical solutions adopted in the embodiments of this specification include at least the following: This solution does not require the assistance of other external devices. By handheld sensors placed in a set of different static poses, the errors of the accelerometer, gyroscope, and magnetometer are calibrated simultaneously, effectively solving the IMU calibration problem. Furthermore, this solution significantly relaxes the limitations on scenarios, does not restrict the size of the device, and has relatively low computational requirements, making it more convenient and achieving zero cost. Moreover, compared with other static multi-pose calibration methods, this application can accurately calibrate a total of nine axes of data from the accelerometer, gyroscope, and magnetometer. In scenarios without strong magnetic interference, the sensor calibration operation of a nine-axis IMU device can be completed within a few minutes. Attached Figure Description

[0034] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 This is a schematic flowchart of the calibration method for a nine-axis IMU according to an embodiment of the present invention;

[0036] Figure 2 This is a schematic diagram of the calibration system of the nine-axis IMU according to an embodiment of the present invention;

[0037] Figure 3 This is a schematic diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation

[0038] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0039] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments, providing a clear and complete description of the technical solutions of the present invention. Obviously, the described embodiments are merely some embodiments of the present invention, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.

[0040] like Figure 1 As shown, this embodiment of the invention provides a calibration method for a nine-axis IMU, including:

[0041] S 1. Rotate the nine-axis IMU around its own xyz axes by a set angle, and keep it stationary for a preset time in different postures to collect raw IMU data; the raw IMU data includes accelerometer data, gyroscope data and magnetometer data.

[0042] In step 1, when collecting the raw IMU data, a fixture can be used to precisely control the angle of each IMU rotation, replacing handheld operation and providing prior conditions for subsequent calibration calculations. However, using a fixture is more expensive and not universally applicable to IMUs of different models and sizes. Therefore, this embodiment preferably uses handheld operation or placement on a stationary inclined plane to rotate the IMU device around its own xyz axes, pausing for several seconds in each posture to collect static data. Furthermore, the method in this embodiment can complete the calibration operation solely through handheld operation or placement on a stationary inclined plane, with zero cost and no scene limitations.

[0043] S2. Based on the data changes of the gyroscope, the static state data and the motion state data are separated from the raw IMU data; the static state data is the data collected by the nine-axis IMU when it is stationary for a preset time in different postures, and the motion state data is the data collected by the nine-axis IMU when it is rotating.

[0044] In step 2, after acquiring the raw IMU data, the data is preprocessed to separate the static state data from the dynamic state data. Specifically, when the device is stationary, the magnitude of the angular velocity vector measured by the gyroscope should be close to zero. Therefore, based on the gyroscope readings, a segment of data is selected where the magnitude of the angular velocity vector remains consistently below a certain threshold for a period of time. Each segment of data must be several seconds long to match the static time at each pose during the previous data acquisition phase, preventing brief pauses during motion. This separates the static phase data from the dynamic phase data between each two static phases. Then, each segment of data from the static phase is averaged to obtain the readings for a stable static state at each pose.

[0045] S3. Average the acceleration data in the static state data to obtain the average acceleration value at each pose; establish an accelerometer error model to make the magnitude of the acceleration vector consistent with the magnitude of the gravitational acceleration, and calibrate the error parameters of the accelerometer through the accelerometer error model;

[0046] Step 3 is the calibration of the accelerometer: When stationary, regardless of the position, the accelerometer will only measure the acceleration due to gravity. Therefore, in the obtained average static acceleration data, the magnitude of the acceleration vector should theoretically be equal to the magnitude of the local gravitational acceleration g.

[0047] The error model for the accelerometer is described as acc_cal = Ta * Ka * (acc_raw + Ba), where Ta is the accelerometer scale error, Ka is the accelerometer non-orthogonality error, and Ba is the accelerometer zero bias error.

[0048] Set the optimization function as E = g - normal(Ta * Ka * (acc_raw + Ba)), and minimize the sum of the absolute values ​​of E to find the three terms Ta, Ka, and Ba, i.e.:

[0049]

[0050] Where g is the magnitude of local gravitational acceleration, acc_raw is the acceleration vector in the mean stationary data, and norm is the vector modulo operation. This optimization process is a typical nonlinear least squares problem, and the Levenberg-Marquardt or other similar optimization methods can be used to search for the minimum point from the initial value. One reasonable initial value is that Ta and Ka are the identity matrix, and Ba is the zero vector.

[0051] S4. After calibrating the error parameters of the accelerometer, the acceleration data obtained by rotating the initial acceleration in each segment of motion state data using the gyroscope's angular velocity is compared with the final acceleration in the actual acquired segment of motion state data to obtain the acceleration error parameters. The gyroscope is then calibrated by minimizing these acceleration error parameters using the gyroscope error model.

[0052] Step 4 is the calibration of the gyroscope: For the gyroscope, establish an error model description gyro_cal=Tg*Kg*(gyro_raw+Bg); where Tg is the gyroscope scale error, Kg is the gyroscope non-orthogonality error, and Bg is the gyroscope zero bias error.

[0053] In a stationary state, the magnitude of the angular velocity vector measured by the gyroscope should theoretically be 0. Therefore, the average of the angular velocity vectors obtained from the stationary data in S2, after taking the negative value, should be the gyroscope's zero-bias error Bg.

[0054] For the other two quantities, gyroscope scale error Tg and gyroscope non-orthogonality error Kg, in the motion phase between two stationary phases in the acquired data, theoretically, the acceleration vector obtained by rotating the acceleration vector at the beginning of the motion phase by integrating the angular velocity measured by the gyroscope with the rotation angle obtained by time integration should be consistent with the acceleration actually measured at the end of the motion phase.

[0055] Therefore, for each segment of motion data obtained in S2, the acceleration in the data is first compensated according to the acceleration error model acc_cal=Ta*Ka*(acc_raw+Ba). For the initial acceleration acc_cal in each segment of motion data... start Theoretically, after the rotational integral of the angular velocity, it should be related to the corresponding final acceleration acc_cal. end Same. Set the optimization function as:

[0056]

[0057] Thus, Tg and Kg are calculated. Here, gyro_raw is an n*3 matrix composed of angular velocity vectors from the motion phase data. The RK4 function performs a 4th-order Runge-Kutta integral on the angular velocity vectors and then calculates the rotation matrix corresponding to the rotation. This optimization process is a typical nonlinear least squares problem. Levenberg-Marquardt or other similar optimization methods can be used to search for the minimum point starting from the initial values. One reasonable initial value is Tg and Kg as identity matrices, and Bg as the zero vector.

[0058] S5. After calibrating the gyroscope, compare the changes in the direction of the starting magnetometer data and the direction of the ending magnetometer data in each segment of motion state data with the changes in the angle direction measured by the gyroscope to obtain the angle error parameter. Then, calibrate the magnetometer by minimizing the angle error parameter through the magnetometer error model.

[0059] Step 5 is the calibration of the magnetometer: For the magnetometer, establish an error model description mag_cal=Tm2a*(mag_raw+Bm), where Bm is the zero bias error of the magnetometer and Tm2a is the transformation matrix from the magnetometer coordinate system to the acceleration coordinate system.

[0060] For the magnetometer, since there is no strong magnetic interference during data acquisition, the magnetometer should measure the local geomagnetic field vector, so the magnitude of the magnetic vector should theoretically remain unchanged. Similarly, as in step 4, during the motion phase between two stationary phases in the data acquisition, theoretically, the magnetic vector obtained by rotating the magnetic vector at the beginning of the motion phase using the angular velocity measured by the gyroscope should be consistent with the magnetic vector actually measured at the end of the motion phase.

[0061] Therefore, for each segment of motion data obtained in S2, since acceleration has already been compensated, the angular velocity in the data is now compensated according to the gyroscope error model gyro_cal=Tg*Kg*(gyro_raw+Bg). For the initial acceleration mag_cal in each segment of motion data... start Theoretically, after the rotational integral of the angular velocity, it should be related to the corresponding final acceleration mag_cal. end The same. Also, the mag_cal for each motion phase... start The modulus should be a fixed value, and the optimization function should be set as follows:

[0062]

[0063] Thus, the terms Tm2a and Bm are obtained. The RK4 function performs a fourth-order Runge-Kutta integral on the corrected angular velocity vector and then calculates the rotation matrix corresponding to the rotation. mag_strength is the local geomagnetic field strength, which can be set to any positive number, thus separating it from the true magnetic vector by only one scale. However, since attitude calculation only focuses on vector direction, the specific value of mag_strength will not affect the attitude calculation. This optimization process is a typical nonlinear least squares problem. Levenberg-Marquardt or other similar optimization methods can be used to search for the minimum point starting from the initial value. One reasonable initial value is Tm2a as the identity matrix and Bm as the zero vector.

[0064] The calibration method of the nine-axis IMU in this embodiment does not require the assistance of other hardware devices to calibrate the accelerometer, gyroscope and magnetometer. As long as there is no strong magnetic interference during calibration in a static scene, the calibration of a set of nine-axis IMU devices can be completed in a few minutes.

[0065] like Figure 2 As shown in the illustration, this application also provides a calibration system 100 for a nine-axis IMU, comprising:

[0066] Data acquisition module 101 is used to acquire raw IMU data; the raw IMU data is acquired by rotating the nine-axis IMU around its own xyz axes by a set angle and keeping it stationary for a preset time in different postures; the raw IMU data includes accelerometer data, gyroscope data and magnetometer data.

[0067] The data segmentation module 102 is used to segment static state data and motion state data from the IMU raw data according to the data changes of the gyroscope; the static state data is the data collected by the nine-axis IMU when it is stationary for a preset time in different postures, and the motion state data is the data collected by the nine-axis IMU when it is rotating.

[0068] The accelerometer calibration module 103 is used to average the acceleration data in the static state data to obtain the average acceleration value at each pose; establish an accelerometer error model to make the magnitude of the acceleration vector consistent with the magnitude of the gravitational acceleration; and calibrate the error parameters of the accelerometer through the accelerometer error model.

[0069] The gyroscope calibration module 104 is used to, after calibrating the error parameters of the accelerometer, compare the acceleration data obtained by rotating the initial acceleration in each segment of motion state data with the actual acquired final acceleration in the same segment of motion state data to obtain the acceleration error parameter, and calibrate the gyroscope by minimizing the acceleration error parameter through the gyroscope error model.

[0070] The magnetometer calibration module 105 is used to compare the changes in the direction of the starting magnetometer data and the direction of the ending magnetometer data in each segment of motion state data with the changes in the angle direction measured by the gyroscope after calibrating the gyroscope, obtain the angle error parameter, and calibrate the magnetometer by minimizing the angle error parameter through the magnetometer error model.

[0071] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. The electronic device in this embodiment can be a server. The electronic device provided in this embodiment of the present invention can execute the processing flow provided in the calibration method embodiment of a nine-axis IMU, such as... Figure 3As shown, the electronic device 200 includes: a memory 202, a processor 201, a computer program, and a communication interface 203; wherein, the processor 201 of the electronic device 200 provides computing and control capabilities. The memory 202 of the electronic device 200 includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The communication interface 203 of the electronic device 200 is used to connect to an external terminal via a network. The computer program is configured to be executed by the processor 201 to perform the technical solution of the above-described nine-axis IMU calibration method embodiment.

[0072] Those skilled in the art will understand that Figure 3 The structures shown are merely block diagrams of some structures related to the present invention and do not constitute a limitation on the electronic devices to which the present invention is applied. Specific electronic devices may include more or fewer components than those shown in the figures, or combine certain components, or have different component arrangements.

[0073] In addition, embodiments of the present invention also provide a machine-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the calibration method of the nine-axis IMU described in the above embodiments.

[0074] If the calibration method for the nine-axis IMU is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0075] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A calibration method for a nine-axis IMU, characterized in that, include: The nine-axis IMU is rotated by a set angle around its x, y, and z axes, and held stationary for a preset duration in different postures to collect raw IMU data. The raw IMU data includes accelerometer data, gyroscope data, and magnetometer data. Based on the changes in gyroscope data, static state data and motion state data are segmented from the raw IMU data; the static state data is the data collected by the nine-axis IMU when it is stationary for a preset time in different postures, and the motion state data is the data collected by the nine-axis IMU when it is rotating. The acceleration data in the static state data is averaged to obtain the average acceleration value for each pose. An accelerometer error model is established to make the magnitude of the acceleration vector consistent with the magnitude of the gravitational acceleration. The error parameters of the accelerometer are then calibrated using the accelerometer error model. After calibrating the error parameters of the accelerometer, the acceleration data obtained by rotating the initial acceleration in each segment of motion state data using the gyroscope's angular velocity is compared with the final acceleration in the actual acquired segment of motion state data to obtain the acceleration error parameters. The gyroscope is then calibrated by minimizing these acceleration error parameters using the gyroscope error model. After calibrating the gyroscope, the changes in the direction of the starting and ending magnetometer data in each segment of motion state data are compared with the changes in the angle direction measured by the gyroscope to obtain the angle error parameter. The magnetometer is then calibrated by minimizing this angle error parameter through the magnetometer error model.

2. The calibration method for a nine-axis IMU according to claim 1, characterized in that, The process of separating static state data and dynamic state data from the raw IMU data based on the changes in gyroscope data includes: Based on the gyroscope data, a segment of data in which the magnitude of the angular velocity vector is continuously less than a set threshold within the preset time period is selected to obtain the static state data, and the remaining data is the motion state data.

3. The calibration method for a nine-axis IMU according to claim 1, characterized in that, An accelerometer error model is established to make the magnitude of the acceleration vector consistent with the magnitude of gravitational acceleration. The accelerometer error parameters are then calibrated using this error model, including: Based on the accelerometer error model, the acceleration error function of the accelerometer error model is obtained, and the acceleration error function is minimized to calibrate the error parameters of the accelerometer. The acceleration error function acc_cal = Ta * Ka * (acc_raw + Ba); Where Ta is the accelerometer scale error, Ka is the accelerometer non-orthogonality error, Ba is the accelerometer zero bias error, and acc_raw is the acceleration mean vector.

4. The calibration method for a nine-axis IMU according to claim 1, characterized in that, Obtain the acceleration error parameter, and calibrate the gyroscope by minimizing this acceleration error parameter using the gyroscope error model, including: By using the gyroscope error model, the gyroscope error function of the gyroscope error model is obtained, and the gyroscope is calibrated by minimizing the gyroscope error function. The gyroscope error function is: gyro_cal = Tg * Kg * (gyro_raw + Bg); Where Tg is the gyroscope scaling error, Kg is the gyroscope non-orthogonality error, Bg is the gyroscope zero bias error, and gyro_raw is a matrix composed of angular velocity vectors in the motion state data.

5. The calibration method for a nine-axis IMU according to claim 1, characterized in that, Obtain the angle error parameter, and calibrate the magnetometer by minimizing this angle error parameter using the magnetometer error model, including: By using the magnetometer error model, the magnetometer error function of the magnetometer error model is obtained, and the magnetometer is calibrated by minimizing the magnetometer error function. The magnetometer error function is mag_cal = Tm2a * (mag_raw + Bm), where Bm is the magnetometer zero bias error, Tm2a is the transformation matrix from the magnetometer coordinate system to the acceleration coordinate system, and mag_raw is the matrix composed of magnetic vectors in the motion state data.

6. A calibration system for a nine-axis IMU, characterized in that, include: The data acquisition module is used to acquire raw IMU data. The raw IMU data is obtained by rotating the nine-axis IMU around its own x, y, and z axes by a set angle and keeping it stationary for a preset duration in different postures. The raw IMU data includes accelerometer data, gyroscope data, and magnetometer data. The data segmentation module is used to segment static state data and motion state data from the raw IMU data based on the data changes of the gyroscope; the static state data is the data collected by the nine-axis IMU when it is stationary for a preset time in different postures, and the motion state data is the data collected by the nine-axis IMU when it is rotating. An accelerometer calibration module is used to average the acceleration data in the static state data to obtain the average acceleration value at each pose. An accelerometer error model is established to make the magnitude of the acceleration vector consistent with the magnitude of the gravitational acceleration. The error parameters of the accelerometer are then calibrated using the accelerometer error model. The gyroscope calibration module is used to, after calibrating the error parameters of the accelerometer, compare the acceleration data obtained by rotating the initial acceleration in each segment of motion state data with the actual acquired final acceleration in the same segment of motion state data to obtain the acceleration error parameter, and then calibrate the gyroscope by minimizing the acceleration error parameter through the gyroscope error model. The magnetometer calibration module is used to compare the changes in the direction of the starting and ending magnetometer data in each segment of motion state data with the changes in the angle direction measured by the gyroscope after calibrating the gyroscope, obtain the angle error parameter, and calibrate the magnetometer by minimizing the angle error parameter through the magnetometer error model.

7. The calibration system for a nine-axis IMU according to claim 6, characterized in that, During the process of acquiring raw data from the IMU, the data acquisition module rotates the IMU device around its xyz axes by hand or placing it on a stationary inclined plane.

8. An electronic device, characterized in that, It includes a processor and a memory, the memory storing instructions executable by the processor to implement the method of any one of claims 1-5.

9. A storage medium having a program stored thereon that, when executed by a processor, implements the method of any one of claims 1 to 5.

Citation Information

Patent Citations

  • Universal IMU calibration equipment

    CN210400412U

  • Method and system for calibrating low-cost IMUs

    CN112344959A

  • Error parameter calibration method for nine-axis sensor

    CN112539777A