Calibration method and system of inertial measurement unit and computer device

By constructing a nonlinear residual function for global joint optimization, the problems of low accuracy and efficiency in inertial measurement unit calibration are solved, and high-precision and stable convergent multi-parameter joint calibration is achieved.

CN121612347BActive Publication Date: 2026-07-14BEIJING BEIDOU TIMES TECH DEV CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING BEIDOU TIMES TECH DEV CO LTD
Filing Date
2026-01-20
Publication Date
2026-07-14

Smart Images

  • Figure CN121612347B_ABST
    Figure CN121612347B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of sensor calibration, and specifically discloses a calibration method and system of an inertial measurement unit and computer equipment. The calibration method of the inertial measurement unit comprises the following steps: obtaining initial parameters of the inertial measurement unit at each calibration temperature, wherein the initial parameters comprise a gyro scale coefficient, an accelerometer zero offset and an initial value of a scale coefficient; constructing a residual vector according to gyro residuals and accelerometer residuals; determining an initial value of a to-be-optimized vector according to the initial parameters, wherein the to-be-optimized vector comprises a lever arm error, a zero offset of the accelerometer and the gyro, a scale coefficient error and a mounting error; constructing a partial derivative matrix according to the residual vector and the to-be-optimized vector; optimizing the to-be-optimized vector based on the partial derivative matrix to obtain an optimized vector; and obtaining calibration parameters in a working temperature range of the inertial measurement unit according to the optimized vector at each calibration temperature. The application can effectively improve the parameter calibration precision and calibration efficiency of the inertial measurement unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of sensor calibration technology, and in particular to a calibration method, system and computer equipment for an inertial measurement unit. Background Technology

[0002] With the rapid development of autonomous vehicles, drones, robots, and portable intelligent equipment, microelectromechanical inertial measurement units (MEMS IMUs) have been widely used. These MEMS IMUs suffer from drawbacks such as large zero deviation, significant calibration coefficient errors, and sensitivity to temperature drift. These errors accumulate rapidly during inertial navigation, affecting navigation accuracy. To ensure navigation performance, MEMS IMUs typically require calibration.

[0003] Currently, common IMU calibration methods mainly include parameter-by-parameter calibration and Kalman filter calibration. Parameter-by-parameter calibration estimates the gyroscope scale coefficients during rotation and other parameters during static states. This typically requires separate calibration in multiple independent states (rotation, static, etc.), lacking correlation between states and hindering joint optimization to improve overall calibration accuracy. Furthermore, when the IMU does not coincide with the rotation center, the retrieved lever parameters also contain errors, affecting the calibration results. Additionally, this method struggles to effectively estimate installation errors. Kalman filter calibration, on the other hand, establishes an error model, treating parameters such as zero bias, scale coefficients, and installation errors as state variables. It continuously acquires data in multiple fixed attitudes, recursively updating the error states to obtain calibration results. However, since the calibration process relies heavily on the previous state estimate and current observations, joint optimization of global parameters is difficult. Moreover, this method requires precise modeling of IMU errors and more rotation-separated calibration parameters, resulting in a longer calibration cycle. Summary of the Invention

[0004] Therefore, it is necessary to provide a calibration method, system, and computer equipment for inertial measurement units to address the aforementioned technical problems, which can effectively improve the parameter calibration accuracy and calibration efficiency of inertial measurement units.

[0005] Firstly, a calibration method for an inertial measurement unit is provided, comprising:

[0006] At each calibration temperature, the initial parameters of the inertial measurement unit are obtained, wherein the initial parameters include the initial values ​​of the gyroscope scale coefficient, the initial value of the accelerometer zero bias, and the initial value of the scale coefficient;

[0007] Construct a residual vector based on the gyroscope residual and the accelerometer residual;

[0008] The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error;

[0009] Construct a partial derivative matrix based on the residual vector and the vector to be optimized;

[0010] Based on the partial derivative matrix, the vector to be optimized is optimized to obtain the optimized vector;

[0011] The calibration parameters of the inertial measurement unit within its operating temperature range are obtained based on the optimized vector at each calibration temperature.

[0012] In some examples, obtaining the initial parameters of the inertial measurement unit includes:

[0013] By adjusting the accelerometer's orientation, the initial zero-bias value and initial scale coefficient value for each accelerometer are calculated. Similarly, by rotating the gyroscope along different axes, the initial scale coefficient value for each gyroscope is calculated.

[0014] Set the initial zero bias value and initial scale coefficient value of each accelerometer, and the initial scale coefficient value of each gyroscope to the preset initial values.

[0015] In some examples, constructing the residual vector based on the gyroscope residual and the accelerometer residual includes:

[0016] Obtain the gyroscope measurement values ​​and prediction values, and obtain the three-dimensional gyroscope residual based on the gyroscope measurement values ​​and prediction values;

[0017] Obtain accelerometer measurements and predictions, and derive the three-dimensional accelerometer residuals based on the accelerometer measurements and predictions;

[0018] A 6-dimensional residual vector is constructed based on the three-dimensional gyroscope residual and the three-dimensional accelerometer residual.

[0019] In some examples, the initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of the accelerometer and gyroscope, scale coefficient error, and installation error, including:

[0020] A 21-dimensional vector to be optimized is constructed, wherein the 21-dimensional vector to be optimized includes 3D gyroscope zero bias, 3D gyroscope scale coefficient error, 3D gyroscope installation error, 3D accelerometer zero bias, 3D accelerometer scale coefficient error, 3D accelerometer installation error, and 3D lever arm error.

[0021] The initial values ​​of the 21-dimensional vector to be optimized are determined based on the initial parameters of the inertial measurement unit, wherein the initial value corresponding to the zero bias of the 3D gyroscope is 0, and the initial value corresponding to the 3D gyroscope calibration coefficient error is [value missing]. The initial value corresponding to the installation error of the 3D gyroscope is 0; the initial value corresponding to the zero bias of the 3D accelerometer is... The initial value corresponding to the 3D accelerometer scale coefficient error is The initial value corresponding to the installation error of the 3D accelerometer is 0, and the initial value corresponding to the error of the 3D lever arm is 0. The initial value of the accelerometer scale coefficient, the The initial value of the accelerometer zero bias is... This is the initial value of the gyroscope's scale coefficient.

[0022] In some examples, the optimization process based on the partial derivative matrix to obtain the optimized vector includes:

[0023] Based on the partial derivative matrix, calculate the approximate matrix and the negative gradient direction;

[0024] Based on the approximate matrix and the negative gradient direction, the change in the vector to be optimized is obtained;

[0025] The vector to be optimized is updated based on the change in the vector to be optimized.

[0026] In some examples, obtaining the change in the vector to be optimized based on the approximation matrix and the negative gradient direction includes:

[0027] Substituting the approximate matrix and the negative gradient direction into the formula for calculating the change in the vector to be optimized, the change in the vector to be optimized is obtained, wherein the formula for calculating the change in the vector to be optimized is:

[0028]

[0029] Wherein, J T J is the approximate matrix, J T r is the negative gradient direction, λ is the iteration coefficient, the initial value of λ is 0.02, and D takes the negative gradient direction J. T The diagonal elements of J, where Δp is the change in the vector to be optimized.

[0030] In some examples, updating the vector to be optimized based on the change in the vector to be optimized includes:

[0031] The current value of the cost function is calculated based on the residual vector and the vector to be optimized;

[0032] If the current value of the cost function decreases, the vector to be optimized is updated once by the change in the vector to be optimized, and the iteration coefficient λ is reduced to 0.5 times that of the previous iteration;

[0033] If the current value of the cost function does not decrease, then the iteration coefficient λ is increased to twice that of the previous iteration;

[0034] After each iteration, determine whether the calibration parameters have converged;

[0035] If the calibration parameters do not converge, then it is further determined whether the number of iterations has reached the upper limit of the number of iterations; otherwise, the current calibration parameters are determined as the final calibration parameters.

[0036] If the maximum number of iterations has not been reached, proceed to the next iteration; otherwise, the calibration parameters are considered to have failed to be calibrated.

[0037] In some examples, calibration parameters for the inertial measurement unit within its operating temperature range are obtained based on the optimized vector at each calibration temperature, including:

[0038] Based on the optimized vector at each calibration temperature, the calibration parameters of the inertial measurement unit at each operating temperature are fitted to obtain the calibration parameters within the operating temperature range of the inertial measurement unit.

[0039] Secondly, a calibration system for an inertial measurement unit is provided, comprising:

[0040] The initial parameter acquisition module is used to obtain the initial parameters of the inertial measurement unit at each calibration temperature, wherein the initial parameters include the initial value of the gyroscope scale coefficient, the initial value of the accelerometer zero bias, and the initial value of the scale coefficient;

[0041] The residual vector construction module is used to construct residual vectors based on gyroscope residuals and accelerometer residuals;

[0042] The optimization vector construction module is used to determine the initial value of the optimization vector based on the initial parameters of the inertial measurement unit, wherein the optimization vector includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error;

[0043] The optimization module is used to construct a partial derivative matrix based on the residual vector and the vector to be optimized, and to optimize the vector to be optimized based on the partial derivative matrix to obtain an optimized vector, and to obtain the calibration parameters of the inertial measurement unit within the operating temperature range based on the optimized vector at each calibration temperature.

[0044] Thirdly, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the steps of the calibration method for an inertial measurement unit as described in the first aspect and any possible implementation thereof.

[0045] Fourthly, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the calibration method for an inertial measurement unit according to the first aspect and any possible implementation thereof.

[0046] The embodiments of this application construct a nonlinear residual function that includes parameters such as the IMU's bias, scale coefficient, installation error, and lever error, and then perform global joint optimization to solve all calibration parameters. Compared with existing methods, this approach allows for the simultaneous inclusion of the gyroscope and accelerometer's bias, scale coefficient, and installation error into the model for joint solution within the same nonlinear optimization framework. It explicitly considers the nonlinear coupling relationship between the two types of sensor errors, avoiding the error propagation and incomplete decoupling problems caused by step-by-step estimation, thereby improving overall calibration accuracy. Furthermore, reasonable initial values ​​for the accelerometer and gyroscope parameters are obtained through static and dynamic segment data, and then all calibration parameters are globally jointly optimized, considering the nonlinear coupling of parameters such as bias, scale coefficient, and installation error, achieving high-precision and stable convergence of multi-parameter joint calibration. Attached Figure Description

[0047] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0048] Figure 1 A schematic diagram of the hardware execution carrier for the calibration method of the inertial measurement unit provided in the embodiments of this application;

[0049] Figure 2 A flowchart illustrating the calibration method for an inertial measurement unit provided in an embodiment of this application;

[0050] Figure 3 A structural block diagram of the calibration system for an inertial measurement unit provided in an embodiment of this application;

[0051] Figure 4 A structural block diagram of a computer device provided in an embodiment of this application. Detailed Implementation

[0052] The present application will now be described in further detail with reference to the embodiments and accompanying drawings. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the application. Furthermore, it should be noted that, for ease of description, only the parts relevant to the application are shown in the accompanying drawings.

[0053] It should be noted that, unless otherwise specified, the embodiments and features of the embodiments in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0054] The calibration method, system, and computer device of the inertial measurement unit according to embodiments of this application are described in detail below with reference to the accompanying drawings.

[0055] The calibration method for the inertial measurement unit in this embodiment can be implemented using devices such as a dual-axis temperature chamber turntable, a data acquisition card, and a host computer. Specifically, for example... Figure 1 As shown, the IMU is an inertial measurement unit to be calibrated, fixed to the dual-axis temperature chamber turntable. Parameter calibration of any number of IMUs is supported. The number of IMUs that can be calibrated simultaneously depends on the space capacity of the dual-axis temperature chamber turntable and the number of channels on the data acquisition card.

[0056] The data acquisition card is used to synchronously acquire the raw angular velocity and acceleration information output by each channel IMU, and after marking each IMU with a unique channel identifier, forward it to the host computer.

[0057] The host computer is responsible for receiving and storing the raw angular velocity and acceleration information of each IMU, as well as processing the collected raw data to obtain the calibration parameters of each IMU.

[0058] The control and data acquisition of the dual-axis temperature chamber turntable are as follows:

[0059] 1) At a constant temperature point, the rotation and stopping sequence and time allocation of the turntable are as follows:

[0060] a) z points upwards, remain still for 30 seconds;

[0061] b) Rotate 180° around the x-axis at 10° / s, i.e., rotate clockwise for 18 seconds;

[0062] c) With z pointing downwards, remain still for 30 seconds;

[0063] d) Rotate 270° around the x-axis at -10° / s, which is equivalent to rotating counterclockwise for 27 seconds;

[0064] e) y is pointing downwards, remain still for 30 seconds;

[0065] f) Rotate 180° around the z-axis at 10° / s, i.e., rotate clockwise for 18s;

[0066] g)y points upwards, remain still for 30 seconds;

[0067] h) Rotate 270° around the z-axis at -10° / s, that is, rotate counterclockwise for 27s;

[0068] i) Point x upwards, remain still for 30 seconds;

[0069] j) Rotate 180° around the y-axis at 10° / s, that is, rotate clockwise for 18s;

[0070] k)x finger down, remain still for 30 seconds.

[0071] l) Rotate 180° around the y-axis at -10° / s, that is, rotate counterclockwise for 18s.

[0072] During steps a) to l), isothermal data of the IMU are acquired.

[0073] Full temperature range, selection of incubator temperature:

[0074] In the embodiments of this application, the operating temperature range of the IMU used is -40℃ to 60℃. Therefore, eight calibration temperatures (i.e., calibration temperature points) can be selected: -40℃, -25℃, -10℃, 5℃, 20℃, 30℃, 45℃, and 60℃.

[0075] Process data of the IMU at various calibration temperatures were collected, providing data support for subsequent parameter calibration.

[0076] Figure 2 This is a flowchart of a calibration method for an inertial measurement unit according to an embodiment of this application. Figure 2 As shown, the calibration method for an inertial measurement unit according to an embodiment of this application includes the following steps:

[0077] S201: At each calibration temperature, obtain the initial parameters of the inertial measurement unit, wherein the initial parameters include the initial values ​​of the gyroscope scale coefficient, the initial value of the accelerometer zero bias, and the initial value of the scale coefficient.

[0078] In one embodiment of this application, obtaining the initial parameters of the inertial measurement unit includes:

[0079] By using different orientations of the accelerometers, the initial zero bias value and initial scale coefficient value of each accelerometer are calculated, and by rotating the gyroscopes along different axes, the initial scale coefficient value of each gyroscope is calculated; alternatively, the initial zero bias value and initial scale coefficient value of each accelerometer, and the initial scale coefficient value of each gyroscope are set to preset initial values.

[0080] For example, by calculating the initial zero bias value of each accelerometer by its different orientations. and initial value of scale coefficient The calculation formula is as follows:

[0081]

[0082] Of course, the initial value of the accelerometer can also be zero biased. Set it to 0 to initialize the accelerometer scale coefficient. Set it to 1.

[0083] By rotating the gyroscope along different axes, the initial values ​​of each gyroscope scale coefficient are calculated using the following formula:

[0084]

[0085] Of course, the initial value of the gyroscope scale coefficient can also be... Set it to 1.

[0086] S202: Construct a residual vector based on the gyroscope residual and the accelerometer residual.

[0087] In one embodiment of this application, constructing a residual vector based on gyroscope residuals and accelerometer residuals includes: obtaining gyroscope measurement values ​​and predicted values, and obtaining a three-dimensional gyroscope residual based on the gyroscope measurement values ​​and predicted values; obtaining accelerometer measurement values ​​and predicted values, and obtaining a three-dimensional accelerometer residual based on the accelerometer measurement values ​​and predicted values; and constructing a 6-dimensional residual vector based on the three-dimensional gyroscope residuals and the three-dimensional accelerometer residuals.

[0088] For example, within the Levenberg–Marquardt framework, calibration parameters can be globally and jointly optimized using IMU sampling data throughout the entire process.

[0089] Construct a 6-dimensional residual vector r, including 3-dimensional gyroscope residuals and 3-dimensional accelerometer residuals, as shown below, where meas represents the measured value and pred represents the predicted value.

[0090]

[0091] S203: Determine the initial value of the vector to be optimized based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error.

[0092] The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit. This vector includes lever arm error, zero bias of the accelerometer and gyroscope, scale coefficient error, and installation error, including:

[0093] A 21-dimensional vector to be optimized is constructed, comprising 3D gyroscope zero bias, 3D gyroscope calibration coefficient error, 3D gyroscope installation error, 3D accelerometer zero bias, 3D accelerometer calibration coefficient error, 3D accelerometer installation error, and 3D lever arm error. Initial values ​​for the 21-dimensional vector to be optimized are determined based on the initial parameters of the inertial measurement unit, wherein the initial value corresponding to the 3D gyroscope zero bias is 0, and the initial value corresponding to the 3D gyroscope calibration coefficient error is... The initial value corresponding to the installation error of the 3D gyroscope is 0; the initial value corresponding to the zero bias of the 3D accelerometer is... The initial value corresponding to the 3D accelerometer scale coefficient error is The initial value corresponding to the installation error of the 3D accelerometer is 0, and the initial value corresponding to the error of the 3D lever arm is 0. The initial value of the accelerometer scale coefficient, the The initial value of the accelerometer zero bias is... This is the initial value of the gyroscope's scale coefficient.

[0094] Specifically, a 21-dimensional vector p to be optimized is constructed, including: a 3-dimensional gyroscope zero-bias e. gbias 3D gyroscope scale coefficient error e gscale 3D gyroscope installation error e gmis 3D accelerometer zero bias e abias 3D accelerometer scale coefficient error e ascale 3D accelerometer installation error e amis 3D lever arm error e lever The 21-dimensional vector p to be optimized is represented as follows:

[0095]

[0096] Determine the initial value of the vector p to be optimized, where the initial value of p is 0 corresponding to the zero bias of the 3D gyroscope, and the initial value of p is 0 corresponding to the calibration coefficient error of the 3D gyroscope. The initial value of p corresponding to the installation error of the 3D gyroscope is 0; the initial value of p corresponding to the zero bias of the 3D accelerometer is... The initial value of p corresponding to the 3D accelerometer scale coefficient error is... 3D accelerometer installation error corresponding to an initial value of p of 0; 3D lever arm error L lever The initial value of p is 0.

[0097] S204: Construct a partial derivative matrix based on the residual vector and the vector to be optimized.

[0098] Specifically, the partial derivative matrix J can be approximated using the finite difference method, as follows:

[0099]

[0100] In each frame, the number of residual vectors i is 6, and the number of vectors to be optimized j is 21, that is, J in each frame is a 6×21 matrix.

[0101] S205: Based on the partial derivative matrix, optimize the vector to be optimized to obtain the optimized vector.

[0102] In one embodiment of this application, optimizing the vector to be optimized based on the partial derivative matrix to obtain an optimized vector includes: calculating an approximation matrix and a negative gradient direction based on the partial derivative matrix; obtaining the change in the vector to be optimized based on the approximation matrix and the negative gradient direction; and updating the vector to be optimized based on the change in the vector to be optimized.

[0103] In the above example, obtaining the change of the vector to be optimized based on the approximation matrix and the negative gradient direction includes: substituting the approximation matrix and the negative gradient direction into the formula for calculating the change of the vector to be optimized, thereby obtaining the change of the vector to be optimized, wherein the formula for calculating the change of the vector to be optimized is:

[0104]

[0105] Wherein, J T J is the approximate matrix, J T r is the negative gradient direction, λ is the iteration coefficient, the initial value of λ is 0.02, and D takes the negative gradient direction J. T The diagonal elements of J, where Δp is the change in the vector to be optimized.

[0106] In the above example, updating the vector to be optimized based on the change in the vector to be optimized includes: calculating the current value of the cost function based on the residual vector and the vector to be optimized; if the current value of the cost function decreases, updating the vector to be optimized based on the change in the vector to be optimized, and reducing the iteration coefficient λ to 0.5 times that of the previous iteration; if the current value of the cost function does not decrease, increasing the iteration coefficient λ to twice that of the previous iteration; after each iteration, determining whether the calibration parameters have converged; if the calibration parameters have not converged, further determining whether the number of iterations has reached the upper limit of iterations; otherwise, determining the current calibration parameters as the final calibration parameters; if the upper limit of iterations has not been reached, proceeding to the next iteration; otherwise, determining that the calibration parameters have failed to be calibrated.

[0107] Specifically, based on the Levenberg–Marquardt update equation, the Hessian approximation matrix J is calculated. T J, negative gradient direction J T r, resulting in a new Δp:

[0108]

[0109] In this example, the initial value of λ is set to 0.02, and D is taken as J. T The diagonal element of J.

[0110] Update p, i.e., p new = p last +Δp.

[0111] Calculate the current value of the cost function. If the cost decreases, accept Δp, update p, and reduce λ to 0.5 times that of the previous iteration; if the cost does not decrease, reject Δp and increase λ to twice that of the previous iteration.

[0112] Set the convergence threshold and upper limit of iterations for the calibration parameters, and repeat the iteration process. If the iteration conditions are not met, continue optimization until the iteration stopping condition is met, at which point the optimization ends. Iteration stops when the following conditions are met:

[0113] Firstly, the vector p to be optimized hardly changes:

[0114]

[0115] Secondly, the cost function value (cost) almost no longer decreases:

[0116]

[0117] Thirdly, the gradient must be small enough:

[0118]

[0119] Fourthly, the sum of squares of the vector p to be optimized is sufficiently small:

[0120]

[0121] Fifth, excessive iterations (iter):

[0122] .

[0123] If any one of the first to fourth conditions is met, the iteration ends normally, yielding the Levenberg-Marquardt optimized vector p. If condition five is met, the iteration terminates abnormally.

[0124] S206: Based on the optimized vector at each calibration temperature, obtain the calibration parameters of the inertial measurement unit within its operating temperature range.

[0125] As a specific example, obtaining the calibration parameters of the inertial measurement unit within its operating temperature range based on the optimization vector at each calibration temperature includes: fitting the calibration parameters of the inertial measurement unit at each operating temperature based on the optimization vector at each calibration temperature to obtain the calibration parameters of the inertial measurement unit within its operating temperature range.

[0126] For example, using an isothermal calibration algorithm, the corresponding optimized vector p is obtained at each isothermal point. Then, a third-order polynomial is used to fit the vector across the entire temperature range. The polynomial fitting model is as follows:

[0127]

[0128] Where T represents the temperature of the gyroscope and accelerometer. This represents the k-th parameter value at temperature T. , , , The fitting coefficients are denoted as .

[0129] Based on the angular velocity and acceleration output by the inertial measurement unit, calibration parameter residual terms are input to verify the accuracy and reliability of the calibration method. The calibration parameters are obtained using the method of this application embodiment and compared with traditional six-position and nineteen-position calibration schemes. The experimental results are shown in Table 1.

[0130] Table 1

[0131]

[0132] As can be seen from Table 1, the method of this application embodiment is significantly superior to the traditional six-position calibration method in terms of calibration accuracy, and can additionally calibrate installation error items that the six-position method cannot calibrate. Compared with the traditional nineteen-position calibration method, the method of this application embodiment, while maintaining considerable accuracy, shortens the calibration time to only 1 / 9 of the time required for nineteen-position calibration, thereby significantly improving calibration efficiency.

[0133] The embodiments of this application uniformly solve for various error parameters, achieving joint calibration of calibration parameters. Compared with traditional parameter-by-parameter calibration or Kalman filter calibration methods, it exhibits superior performance in terms of accuracy preservation, convergence stability, and versatility. It is suitable for efficient calibration of MEMS IMUs of different precisions. Furthermore, it also has significant reference and promotional value for efficient calibration of fiber optic inertial navigation systems and laser inertial navigation systems.

[0134] The inertial measurement unit (IMU) calibration method according to embodiments of this application constructs a nonlinear residual function including parameters such as IMU bias, scale coefficient, installation error, and lever error, and performs global joint optimization on all calibration parameters. Compared with existing methods, this method incorporates the bias, scale coefficient, and installation error of both the gyroscope and accelerometer into the model for joint solution within the same nonlinear optimization framework. It explicitly considers the nonlinear coupling relationship between the two types of sensor errors, avoiding the error propagation and incomplete decoupling problems caused by step-by-step estimation, thereby improving overall calibration accuracy. Furthermore, reasonable initial values ​​for accelerometer and gyroscope parameters are obtained through static and dynamic segment data, and then all calibration parameters are globally jointly optimized, considering the nonlinear coupling of parameters such as bias, scale coefficient, and installation error, achieving high-precision and stable convergence of multi-parameter joint calibration.

[0135] Figure 3 This is a structural block diagram of an inertial measurement unit calibration system according to an embodiment of this application. Figure 3 As shown, the calibration system for an inertial measurement unit according to an embodiment of this application includes: an initial parameter acquisition module 310, a residual vector construction module 320, a vector to be optimized construction module 330, and an optimization module 340, wherein:

[0136] The initial parameter acquisition module 310 is used to obtain the initial parameters of the inertial measurement unit at each calibration temperature, wherein the initial parameters include the initial value of the gyroscope scale coefficient, the initial value of the accelerometer zero bias, and the initial value of the scale coefficient.

[0137] The residual vector construction module 320 is used to construct a residual vector based on the gyroscope residual and the accelerometer residual;

[0138] The optimization vector construction module 330 is used to determine the initial value of the optimization vector based on the initial parameters of the inertial measurement unit, wherein the optimization vector includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error;

[0139] The optimization module 340 is used to construct a partial derivative matrix based on the residual vector and the vector to be optimized, and to optimize the vector to be optimized based on the partial derivative matrix to obtain an optimized vector, and to obtain the calibration parameters of the inertial measurement unit within the operating temperature range based on the optimized vector at each calibration temperature.

[0140] The inertial measurement unit (IMU) calibration system according to embodiments of this application constructs a nonlinear residual function including parameters such as IMU bias, scale coefficient, installation error, and lever error, and performs global joint optimization on all calibration parameters. Compared with existing methods, this system can simultaneously incorporate the bias, scale coefficient, and installation error of the gyroscope and accelerometer into the model for joint solution within the same nonlinear optimization framework. It explicitly considers the nonlinear coupling relationship between the errors of the two types of sensors, avoiding the error propagation and incomplete decoupling problems caused by step-by-step estimation, thereby improving the overall calibration accuracy. Furthermore, it obtains reasonable initial values ​​for accelerometer and gyroscope parameters through static and dynamic segment data, and then performs global joint optimization on all calibration parameters, considering the nonlinear coupling of parameters such as bias, scale coefficient, and installation error, to achieve high-precision and stable convergence of multi-parameter joint calibration.

[0141] Specific limitations regarding the calibration system of the inertial measurement unit (IMU) can be found in the limitations on the calibration method of the IMU described above, and will not be repeated here. Each module of the aforementioned IMU calibration system can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0142] In one embodiment, a computer device is provided. Figure 4 This is a structural block diagram of the computer device provided in the embodiments of this application, with reference to... Figure 4 The computer device includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the aforementioned embodiment of the calibration method for the inertial measurement unit. For example, it executes the following: at each calibration temperature, it obtains the initial parameters of the inertial measurement unit, wherein the initial parameters include the initial values ​​of the gyroscope scale coefficients, the initial value of the accelerometer zero bias, and the initial values ​​of the scale coefficients;

[0143] Construct a residual vector based on the gyroscope residual and the accelerometer residual;

[0144] The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error;

[0145] Construct a partial derivative matrix based on the residual vector and the vector to be optimized;

[0146] Based on the partial derivative matrix, the vector to be optimized is optimized to obtain the optimized vector;

[0147] The calibration parameters of the inertial measurement unit within its operating temperature range are obtained based on the optimized vector at each calibration temperature.

[0148] This application also provides a computer-readable storage medium storing a computer program. When the processor executes the computer program, it implements the aforementioned calibration method embodiment for the inertial measurement unit. For example, it executes the following: at each calibration temperature, it obtains the initial parameters of the inertial measurement unit, wherein the initial parameters include the initial values ​​of the gyroscope scale coefficients, the initial value of the accelerometer zero bias, and the initial values ​​of the scale coefficients.

[0149] Construct a residual vector based on the gyroscope residual and the accelerometer residual;

[0150] The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error;

[0151] Construct a partial derivative matrix based on the residual vector and the vector to be optimized;

[0152] Based on the partial derivative matrix, the vector to be optimized is optimized to obtain the optimized vector;

[0153] The calibration parameters of the inertial measurement unit within its operating temperature range are obtained based on the optimized vector at each calibration temperature.

[0154] This application provides a computer program product including instructions that, when executed, cause the method described in this application embodiment to be performed. For example, it can execute... Figure 2 The steps of the calibration method for the inertial measurement unit shown are performed, for example: at each calibration temperature, the initial parameters of the inertial measurement unit are obtained, wherein the initial parameters include the initial values ​​of the gyroscope scale coefficients, the initial values ​​of the accelerometer zero bias, and the initial values ​​of the scale coefficients;

[0155] Construct a residual vector based on the gyroscope residual and the accelerometer residual;

[0156] The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error;

[0157] Construct a partial derivative matrix based on the residual vector and the vector to be optimized;

[0158] Based on the partial derivative matrix, the vector to be optimized is optimized to obtain the optimized vector;

[0159] The calibration parameters of the inertial measurement unit within its operating temperature range are obtained based on the optimized vector at each calibration temperature.

[0160] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.

[0161] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0162] The above embodiments merely illustrate several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A calibration method for an inertial measurement unit, characterized in that, include: At each calibration temperature, the initial parameters of the inertial measurement unit are obtained, wherein the initial parameters include the initial values ​​of the gyroscope scale coefficient, the initial value of the accelerometer zero bias, and the initial value of the scale coefficient; Constructing a residual vector based on gyroscope residuals and accelerometer residuals includes: obtaining gyroscope measurement values ​​and predicted values, and obtaining a three-dimensional gyroscope residual based on the gyroscope measurement values ​​and predicted values; obtaining accelerometer measurement values ​​and predicted values, and obtaining a three-dimensional accelerometer residual based on the accelerometer measurement values ​​and predicted values; and constructing a 6-dimensional residual vector based on the three-dimensional gyroscope residuals and the three-dimensional accelerometer residuals. The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit, wherein the vector to be optimized includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error; Construct a partial derivative matrix based on the residual vector and the vector to be optimized; Based on the partial derivative matrix, the vector to be optimized is optimized to obtain the optimized vector; The calibration parameters of the inertial measurement unit within its operating temperature range are obtained based on the optimized vector at each calibration temperature.

2. The calibration method for the inertial measurement unit according to claim 1, characterized in that, The process of obtaining the initial parameters of the inertial measurement unit includes: By adjusting the accelerometer's orientation, the initial zero-bias value and initial scale coefficient value for each accelerometer are calculated. Similarly, by rotating the gyroscope along different axes, the initial scale coefficient value for each gyroscope is calculated. Set the initial zero bias value and initial scale coefficient value of each accelerometer, and the initial scale coefficient value of each gyroscope to the preset initial values.

3. The calibration method for the inertial measurement unit according to claim 1, characterized in that, The initial value of the vector to be optimized is determined based on the initial parameters of the inertial measurement unit. The vector to be optimized includes lever arm error, zero bias of the accelerometer and gyroscope, scale coefficient error, and installation error, including: A 21-dimensional vector to be optimized is constructed, wherein the 21-dimensional vector to be optimized includes 3D gyroscope zero bias, 3D gyroscope scale coefficient error, 3D gyroscope installation error, 3D accelerometer zero bias, 3D accelerometer scale coefficient error, 3D accelerometer installation error, and 3D lever arm error. The initial values ​​of the 21-dimensional vector to be optimized are determined based on the initial parameters of the inertial measurement unit, wherein the initial value corresponding to the zero bias of the 3D gyroscope is 0, and the initial value corresponding to the 3D gyroscope calibration coefficient error is [value missing]. The initial value corresponding to the installation error of the 3D gyroscope is 0; the initial value corresponding to the zero bias of the 3D accelerometer is... The initial value corresponding to the 3D accelerometer scale coefficient error is The initial value corresponding to the installation error of the 3D accelerometer is 0, and the initial value corresponding to the error of the 3D lever arm is 0. The initial value of the accelerometer scale coefficient, the The initial value of the accelerometer zero bias is... This is the initial value of the gyroscope's scale coefficient.

4. The calibration method for an inertial measurement unit according to any one of claims 1-3, characterized in that, The optimization process based on the partial derivative matrix to obtain the optimized vector includes: Based on the partial derivative matrix, calculate the approximate matrix and the negative gradient direction; Based on the approximate matrix and the negative gradient direction, the change in the vector to be optimized is obtained; The vector to be optimized is updated based on the change in the vector to be optimized.

5. The calibration method for the inertial measurement unit according to claim 4, characterized in that, The step of obtaining the change in the vector to be optimized based on the approximate matrix and the negative gradient direction includes: Substituting the approximate matrix and the negative gradient direction into the formula for calculating the change in the vector to be optimized, the change in the vector to be optimized is obtained, wherein the formula for calculating the change in the vector to be optimized is: Wherein, J T J is the approximate matrix, J T r is the negative gradient direction, λ is the iteration coefficient, the initial value of λ is 0.02, and D takes the negative gradient direction J. T The diagonal elements of J, where Δp is the change in the vector to be optimized.

6. The calibration method for an inertial measurement unit according to claim 5, characterized in that, The step of updating the vector to be optimized based on the change in the vector to be optimized includes: The current value of the cost function is calculated based on the residual vector and the vector to be optimized; If the current value of the cost function decreases, the vector to be optimized is updated once by the change in the vector to be optimized, and the iteration coefficient λ is reduced to 0.5 times that of the previous iteration; If the current value of the cost function does not decrease, then the iteration coefficient λ is increased to twice that of the previous iteration; After each iteration, determine whether the calibration parameters have converged; If the calibration parameters do not converge, then it is further determined whether the number of iterations has reached the upper limit of the number of iterations; otherwise, the current calibration parameters are determined as the final calibration parameters. If the maximum number of iterations has not been reached, proceed to the next iteration; otherwise, the calibration parameters are considered to have failed to be calibrated.

7. The calibration method for an inertial measurement unit according to claim 1, characterized in that, Based on the optimized vector at each calibration temperature, the calibration parameters of the inertial measurement unit within its operating temperature range are obtained, including: Based on the optimized vector at each calibration temperature, the calibration parameters of the inertial measurement unit at each operating temperature are fitted to obtain the calibration parameters within the operating temperature range of the inertial measurement unit.

8. A calibration system for an inertial measurement unit, characterized in that, include: The initial parameter acquisition module is used to obtain the initial parameters of the inertial measurement unit at each calibration temperature, wherein the initial parameters include the initial value of the gyroscope scale coefficient, the initial value of the accelerometer zero bias, and the initial value of the scale coefficient; A residual vector construction module is used to construct a residual vector based on gyroscope residuals and accelerometer residuals, including: obtaining gyroscope measurement values ​​and predicted values, and obtaining a three-dimensional gyroscope residual based on the gyroscope measurement values ​​and predicted values; obtaining accelerometer measurement values ​​and predicted values, and obtaining a three-dimensional accelerometer residual based on the accelerometer measurement values ​​and predicted values; and constructing a 6-dimensional residual vector based on the three-dimensional gyroscope residual and the three-dimensional accelerometer residual. The optimization vector construction module is used to determine the initial value of the optimization vector based on the initial parameters of the inertial measurement unit, wherein the optimization vector includes lever arm error, zero bias of accelerometer and gyroscope, scale coefficient error and installation error; The optimization module is used to construct a partial derivative matrix based on the residual vector and the vector to be optimized, and to optimize the vector to be optimized based on the partial derivative matrix to obtain an optimized vector, and to obtain the calibration parameters of the inertial measurement unit within the operating temperature range based on the optimized vector at each calibration temperature.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the calibration method of the inertial measurement unit according to any one of claims 1-7.