CN116086493A - Nine-axis IMU calibration method, system, electronic equipment and storage medium - Google Patents

Nine-axis IMU calibration method, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN116086493A
CN116086493A CN202211597869.XA CN202211597869A CN116086493A CN 116086493 A CN116086493 A CN 116086493A CN 202211597869 A CN202211597869 A CN 202211597869A CN 116086493 A CN116086493 A CN 116086493A
Authority
CN
China
Prior art keywords
data
error
gyroscope
acceleration
imu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211597869.XA
Other languages
Chinese (zh)
Inventor
夏岩钧
王述良
龚锐
仇开金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Jimu Intelligent Technology Co ltd
Original Assignee
Wuhan Jimu Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Jimu Intelligent Technology Co ltd filed Critical Wuhan Jimu Intelligent Technology Co ltd
Priority to CN202211597869.XA priority Critical patent/CN116086493A/en
Publication of CN116086493A publication Critical patent/CN116086493A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention provides a calibration method, a system, electronic equipment and a storage medium of a nine-axis IMU, wherein the method comprises the following steps: respectively rotating the nine-axis IMU around the xyz axis of the IMU, and collecting IMU original data at different postures for a preset period of time; dividing stationary state and motion state data; averaging the rest state accelerations; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer; comparing the acceleration obtained after the initial acceleration in the motion state is rotated by the angular velocity of the gyroscope with the actual collected end acceleration, and calibrating the gyroscope by a gyroscope error model; and comparing the change of the data direction of the initial magnetometer and the change of the data direction of the final magnetometer in the motion state with the change of the angle direction measured by the gyroscope, and calibrating the magnetometer through a magnetometer error model. The invention does not depend on hardware equipment, can accurately calibrate the data of the nine-axis IMU, has no scene limitation and has low cost.

Description

Nine-axis IMU calibration method, system, electronic equipment and storage medium
Technical Field
The invention relates to the technical field of data calibration, in particular to a nine-axis IMU calibration method, a nine-axis IMU calibration system, electronic equipment and a storage medium.
Background
IMU (Inertial Measurement Unit ) serves as an important sensor and plays an important role in various industrial applications. The accuracy of the IMU is critical to improving product performance and improving user experience. In practical use, however, errors due to zero offset errors and scale factors of the sensors on each axis, as well as errors due to non-orthogonality of the axes, can reduce the accuracy of the final position and attitude estimates. Before the IMU actually works, the sensor needs to be calibrated, so that the IMU can output accurate data.
However, many IMU calibration methods all require external equipment to cooperate, and by generating a fixed parameter rotational motion to the IMU, the gyroscope error is corrected so that the sensor data matches the motion parameter, and by applying a specific pose to the IMU, the accelerometer error parameter is corrected. Therefore, the existing IMU calibration methods (such as CN 210400412U) all rely on a high-precision turntable, require specific hardware equipment, have high cost, limit sites, and have poor universality. In addition, some calibration methods are not universal and cannot be applied to nine-axis IMU calibration.
Disclosure of Invention
In view of this, the embodiment of the application provides a calibration method, a system, an electronic device and a storage medium for a nine-axis IMU, and the method does not depend on hardware devices, can accurately calibrate data of the nine-axis IMU, has no scene limitation, and realizes zero cost more conveniently.
The embodiment of the application provides the following technical scheme: a method of calibrating a nine-axis IMU, comprising:
respectively rotating the nine-axis IMU around the xyz three axes of the IMU by a set angle, and standing for a preset time length under different postures to acquire IMU original data; the IMU original data comprises accelerometer data, gyroscope data and magnetometer data;
dividing static state data and motion state data from the IMU original data according to the data change of the gyroscope; the static state data are acquired data of the nine-axis IMU in static preset time periods under different postures, and the motion state data are acquired data of the nine-axis IMU in a rotating state;
averaging the acceleration data in the static state data to obtain an acceleration average value of each pose; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer through the accelerometer error model;
after the error parameters of the accelerometer are calibrated, the acceleration data obtained after the initial acceleration in each section of the motion state data is rotated by the angular speed of the gyroscope is compared with the end acceleration in the actually acquired section of the motion state data to obtain acceleration error parameters, and the gyroscope is calibrated by minimizing the acceleration error parameters through a gyroscope error model;
after calibrating the gyroscope, comparing the changes of the initial magnetometer data direction and the ending magnetometer data direction in each section of the motion state data with the changes of the angular directions measured by the gyroscope to obtain an angle error parameter, and calibrating the magnetometer by minimizing the angle error parameter through a magnetometer error model.
According to one embodiment of the present application, the process of segmenting the static state data and the motion state data from the IMU raw data according to the data change of the gyroscope includes:
and screening out a section of data with the internal angular velocity vector modular length continuously smaller than a set threshold value within the preset duration according to the gyroscope data to obtain the static state data, wherein the rest data are the motion state data.
According to one embodiment of the application, an accelerometer error model is established, so that the acceleration vector model length is consistent with the gravity acceleration model length, and error parameters of the accelerometer are calibrated through the accelerometer error model, and the method comprises the following steps:
acquiring an acceleration error function of the accelerometer error model according to the accelerometer error model, minimizing the acceleration error function, and calibrating error parameters of the accelerometer;
the acceleration error function acc_cal=ta Ka (acc_raw+ba);
wherein Ta is the accelerometer scale error, ka is the accelerometer non-orthogonality error, ba is the accelerometer zero offset error, and acc_raw is the acceleration mean vector.
According to one embodiment of the application, an acceleration error parameter is obtained, and a gyroscope is calibrated by minimizing the acceleration error parameter through a gyroscope error model, including:
acquiring a gyroscope error function of the gyroscope error model through the gyroscope error model, minimizing the gyroscope error function, and calibrating the gyroscope;
the gyro error function gyro_cal=tg x Kg (gyro_raw+bg);
where Tg is the gyroscope scale error, kg is the gyroscope non-orthogonality error, bg is the gyroscope zero bias error, and gyro_raw is the matrix of angular velocity vectors in the motion state data.
According to one embodiment of the present application, an angle error parameter is obtained, the angle error parameter is minimized by a magnetometer error model to calibrate the magnetometer, comprising:
obtaining a magnetometer error function of the magnetometer error model through the magnetometer error model, minimizing the magnetometer error function, and calibrating the magnetometer;
the magnetometer error function mag_cal=tm2a (mag_raw+bm), where Bm is the zero bias error of the magnetometer, 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.
The embodiment of the application also provides a calibration system of the nine-axis IMU, which comprises:
the data acquisition module is used for acquiring IMU original data; the IMU original data are acquired by respectively rotating nine-axis IMU around the xyz three axes of the IMU by set angles and collecting static preset time periods under different postures; the IMU original data comprises accelerometer data, gyroscope data and magnetometer data;
the data segmentation module is used for segmenting static state data and motion state data from the IMU original data according to the data change of the gyroscope; the static state data are acquired data of the nine-axis IMU in static preset time periods under different postures, and the motion state data are acquired data of the nine-axis IMU in a rotating state;
the accelerometer calibration module is used for averaging the acceleration data in the static state data to obtain an acceleration average value of each pose; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer through the accelerometer error model;
the gyroscope calibration module is used for comparing acceleration data obtained by rotating the initial acceleration in each section of the motion state data with the angular velocity of the gyroscope after calibrating the error parameter of the accelerometer, obtaining an acceleration error parameter, and calibrating the gyroscope by minimizing the acceleration error parameter through a gyroscope error model;
and the magnetometer calibration module is used for comparing the change of the initial magnetometer data direction and the ending magnetometer data direction in each section of the motion state data with the change of the angular direction measured by the gyroscope after calibrating the gyroscope to obtain an angular error parameter, and calibrating the magnetometer by minimizing the angular error parameter through a magnetometer error model.
According to one embodiment of the application, in the process of acquiring the IMU original data by the data acquisition module, the IMU equipment rotates around the xyz three axes of the IMU equipment by being held by hand or placed on a static inclined plane.
The embodiment of the application also provides electronic equipment, which comprises a processor and a memory, wherein the memory stores instructions capable of being executed by the processor, and the processor can execute the instructions to realize the method.
The embodiment of the application also provides a storage medium, on which a program is stored, which when executed by a processor, implements the above-described method.
Compared with the prior art, the beneficial effects that above-mentioned at least one technical scheme that this description embodiment adopted can reach include at least: the scheme does not need the assistance of other external equipment, and the accelerometer, the gyroscope and the magnetometer errors are calibrated simultaneously by placing the sensor under a group of different static poses through the handheld sensor, so that the problem of IMU calibration is well solved. Meanwhile, the scheme relaxes the scene limitation, does not limit the size of the equipment, has lower requirement on calculation force, and realizes zero cost more conveniently. Compared with other static multi-pose calibration methods, the method can accurately calibrate the total nine-axis data of the accelerometer, the gyroscope and the magnetometer, and can complete the sensor calibration operation of a set of nine-axis IMU equipment in a period of several minutes under the condition of no strong magnetic interference.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for calibrating a nine-axis IMU according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a nine-axis IMU calibration system in accordance with an embodiment of the present invention;
fig. 3 is a schematic diagram of an electronic device according to an embodiment of the invention.
Detailed Description
Embodiments of the present application are described in detail below with reference to the accompanying drawings.
It should be noted that, in the case of no conflict, the embodiments and features in the embodiments may be combined with each other. The technical solution of the present invention will be clearly and completely described below in detail with reference to the accompanying drawings in combination with the embodiments, and it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
As shown in fig. 1, an embodiment of the present invention provides a calibration method for a nine-axis IMU, including:
s1, respectively rotating the nine-axis IMU around the xyz three axes of the IMU by a set angle, and standing for a preset time length under different postures to acquire IMU original data; the IMU raw data includes accelerometer data, gyroscope data, and magnetometer data.
In step 1, when the IMU raw data is acquired, the angle of each IMU rotation motion can be precisely controlled by using a clamp, instead of a hand-held operation, and a priori conditions are provided in subsequent calibration calculation. But the use of clamps is more costly and not versatile enough for IMUs of different model sizes. Therefore, the IMU device is preferably rotated around its xyz three axes by being held by hand or placed on a stationary inclined plane, and stationary data is collected by being stationary for several seconds in each posture, and the method of the embodiment can complete calibration operation only by being held by hand or placed on the stationary inclined plane, and has no cost and no scene limitation.
S2, dividing static state data and motion state data from the IMU original data according to the data change of the gyroscope; the static state data are acquired data of the nine-axis IMU in static preset time periods under different postures, and the motion state data are acquired data of the nine-axis IMU in a rotating state;
in step 2, after the original IMU data is collected, the data is preprocessed, that is, the static state data and the motion state data are segmented. The process is specifically as follows: when the equipment is stationary, the angular velocity vector modular length measured by the gyroscope should be close to zero, so that a piece of data with the angular velocity vector modular length kept smaller than a certain threshold value for a period of time is screened out based on gyroscope reading, and each small piece of data is required to reach a length of several seconds to be matched with the stationary time of the previous data acquisition stage in each pose, so that the short stay in the motion process is prevented, and the data of the stationary stage and the data of the motion stage between every two stationary stages are separated. And then, averaging each piece of data in the rest stage to obtain a reading in a stable rest state on each pose.
S3, averaging the acceleration data in the static state data to obtain an acceleration average value of each pose; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer through the accelerometer error model;
step 3 is the calibration of the accelerometer: in a stationary state, no matter what pose the accelerometer is in, only the gravity acceleration is measured, so in the obtained acceleration average stationary data, the acceleration vector modulo length should be theoretically equal to the local gravity acceleration g.
The error model description for the accelerometer is 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 offset error.
Setting the optimization function as e=g-norm (ta×ka×acc_raw+ba), and minimizing the sum of absolute values of E to find three terms Ta, ka and Ba, namely:
Figure BDA0003994055970000061
where g is the local gravitational acceleration, acc_raw is the acceleration vector in the average stationary data, and norm is the vector modulo operation. The optimization process is a typical nonlinear least square problem, and a Levenberg-Marquardt or other similar optimization method can be adopted to search minimum value points from initial values, wherein one reasonable initial value takes Ta and Ka as identity matrixes, and Ba is a zero vector.
S4, after error parameters of the accelerometer are calibrated, acceleration data obtained after initial acceleration in each section of motion state data is rotated by angular velocity of the gyroscope is compared with end acceleration in the actually acquired section of motion state data, acceleration error parameters are obtained, and the gyroscope is calibrated by minimizing the acceleration error parameters through a gyroscope error model;
step 4 is the calibration of the gyroscope: establishing an error model description gyro_cal=tg×kg (gyro_raw+bg) for the gyroscope; where Tg is the gyroscope scale error, kg is the gyroscope non-orthogonality error, bg is the gyroscope zero bias error.
For a stationary state, the angular velocity vector measured by the gyroscope should theoretically have a modulo length of 0. Therefore, for the static state data obtained in the step S2, the average of the angular velocity vectors is calculated, and the zero offset error Bg of the gyroscope is obtained after the opposite number is calculated.
For the dimensional error Tg of the other two gyroscopes and the non-orthogonal error Kg of the gyroscopes, in a motion stage between two stationary stages in the acquired data, the acceleration vector at the beginning of the motion stage is theoretically obtained by rotating the angular velocity measured by the gyroscopes and the rotation angle obtained by time integration, and then the acceleration vector is supposed to be consistent with the acceleration actually measured at the end of the motion stage.
Therefore, each piece of motion data obtained in S2 is extracted, and first, the acceleration in the data is compensated according to the acceleration error model acc_cal=ta×ka× (acc_raw+ba). For the initial acceleration acc_cal in each piece of motion data start After rotational integration of the angular velocity, the rotational integration should theoretically correspond to the corresponding end acceleration acc_cal end The same applies. Setting an optimization function as follows:
Figure BDA0003994055970000071
tg and Kg were thus determined. And the gyro_raw is an n x 3 matrix formed by angular velocity vectors in the motion phase data, and the RK4 function performs 4-order Dragon-Gregory tower integration on the angular velocity vectors and then calculates a rotation matrix corresponding to rotation. The optimization process is a typical nonlinear least square problem, and a Levenberg-Marquardt or other similar optimization method can be adopted to search minimum value points from initial values, wherein one reasonable initial value takes Tg and Kg as unit matrixes, and Bg is a zero vector.
S5, after calibrating the gyroscope, comparing the changes of the initial magnetometer data direction and the end magnetometer data direction in each section of motion state data with the changes of the angular direction measured by the gyroscope to obtain an angle error parameter, and calibrating the magnetometer by minimizing the angle error parameter through a magnetometer error model.
Step 5 is the calibration of the magnetometer: for magnetometer build error model description mag_cal=tm2a x (mag_raw+bm), where Bm is the magnetometer zero bias error and Tm2a is the transformation matrix of the magnetometer coordinate system to the acceleration coordinate system.
For magnetometers, the magnetometers should measure local geomagnetic field vectors because of no strong magnetic interference in data acquisition, and therefore the magnetic vector modulo length should theoretically remain unchanged. Meanwhile, similar to the raw materials in the step 4, in the motion phase between two stationary phases in the acquired data, the magnetic vector obtained after theoretically rotating the magnetic vector at the beginning of the motion phase by using the angular velocity measured by the gyroscope should be consistent with the magnetic vector actually measured at the end of the motion phase.
Thus, taking out each piece of motion data obtained in S2, the acceleration has been compensated before, and the angular velocity in the data is now compensated again according to the gyro error model gyro_cal=tg×kg (gyro_raw+bg). For initial acceleration magcal in each piece of motion data start After rotational integration of the angular velocity, the rotational acceleration should theoretically correspond to the corresponding end acceleration mag cal end The same applies. Magcal of each motion phase simultaneously start The modulus should be a fixed value and the optimization function should be set as:
Figure BDA0003994055970000081
thus, both Tm2a and Bm were obtained. Wherein the RK4 function performs 4 th order Dragon's base tower integration on the corrected angular velocity vector and then calculates a rotation matrix corresponding to the rotation. The mag_structth is the local geomagnetic field intensity and can be set to be any positive number, so that the mag_structth is separated from a real magnetic vector by only one scale, but the specific value of the mag_structth does not influence the calculation of the gesture because the calculation gesture only focuses on the vector direction. The optimization process is a typical nonlinear least square problem, and a Levenberg-Marquardt or other similar optimization method can be adopted to search minimum value points from initial values, wherein one reasonable initial value is Tm2a as a unit matrix, and Bm is a zero vector.
According to the nine-axis IMU calibration method, the accelerometer, the gyroscope and the magnetometer can be calibrated without the assistance of other hardware equipment, and only strong magnetic interference is avoided when the accelerometer, the gyroscope and the magnetometer are calibrated in a static scene, so that the nine-axis IMU equipment can be calibrated within a few minutes.
As shown in fig. 2, the embodiment of the present application further provides a calibration system 100 for a nine-axis IMU, including:
the data acquisition module 101 is used for acquiring IMU original data; the IMU original data are acquired by respectively rotating nine-axis IMU around the xyz three axes of the IMU by set angles and collecting static preset time periods under different postures; the IMU original data comprises accelerometer data, gyroscope data and magnetometer data;
the data segmentation module 102 is configured to segment static state data and motion state data from the IMU raw data according to data changes of the gyroscope; the static state data are acquired data of the nine-axis IMU in static preset time periods under different postures, and the motion state data are acquired data of the nine-axis IMU in a rotating state;
the accelerometer calibration module 103 is configured to average acceleration data in the static state data to obtain an average acceleration value of each pose; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer through the accelerometer error model;
the gyroscope calibration module 104 is configured to, after calibrating the error parameter of the accelerometer, compare acceleration data obtained after the initial acceleration in each piece of motion state data rotates with the angular velocity of the gyroscope with the end acceleration in the piece of motion state data that is actually acquired, obtain an acceleration error parameter, and calibrate the gyroscope by minimizing the acceleration error parameter through a gyroscope error model;
and the magnetometer calibration module 105 is configured to compare the change of the starting magnetometer direction and the ending magnetometer direction in each piece of the motion state data with the change of the angular direction measured by the gyroscope after calibrating the gyroscope, obtain an angular error parameter, and calibrate the magnetometer by minimizing the angular error parameter through a magnetometer error model.
Fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention. The electronic device of the present embodiment may be a server. The electronic device provided by the embodiment of the present invention may execute the processing flow provided by the embodiment of the calibration method of nine-axis IMU, as shown in fig. 3, the electronic device 200 includes: memory 202, processor 201, computer programs and communication interface 203; wherein the processor 201 of the electronic device 200 is arranged to provide computing and control capabilities. The memory 202 of the electronic device 200 includes a non-volatile storage medium and an 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 media. The communication interface 203 of the electronic device 200 is used for connecting with an external terminal through a network. The computer program is configured to execute the technical solution of the above nine-axis IMU calibration method embodiment by the processor 201.
It will be appreciated by those skilled in the art that the structure shown in fig. 3 is merely a block diagram of a portion of the structure associated with the present inventive arrangements and is not limiting of the electronic device to which the present inventive arrangements are applied, and that a particular electronic device may include more or less components than those shown, or may combine some components, or have a different arrangement of components.
In addition, the embodiment of the invention also provides a machine-readable storage medium, on which a computer program is stored, and the computer program is executed by a processor to implement the nine-axis IMU calibration method described in the above embodiment.
The nine-axis IMU calibration method, if implemented in the form of a software functional module and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions easily conceivable by those skilled in the art within the technical scope of the present application should be covered in the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (9)

1. A method of calibrating a nine-axis IMU, comprising:
respectively rotating the nine-axis IMU around the xyz three axes of the IMU by a set angle, and standing for a preset time length under different postures to acquire IMU original data; the IMU original data comprises accelerometer data, gyroscope data and magnetometer data;
dividing static state data and motion state data from the IMU original data according to the data change of the gyroscope; the static state data are acquired data of the nine-axis IMU in static preset time periods under different postures, and the motion state data are acquired data of the nine-axis IMU in a rotating state;
averaging the acceleration data in the static state data to obtain an acceleration average value of each pose; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer through the accelerometer error model;
after the error parameters of the accelerometer are calibrated, the acceleration data obtained after the initial acceleration in each section of the motion state data is rotated by the angular speed of the gyroscope is compared with the end acceleration in the actually acquired section of the motion state data to obtain acceleration error parameters, and the gyroscope is calibrated by minimizing the acceleration error parameters through a gyroscope error model;
after calibrating the gyroscope, comparing the changes of the initial magnetometer data direction and the ending magnetometer data direction in each section of the motion state data with the changes of the angular directions measured by the gyroscope to obtain an angle error parameter, and calibrating the magnetometer by minimizing the angle error parameter through a magnetometer error model.
2. The method of calibrating a nine-axis IMU according to claim 1, wherein the process of dividing the original IMU data into stationary state data and moving state data according to the data change of the gyroscope comprises:
and screening out a section of data with the internal angular velocity vector modular length continuously smaller than a set threshold value within the preset duration according to the gyroscope data to obtain the static state data, wherein the rest data are the motion state data.
3. The method of calibrating a nine-axis IMU according to claim 1, wherein establishing an accelerometer error model such that an acceleration vector model length is consistent with a gravitational acceleration model length, calibrating an error parameter of an accelerometer by the accelerometer error model comprises:
acquiring an acceleration error function of the accelerometer error model according to the accelerometer error model, minimizing the acceleration error function, and calibrating error parameters of the accelerometer;
the acceleration error function acc_cal=ta Ka (acc_raw+ba);
wherein Ta is the accelerometer scale error, ka is the accelerometer non-orthogonality error, ba is the accelerometer zero offset error, and acc_raw is the acceleration mean vector.
4. The method of calibrating a nine-axis IMU according to claim 1, wherein obtaining an acceleration error parameter, and calibrating the gyroscope by minimizing the acceleration error parameter through a gyroscope error model, comprises:
acquiring a gyroscope error function of the gyroscope error model through the gyroscope error model, minimizing the gyroscope error function, and calibrating the gyroscope;
the gyro error function gyro_cal=tg x Kg (gyro_raw+bg);
where Tg is the gyroscope scale error, kg is the gyroscope non-orthogonality error, bg is the gyroscope zero bias error, and gyro_raw is the matrix of angular velocity vectors in the motion state data.
5. The method of calibrating a nine-axis IMU according to claim 1, wherein obtaining an angle error parameter, and calibrating a magnetometer by minimizing the angle error parameter through a magnetometer error model, comprises:
obtaining a magnetometer error function of the magnetometer error model through the magnetometer error model, minimizing the magnetometer error function, and calibrating the magnetometer;
the magnetometer error function mag_cal=tm2a (mag_raw+bm), where Bm is the zero bias error of the magnetometer, 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 nine-axis IMU calibration system, comprising:
the data acquisition module is used for acquiring IMU original data; the IMU original data are acquired by respectively rotating nine-axis IMU around the xyz three axes of the IMU by set angles and collecting static preset time periods under different postures; the IMU original data comprises accelerometer data, gyroscope data and magnetometer data;
the data segmentation module is used for segmenting static state data and motion state data from the IMU original data according to the data change of the gyroscope; the static state data are acquired data of the nine-axis IMU in static preset time periods under different postures, and the motion state data are acquired data of the nine-axis IMU in a rotating state;
the accelerometer calibration module is used for averaging the acceleration data in the static state data to obtain an acceleration average value of each pose; establishing an accelerometer error model, enabling the acceleration vector model length to be consistent with the gravity acceleration model length, and calibrating error parameters of the accelerometer through the accelerometer error model;
the gyroscope calibration module is used for comparing acceleration data obtained by rotating the initial acceleration in each section of the motion state data with the angular velocity of the gyroscope after calibrating the error parameter of the accelerometer, obtaining an acceleration error parameter, and calibrating the gyroscope by minimizing the acceleration error parameter through a gyroscope error model;
and the magnetometer calibration module is used for comparing the change of the initial magnetometer data direction and the ending magnetometer data direction in each section of the motion state data with the change of the angular direction measured by the gyroscope after calibrating the gyroscope to obtain an angular error parameter, and calibrating the magnetometer by minimizing the angular error parameter through a magnetometer error model.
7. The nine-axis IMU calibration system of claim 1, wherein the IMU device is rotated about its xyz-axis by being held by hand or placed on a stationary incline during the process of acquiring IMU raw data by the data acquisition module.
8. An electronic device comprising a processor and a memory, the memory storing instructions executable by the processor, the processor executable to implement the method of any one of claims 1-5.
9. A storage medium having stored thereon a program which, when executed by a processor, implements the method of any of claims 1 to 5.
CN202211597869.XA 2022-12-12 2022-12-12 Nine-axis IMU calibration method, system, electronic equipment and storage medium Pending CN116086493A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211597869.XA CN116086493A (en) 2022-12-12 2022-12-12 Nine-axis IMU calibration method, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211597869.XA CN116086493A (en) 2022-12-12 2022-12-12 Nine-axis IMU calibration method, system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116086493A true CN116086493A (en) 2023-05-09

Family

ID=86209378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211597869.XA Pending CN116086493A (en) 2022-12-12 2022-12-12 Nine-axis IMU calibration method, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116086493A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116539069A (en) * 2023-07-05 2023-08-04 杭州光粒科技有限公司 Data correction method, device, equipment and readable storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116539069A (en) * 2023-07-05 2023-08-04 杭州光粒科技有限公司 Data correction method, device, equipment and readable storage medium

Similar Documents

Publication Publication Date Title
CN108592950B (en) Calibration method for relative installation angle of monocular camera and inertial measurement unit
CN110954134B (en) Gyro offset correction method, correction system, electronic device, and storage medium
JP4876204B2 (en) Small attitude sensor
Brodie et al. Dynamic accuracy of inertial measurement units during simple pendulum motion
CN107063254B (en) Gesture resolving method for gyros and geomagnetic combination
CN112945271B (en) Magnetometer information-assisted MEMS gyroscope calibration method and system
US11573245B2 (en) Method and system for automatic factory calibration
JP7025215B2 (en) Positioning system and positioning method
CN105910593B (en) A kind of method and device of the geomagnetic sensor of calibrating terminal
WO2021218731A1 (en) Method and apparatus for position-attitude fusion of imu and rigid body, device, and storage medium
KR20070043009A (en) Method and apparatus for calibrating the rotational relationship between two motion sensors of a sensor system
KR101698682B1 (en) Method and Apparatus of correcting output value of terrestrial magnetism sensor
CN116086493A (en) Nine-axis IMU calibration method, system, electronic equipment and storage medium
US20170074689A1 (en) Sensor Fusion Method for Determining Orientation of an Object
CN111595362B (en) Parameter calibration method and device for inertial measurement unit and electronic equipment
CN110319851B (en) Sensor correction method, device, equipment and storage medium
KR20150022265A (en) inertial measurement unit and method for calibrating the same
CN112525144B (en) Nonlinear attitude detection compensation method and terminal
CN107389092B (en) Gyro calibration method based on assistance of magnetic sensor
CN106931965B (en) Method and device for determining terminal posture
CN114964224B (en) Error autonomous suppression method for micro inertial navigation system
CN114994352B (en) High-speed rotation guided projectile rotation speed measuring method
JP2018159569A (en) Attitude calculation device, attitude instrumentation system and attitude calculation method
CN110645976A (en) Attitude estimation method of mobile robot and terminal equipment
CN115373429A (en) Holder control method, holder control device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination