Bus-based inertial measurement unit batch calibration method and system
The batch calibration of inertial measurement units is solved through bus technology, and the problem of data transmission rate and connection number limitation in traditional calibration technology is improved, calibration efficiency and scale are reduced, and cost is provided to support the large-scale production of IMU.
Patent Information
- Application Number
- CN202411325987.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-23
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2044-09-23
AI Technical Summary
Traditional inertial measurement unit (IMU) calibration technology is limited by the data transmission rate and number of connections of the serial communication interface, resulting in low calibration efficiency, long time and high cost, making it difficult to meet the needs of large-scale production.
Using the bus-based inertial measurement unit batch calibration method, the IMU is placed under different temperature conditions through the bus for calibration test, the test data is obtained and batch transmission is performed, and calibration parameters are calculated and downloaded, including zero deviation, scale factor and installation error. Calibration model and system fitting technology optimize calibration parameters.
It significantly improves calibration efficiency and scale, shortens calibration cycle, reduces calibration costs, and supports large-scale production and application of IMU.
Smart Images

Figure CN119104089A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of sensor calibration, and in particular to a bus-based inertial measurement unit batch calibration method and system. Background Art
[0002] As an important part of modern navigation and positioning systems, inertial measurement units (IMUs) are widely used in aerospace, robotics, unmanned vehicles and other fields. The main function of IMU is to measure three-axis angular motion and three-axis acceleration. Its accuracy and stability have a crucial impact on the performance of the entire system. In practical applications, the installation accuracy of IMU directly affects the accuracy of its measurement results. Therefore, the three instrument sensitive axes (i.e., three axes) of IMU are required to remain perpendicular to each other during installation. However, due to errors in the processing and installation process, this verticality is often difficult to fully guarantee, so mathematical correction of the installation error is required.
[0003] In recent years, with the development of microelectronics technology, the accuracy of MEMS (micro-electromechanical system) gyroscopes has been significantly improved, and some products have reached weapon-grade accuracy. Compared with traditional fiber optic gyroscopes, MEMS gyroscopes have the advantages of small size, light weight, and strong environmental adaptability, so they have broad application prospects. However, problems such as large zero-bias temperature drift and poor nonlinearity of full-temperature scale factor of MEMS gyroscopes have seriously limited their application in large-scale production. In order to overcome these defects, it is particularly important to accurately calibrate the various parameters of MEMS gyroscopes.
[0004] At present, the traditional IMU calibration technology mainly relies on three-axis or two-axis turntables, which rotate the IMU and record its output data, and then analyze and correct various parameters. The traditional calibration technology usually uses RS232 / RS422 serial communication interface for data transmission. These traditional communication interfaces have the following obvious defects in the IMU calibration process: 1. Each IMU communicates with the test computer through a serial port, and due to the limited number of serial communication interfaces connected to each turntable through slip rings, only a limited number of IMUs can be calibrated at a time. Usually, a turntable can only support the calibration of 10 to 15 devices, which greatly limits the calibration efficiency; 2. Due to the limitations of data transmission and the number of connections, traditional calibration technology often needs to be carried out in batches, resulting in a long calibration process, especially for full-temperature full-coefficient calibration, which may take 1 to 2 days; 3. For low-cost MEMSIMU, although the cost of a single device is low, the unit production calibration cost is relatively high due to the complex and inefficient calibration process, which affects the market competitiveness of the product. Summary of the invention
[0005] Based on this, the purpose of the present invention is to propose a bus-based inertial measurement unit batch calibration method and system to solve the above-mentioned problems.
[0006] A bus-based batch calibration method for inertial measurement units proposed in the present invention comprises:
[0007] placing the inertial measurement unit under different temperature conditions, performing calibration tests of preset attitude changes and preset angular velocity changes under each temperature condition, and acquiring test data, wherein the test data includes actual measurement values of the sensor and corresponding test condition data;
[0008] Batch transmit the test data of all the inertial measurement units to the calibration system via a bus and store them, wherein each inertial measurement unit has a unique device number on the bus;
[0009] In the calibration system, the test data of each of the inertial measurement units is acquired according to the storage path, and the calibration parameters of each of the inertial measurement units are calculated based on the test data, wherein the calibration parameters include the zero bias, scale factor and installation error of the sensor;
[0010] The generated calibration parameters are downloaded to each of the inertial measurement units via a bus.
[0011] Furthermore, the step of calculating the calibration parameters of each of the inertial measurement units based on the test data includes:
[0012] Build a calibration model;
[0013] Based on the calibration model, the test data is used to perform system fitting to obtain the optimal calibration parameters.
[0014] Furthermore, the step of performing system fitting based on the calibration model using test data to obtain optimal calibration parameters includes:
[0015] Determine an optimization target, wherein the optimization target is accuracy;
[0016] The test data of the sensor under different test conditions are converted into a matrix form to obtain the observation matrix Y, Y = [y1, y2, ..., y i , ..., y n ], where y i is the actual measurement value of the sensor under the i-th test condition;
[0017] Constructing a design matrix X according to the calibration model, wherein the elements in the design matrix are associated with the calibration parameters x;
[0018] Based on the observation matrix Y and the design matrix X, a normal equation is constructed, which is: in, is the estimated value of the calibration parameter, X T is the transpose of the design matrix;
[0019] Solve the normal equation to obtain the estimated value of the calibration parameter
[0020] Furthermore, the step of performing system fitting based on the calibration model using test data to obtain optimal calibration parameters includes:
[0021] Determining optimization objectives, wherein the optimization objectives are more than one and conflicting, including accuracy and stability;
[0022] Based on the difference between the predicted value of the calibration model and the actual measured value of the sensor, an objective function is defined for each of the optimization objectives, including an accuracy objective function and a stability objective function.
[0023] The accuracy objective function is: Among them, y i is the actual measured value of the sensor under the i-th test condition, is the predicted value of the model calibrated with the calibration parameters x,
[0024] The stability objective function is: Among them, x i is the value of the calibration parameter x under the i-th test condition, is all x i A baseline value of
[0025] Find a set of non-dominant solutions x* such that for any x'≠x*, there does not exist f1(x')≤f1(x*) and f2(x')≤f2(x*) at the same time, so that the found solution achieves the best trade-off between different optimization objectives.
[0026] Furthermore, the step of finding a set of non-dominant solutions includes:
[0027] Set initial parameters, including the initial population;
[0028] Evaluate each individual in the initial population and calculate its objective function values f1(x) and f2(x);
[0029] The population is sorted non-dominantly according to the objective function value to divide the population into different non-dominant levels;
[0030] Select parent individuals from the current population to generate the next generation;
[0031] Perform crossover and mutation operations on the selected parent individuals to generate offspring individuals;
[0032] Merge the offspring individuals with the parent individuals to form a new population, and update the population based on the non-dominant sorting and crowding comparison operators;
[0033] Repeat the iteration until the maximum number of iterations is reached, and the non-dominant individuals in the current population are obtained, which is set as the Pareto frontier;
[0034] Determining trade-offs between different optimization objectives based on the shape and distribution of the Pareto front;
[0035] One or more optimal solutions, that is, one or more sets of optimal calibration parameters, are selected from the Pareto frontier based on the trade-off relationship between different optimization objectives.
[0036] Furthermore, the sensor includes a gyroscope, the calibration model includes a gyroscope calibration model, and in the step of constructing the calibration model, the gyroscope calibration model is:
[0037] wx=KSgxt×(wxBt+Fgxxwx'+Fgyxwy'+Fgzxwz'),
[0038] wy=KSgyt×(wyBt+Fgxywx'+Fgyywy'+Fgzywz'),
[0039] wz=KSgzt×(wzBt+Fgxzwx'+Fgyzwy'+Fgzzwz'),
[0040] Among them, wx, wy, wz are angular rate values in three directions, KSgxt, KSgyt, KSgzt are the full-temperature variation parameters of the three-axis gyroscope scale, wxBt, wyBt, wzBt are the full-temperature variation parameters of the three-axis gyroscope zero bias, Fgxx, Fgyx, Fgzx, Fgxy, Fgyy, Fgzy, Fgxz, Fgyz, Fgzz are the coupling parameters of the three-axis gyroscope, wx', wy', wz' are the outputs of the three gyroscopes in the b' coordinate system.
[0041] Furthermore, the sensor further includes an accelerometer, the calibration model further includes an acceleration calibration model, and in the step of constructing the calibration model, the acceleration calibration model is:
[0042] Ax=KSaxt×(AxBt+FaxxAx'+FayxAy'+FazxAz'),
[0043] Ay=KSayt×(AyBt+FaxyAx'+FayyAy'+FazyAz'),
[0044] Az=KSazt×(AzBt+FaxzAx'+FayzAy'+FazzAz'),
[0045] Among them, Ax, Ay, Az are apparent accelerations in three directions, KSaxt, KSayt, KSazt are the full-temperature variation parameters of the scale of the three-axis accelerometer, AxBt, AyBt, AzBt are the full-temperature variation parameters of the zero position of the three-axis accelerometer, Faxx, Fayx, Fazx, Faxy, Fayy, Fazy, Faxz, Fayz, Fazz are the coupling parameters between the three-axis accelerations, Ax', Ay', Az' are the outputs of the three accelerometers in the b' coordinate system.
[0046] Furthermore, the step of batch-transmitting the test data of all the inertial measurement units to the calibration system through the bus and storing the data includes:
[0047] receiving the test data of the inertial measurement unit through a bus and sending it to a data forwarding unit, and the data forwarding unit uses a serial port and sends it to a test computer through a slip ring;
[0048] The test data of each inertial measurement unit is received by the host computer of the test computer, and the test data of the inertial measurement unit is stored according to the preset file name, wherein the preset file name is the device number, the temperature test point and the test step under the corresponding temperature test point.
[0049] The present invention also proposes a bus-based inertial measurement unit batch calibration system, the system comprising:
[0050] A calibration test module: used to place the inertial measurement unit under different temperature conditions, perform calibration tests of preset attitude changes and preset angular velocity changes under each temperature condition, and obtain test data, wherein the test data includes actual measurement values of the sensor and corresponding test condition data;
[0051] A bus transmission module: used to batch transmit the test data of all the inertial measurement units to the calibration system through the bus and store them, wherein each inertial measurement unit has a unique device number on the bus;
[0052] A calibration parameter generation module: used to obtain the test data of each inertial measurement unit according to the storage path in the calibration system, and calculate the calibration parameters of each inertial measurement unit based on the test data, wherein the calibration parameters include the zero bias, scale factor and installation error of the sensor;
[0053] Calibration parameter download module: used to download the generated calibration parameters to each of the inertial measurement units through a bus.
[0054] In summary, according to the above-mentioned bus-based batch calibration method of inertial measurement units, the inertial measurement units are placed under different temperature conditions, and calibration tests of preset attitude changes and preset angular velocity changes are performed under each temperature condition, and the test data of the sensor is obtained, and then the test data of all inertial measurement units are batch-transmitted to the calibration system through the bus and stored. Each unit has a unique number on the bus, which ensures the accuracy and efficiency of data transmission. In the calibration system, the test data of each inertial measurement unit is obtained according to the storage path, and the calibration parameters of each inertial measurement unit are calculated based on the test data. Finally, the generated calibration parameters are downloaded to each of the inertial measurement units in batches through the bus. The present invention adopts bus technology to perform batch calibration of inertial measurement units, which not only overcomes the limitations of traditional serial communication interfaces in data transmission rate and number of connections, but also significantly shortens the calibration cycle and reduces the calibration cost by improving calibration efficiency and scale, providing strong support for the large-scale production and application of IMU.
[0055] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description or will be learned through embodiments of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] The above and / or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0057] Figure 1 This is a flow chart of a bus-based batch calibration method for inertial measurement units according to Embodiment 1 of the present invention;
[0058] Figure 2 A calibration connection diagram of a bus-based batch calibration method for inertial measurement units according to the first embodiment of the present invention;
[0059] Figure 3 A parameter batch generation flow chart of a bus-based inertial measurement unit batch calibration method according to the first embodiment of the present invention;
[0060] Figure 4 A product parameter downloading flow chart of a bus-based inertial measurement unit batch calibration method according to the first embodiment of the present invention;
[0061] Figure 5 This is a system block diagram of a bus-based inertial measurement unit batch calibration system according to Embodiment 2 of the present invention. DETAILED DESCRIPTION
[0062] In order to facilitate the understanding of the present invention, the present invention will be described more fully below with reference to the relevant drawings. Several embodiments of the present invention are given in the drawings. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. On the contrary, the purpose of providing these embodiments is to make the disclosure of the present invention more thorough and comprehensive.
[0063] It should be noted that when an element is referred to as being "fixed to" another element, it may be directly on the other element or there may be a central element. When an element is considered to be "connected to" another element, it may be directly connected to the other element or there may be a central element at the same time. The terms "vertical", "horizontal", "left", "right" and similar expressions used herein are for illustrative purposes only.
[0064] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used herein in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The term "and / or" used herein includes any and all combinations of one or more related listed items.
[0065] Embodiment 1
[0066] See also Figures 1 to 4 The present invention proposes a bus-based inertial measurement unit batch calibration method, the method comprising steps S101 to S104:
[0067] S101, placing the inertial measurement unit under different temperature conditions, performing calibration tests of preset posture changes and preset angular velocity changes under each temperature condition, and acquiring test data, wherein the test data includes actual measurement values of the sensor and corresponding test condition data.
[0068] It should be noted that the inertial measurement unit (IMU) will be calibrated and tested under different temperature conditions. The specific test steps are as follows:
[0069] First, prepare for the test: ensure that the inertial measurement unit, temperature chamber, turntable and other test equipment are in good working condition; preset the temperature conditions of the temperature chamber according to the test requirements, such as -40℃, -20℃, 0℃, 20℃, 40℃, 60℃, etc.; formulate a series of preset attitude changes and angular velocity changes to ensure that the IMU can be fully tested in all directions.
[0070] The inertial measurement unit is placed in an incubator and set to a preset temperature condition, and the inertial measurement unit is kept at the temperature for a certain period of time (such as 2 hours) to ensure that it reaches a thermal equilibrium state.
[0071] Under each temperature condition, a preset posture change is performed, including changes in orientation in different axes, such as X-axis upward and Y-axis north, X-axis upward and Y-axis south, etc., and each posture is maintained for a certain time (such as 1 minute) to record data.
[0072] In a specific posture (such as the X-axis facing upward), the inertial measurement unit is rotated at different preset angular velocities through a turntable. The angular velocity can be set to 10° / s, 20° / s, 40° / s, etc., and rotates clockwise and counterclockwise respectively, and records the data at each angular velocity.
[0073] At each temperature point and attitude / angular velocity change, the actual measurement values of the gyroscope and accelerometer in the inertial measurement unit are recorded in detail. The measurement values include three-axis angular rate (wx, wy, wz), three-axis acceleration (Ax, Ay, Az) and the corresponding temperature values of the gyroscope and accelerometer (Tgx, Tgy, Tgz and Tax, Tay, Taz).
[0074] Under each temperature condition, the above test process of attitude and angular velocity changes is repeated to ensure the integrity and reliability of the data.
[0075] The test data, i.e. the actual measurement values of the sensor, are obtained, including the three-axis angular rate data of the gyroscope, the three-axis acceleration data of the accelerometer, and the temperature values of the gyroscope and accelerometer. The corresponding test conditions, i.e. the temperature conditions, attitude conditions, and angular velocity conditions corresponding to each test data, are recorded.
[0076] S102, batch-transmitting the test data of all the inertial measurement units to a calibration system via a bus and storing the test data, wherein each of the inertial measurement units has a unique device number on the bus.
[0077] It should be noted that based on bus technology, the test data of multiple inertial measurement units are batch-transferred to the calibration system and stored. Each inertial measurement unit has a unique device number on the bus to ensure the accuracy and traceability of the data. Through the predefined data packet format, the inertial measurement unit packages the test data and sends it through the bus. The data forwarding unit is responsible for receiving and forwarding the data, which is finally received and stored by the host computer software.
[0078] The inertial measurement unit packages the test data in a predefined format. The data content mainly includes various measurement data of the inertial measurement unit, such as the output of the gyroscope and accelerometer and temperature data. The predefined format includes the data frame header, frame length, frame number, device number, data content and checksum. The specific format is shown in Table 1 below:
[0079]
[0080] Table 1
[0081] like Figure 2 As shown, the data forwarding unit is responsible for receiving the test data on the bus and sending the test data to the test computer through the serial port (such as through a slip ring). The host computer software on the test computer is responsible for receiving the serial port data and storing the relevant test data in a file under a specified path. The file name usually contains the device number, temperature point and test step information for easy management and retrieval.
[0082] This embodiment transmits test data in batches via a bus, which can greatly improve data transmission efficiency and calibration efficiency. Compared with the traditional calibration technology in which each IMU communicates with the test computer through a serial port, the bus technology can realize the simultaneous transmission of data by multiple IMUs to improve the calibration efficiency. Moreover, a single bus can calibrate multiple IMUs at the same time, and the entire system can support the calibration of hundreds of IMUs, which enables the calibration system to adapt to large-scale production needs and improves production efficiency. By improving the calibration efficiency and scale, the calibration cost of a single product can be greatly reduced, which is particularly important for low-cost MEMS IMUs and helps to improve the market competitiveness of the product.
[0083] S103, in the calibration system, acquiring test data of each of the inertial measurement units according to the storage path, and calculating calibration parameters of each of the inertial measurement units based on the test data, wherein the calibration parameters include zero bias, scale factor and installation error of the sensor.
[0084] It should be noted that in the calibration system, for each inertial measurement unit, the calibration parameters that need to be calculated mainly include the zero bias, scale factor and installation error of the gyroscope and accelerometer. The specific parameters are as follows:
[0085] Gyroscope calibration parameters: gyroscope full-temperature zero bias, the zero offset of the gyroscope at different temperatures, that is, the angular rate value output by the gyroscope in a stationary state; gyroscope full-temperature scale nonlinearity, the nonlinear characteristics of the gyroscope scale factor changing with temperature, that is, the proportional relationship between the gyroscope output angular rate and the input angular rate changes with temperature; and gyroscope full-temperature installation deviation, the deviation during the gyroscope installation process, that is, the gyroscope output error caused by improper installation.
[0086] Accelerometer calibration parameters: accelerometer full-temperature zero bias, the zero offset of the accelerometer at different temperatures, that is, the acceleration value output by the accelerometer in a static state; accelerometer full-temperature scale nonlinearity, the nonlinear characteristics of the accelerometer scale factor changing with temperature, that is, the proportional relationship between the accelerometer output acceleration and the input acceleration changes with temperature; and accelerometer full-temperature installation deviation, the deviation during the installation process of the accelerometer, that is, the accelerometer output error caused by improper installation.
[0087] The generation of calibration parameters is mainly achieved through the following steps:
[0088] After the parameter recording is completed, the parameter generation module is run through the host computer. The parameter generation module obtains the product list through the corresponding path and calculates each product parameter one by one. Figure 3 First, check the integrity of the file records according to the relevant temperature point and rate point settings. If the file is incomplete, terminate the product parameter processing module. If the file is complete, enter the data preprocessing. The main work of parameter preprocessing is to calculate the average value of each test quantity in the file at the test point. After parameter preprocessing, enter the parameter integration generation module, through which the data of each test point is systematically fitted, the optimal calibration parameters are obtained, and the calibration parameter file is generated in the form of commands.
[0089] The calibration model describes the relationship between the single output and input of the inertial measurement, and takes into account the influence of temperature change and coupling factors. The specific calibration model formula is as follows:
[0090] Gyroscope calibration model:
[0091] wx=KSgxt×(wxBt+Fgxxwx'+Fgyxwy'+Fgzxwz'),
[0092] wy=KSgyt×(wyBt+Fgxywx'+Fgyywy'+Fgzywz'),
[0093] wz=KSgzt×(wzBt+Fgxzwx'+Fgyzwy'+Fgzzwz'),
[0094] Among them, wx, wy, wz are angular rate values in three directions, KSgxt, KSgyt, KSgzt are the full-temperature variation parameters of the three-axis gyroscope scale, wxBt, wyBt, wzBt are the full-temperature variation parameters of the three-axis gyroscope zero bias, Fgxx, Fgyx, Fgzx, Fgxy, Fgyy, Fgzy, Fgxz, Fgyz, Fgzz are the coupling parameters of the three-axis gyroscope, wx', wy', wz' are the outputs of the three gyroscopes in the b' coordinate system.
[0095] KSgxt=KSgx0t+KSgx1t×Twx+KSgx2t×Twx 2 +KSgx3t×Twx 3 ,
[0096] KSgyt=KSgy0t+KSgy1t×Twy+KSgy2t×Twy2+KSgy3t×Twy3,
[0097] KSgzt=KSgz0t+KSgz1t×Twz+KSgz2t×Twz2+KSgz3t×Twz3,
[0098] wxBt=wxB0t+wxB1t×Twx+wxB2t×Twx 2 +wxB3t×Twx 3 ,
[0099] wyBt=wyB0t+wyB1t×Twy+wyB2t×Twy2+wyB3t×Twy3,
[0100] wzBt=wzB0t+wzB1t×Twz+wzB2t×Twz2+wzB3t×Twz3.
[0101] The accelerometer calibration model is:
[0102] Ax=KSaxt×(AxBt+FaxxAx'+FayxAy'+FazxAz'),
[0103] Ay=KSayt×(AyBt+FaxyAx'+FayyAy'+FazyAz'),
[0104] Az=KSazt×(AzBt+FaxzAx'+FayzAy'+FazzAz'),
[0105] Among them, Ax, Ay, Az are apparent accelerations in three directions, KSaxt, KSayt, KSazt are the full-temperature variation parameters of the scale of the three-axis accelerometer, AxBt, AyBt, AzBt are the full-temperature variation parameters of the zero position of the three-axis accelerometer, Faxx, Fayx, Fazx, Faxy, Fayy, Fazy, Faxz, Fayz, Fazz are the coupling parameters between the three-axis accelerations, Ax', Ay', Az' are the outputs of the three accelerometers in the b' coordinate system.
[0106] KSaxt=KSax0t+KSax1t×TAx+KSax2t×TAx 2 +KSax3t×TAx 3 ,
[0107] KSayt=KSay0t+KSay1t×TAy+KSay2t×TAy2+KSay3t×TAy3,
[0108] KSazt=KSaz0t+KSaz1t×TAz+KSaz2t×TAz2+KSaz3t×TAz3,
[0109] AxBt=AxB0t+AxB1t×TAx+AxB2t×TAx 2 +AxB3t×TAx 3 ,
[0110] AyBt=AyB0t+AyB1t×TAy+AyB2t×TAy2+AyB3t×TAy3,
[0111] AzBt=AzB0t+AzB1t×TAz+AzB2t×TAz2+AzB3t×TAz3.
[0112] S104, downloading the generated calibration parameters to each of the inertial measurement units via a bus.
[0113] It should be noted that the calibration parameters are sent to each inertial measurement unit via the bus. The specific steps are as follows: Figure 4 As shown in the figure, the system first obtains the list of products that need to download calibration parameters to ensure that each inertial measurement unit can receive the corresponding calibration parameters. Then the calibration parameters are sent to each product through the bus one by one. During the sending process, the data frame contains information such as device number and frame number to distinguish the data of different products. After each inertial measurement unit receives the calibration parameters issued, it first determines whether the product ID in the command matches its own ID. If it matches, the calibration parameters are decoded and solidified into the internal on-chip FLASH to ensure the persistent storage and accuracy of the parameters.
[0114] In this embodiment, the generated calibration parameters are downloaded to each inertial measurement unit through the bus. The calibration parameters can be sent to multiple inertial measurement units at one time through the bus, which greatly improves production efficiency. Compared with the traditional method, this method reduces the time required for calibration one by one and improves the overall calibration efficiency. It also reduces the time and labor cost required for calibration one by one, thereby reducing the calibration cost of a single product, which has significant economic benefits for large-scale production.
[0115] Based on step S101 to step S104, the inertial measurement unit is placed under different temperature conditions, and calibration tests of preset attitude changes and preset angular velocity changes are performed under each temperature condition, and the test data of the sensor is obtained, and then the test data of all inertial measurement units are transferred to the calibration system in batches through the bus and stored. Each unit has a unique number on the bus, which ensures the accuracy and efficiency of data transmission. In the calibration system, the test data of each inertial measurement unit is obtained according to the storage path, and the calibration parameters of each inertial measurement unit are calculated based on the test data. Finally, the generated calibration parameters are downloaded to each of the inertial measurement units in batches through the bus. The present invention adopts bus technology to perform batch calibration of inertial measurement units, which not only overcomes the limitations of traditional serial communication interfaces in data transmission rate and number of connections, but also significantly shortens the calibration cycle and reduces the calibration cost by improving calibration efficiency and scale, providing strong support for the large-scale production and application of IMU.
[0116] Specifically, with bus technology, a single bus can connect and calibrate multiple IMU devices at the same time, no longer limited by the number of slip ring interfaces. For example, a single bus can calibrate 50 IMUs at the same time, and the entire temperature chamber can calibrate hundreds of devices at the same time, greatly improving the calibration scale. At the same time, bus technology can support higher data transmission rates, so that a large amount of data can be quickly transmitted in a short time, improving the efficiency of the calibration process. Due to the improvement of data transmission efficiency and calibration scale, the calibration cycle can be significantly shortened, and a large number of devices can be calibrated at one time, reducing the time and labor costs of batch calibration.
[0117] The following is a further detailed introduction to a bus-based batch calibration method for an inertial measurement unit according to an embodiment of the present invention:
[0118] Further optionally, in step S103, the step of calculating the calibration parameters of each of the inertial measurement units based on the test data includes:
[0119] Build a calibration model;
[0120] Based on the calibration model, the test data is used to perform system fitting to obtain the optimal calibration parameters.
[0121] It can be understood that the steps of calculating the calibration parameters of each inertial measurement unit based on test data mainly include two parts: building a calibration model and using test data for system fitting. First, it is necessary to build a calibration model, including a gyroscope calibration model and an accelerometer calibration model. These models describe the relationship between the output and input of the inertial measurement unit and take into account the influence of temperature changes and coupling factors. Then, the test data is used for system fitting to find the optimal calibration parameters.
[0122] Further optionally, the step of performing system fitting based on the calibration model using test data to obtain optimal calibration parameters includes:
[0123] Determine an optimization target, wherein the optimization target is accuracy;
[0124] The test data of the sensor under different test conditions are converted into a matrix form to obtain the observation matrix Y, Y = [y1, y2, ..., y i , ..., y n ], where y i is the actual measurement value of the sensor under the i-th test condition;
[0125] Constructing a design matrix X according to the calibration model, wherein the elements in the design matrix are associated with the calibration parameters x;
[0126] Based on the observation matrix Y and the design matrix X, a normal equation is constructed, which is: in, is the estimated value of the calibration parameter, X T is the transpose of the design matrix;
[0127] Solve the normal equation to obtain the estimated value of the calibration parameter
[0128] It is understandable that in the step of using the test data to perform system fitting based on the calibration model to find the optimal calibration parameters, if the optimization goal is unique, that is, to minimize the calibration error, to ensure the precision and accuracy of the measurement results. The determination of this optimization goal is based on the actual needs of batch calibration of the inertial measurement unit, that is, under various test conditions, the difference between the output value predicted by the calibration model and the actual measurement value is as small as possible. In order to achieve this optimization goal, the test data of the sensor under different test conditions is first converted into a matrix form to obtain the observation matrix Y to organize the actual measurement values in an orderly manner. Then, the design matrix X is constructed according to the calibration model. The construction of the design matrix X is to link the calibration model with the actual measurement data and provide a basis for solving the calibration parameters. Then, based on the observation matrix Y and the design matrix X, the normal equation is constructed. The normal equation is a set of linear equations used to solve the linear least squares problem. In this problem, the goal of solving the normal equation is to find the parameter value that minimizes the sum of the squares of the difference between the predicted output and the actual output. Finally, the normal equations are solved to obtain the estimated values of the calibration parameters. By solving the normal equations, the optimal calibration parameters can be obtained, thereby improving the measurement precision and accuracy.
[0129] Further optionally, the step of performing system fitting based on the calibration model using test data to obtain optimal calibration parameters includes:
[0130] Determining optimization objectives, wherein the optimization objectives are more than one and conflicting, including accuracy and stability;
[0131] Based on the difference between the predicted value of the calibration model and the actual measured value of the sensor, an objective function is defined for each of the optimization objectives, including an accuracy objective function and a stability objective function.
[0132] The accuracy objective function is: Among them, y i is the actual measured value of the sensor under the i-th test condition, is the predicted value of the model calibrated with the calibration parameters x,
[0133] The stability objective function is: Among them, x i is the value of the calibration parameter x under the i-th test condition, is all x i A baseline value of
[0134] Find a set of non-dominant solutions x* such that for any x'≠x*, there does not exist f1(x')≤f1(x*) and f2(x')≤f2(x*) at the same time, so that the found solution achieves the best trade-off between different optimization objectives.
[0135] Understandably, in the batch calibration process of the inertial measurement unit, when there is more than one optimization goal and they conflict with each other, such as accuracy and stability, comprehensive consideration is required. The accuracy goal aims to minimize the calibration error and ensure the accuracy of the measurement results. The calibration error can be quantified by the accuracy objective function. The stability goal ensures the consistency of the calibration parameters under different conditions, reduces drift and fluctuation, and the stability of the calibration parameters can be quantified by the stability objective function. In order to achieve multiple goals, it is first necessary to collect the actual measurement values under different test conditions, and use these data to solve the calibration parameters through the optimization algorithm. After obtaining the calibration parameters, the stability and accuracy of these parameters under different conditions are evaluated. Since accuracy and stability are often conflicting, it is necessary to find a set of non-dominant solutions to achieve the best trade-off between accuracy and stability. Multi-objective optimization techniques such as Pareto frontier analysis can be used. By comprehensively considering and achieving multiple optimization goals such as accuracy and stability, more accurate and stable inertial measurement unit calibration results can be obtained. In addition, computational efficiency can also be considered at the same time to meet the needs of real-time or online calibration.
[0136] Further optionally, the step of finding a set of non-dominant solutions includes:
[0137] Set initial parameters, including the initial population;
[0138] Evaluate each individual in the initial population and calculate its objective function values f1(x) and f2(x);
[0139] The population is sorted non-dominantly according to the objective function value to divide the population into different non-dominant levels;
[0140] Select parent individuals from the current population to generate the next generation;
[0141] Perform crossover and mutation operations on the selected parent individuals to generate offspring individuals;
[0142] Merge the offspring individuals with the parent individuals to form a new population, and update the population based on the non-dominant sorting and crowding comparison operators;
[0143] Repeat the iteration until the maximum number of iterations is reached, and the non-dominant individuals in the current population are obtained, which is set as the Pareto frontier;
[0144] Determining trade-offs between different optimization objectives based on the shape and distribution of the Pareto front;
[0145] One or more optimal solutions, that is, one or more sets of optimal calibration parameters, are selected from the Pareto frontier based on the trade-off relationship between different optimization objectives.
[0146] Understandably, in IMU batch calibration, the key steps to find a set of non-dominant solutions include: setting initial parameters, evaluating the initial population, performing non-dominant sorting, selecting parent individuals, performing crossover and mutation operations, updating the population, repeating iterations until the maximum number of times is reached, determining the Pareto frontier, analyzing the trade-off relationship, and finally selecting the optimal solution from the Pareto frontier. This balances multiple optimization objectives and obtains the best calibration parameters.
[0147] Further optionally, the step of transmitting the test data of all the inertial measurement units in batches to the calibration system through the bus and storing the data includes:
[0148] receiving the test data of the inertial measurement unit through a bus and sending it to a data forwarding unit, and the data forwarding unit uses a serial port and sends it to a test computer through a slip ring;
[0149] The test data of each inertial measurement unit is received by the host computer of the test computer, and the test data of the inertial measurement unit is stored according to the preset file name, wherein the preset file name is the device number, the temperature test point and the test step under the corresponding temperature test point.
[0150] Embodiment 2
[0151] See also Figure 5The present invention proposes a bus-based inertial measurement unit batch calibration system, the system comprising:
[0152] A calibration test module: used to place the inertial measurement unit under different temperature conditions, perform calibration tests of preset attitude changes and preset angular velocity changes under each temperature condition, and obtain test data, wherein the test data includes actual measurement values of the sensor and corresponding test condition data;
[0153] A bus transmission module: used to batch transmit the test data of all the inertial measurement units to the calibration system through the bus and store them, wherein each inertial measurement unit has a unique device number on the bus;
[0154] A calibration parameter generation module: used to obtain the test data of each inertial measurement unit according to the storage path in the calibration system, and calculate the calibration parameters of each inertial measurement unit based on the test data, wherein the calibration parameters include the zero bias, scale factor and installation error of the sensor;
[0155] Calibration parameter download module: used to download the generated calibration parameters to each of the inertial measurement units through a bus.
[0156] Further optionally, the calibration parameter generation module is also used for:
[0157] Build a calibration model;
[0158] Based on the calibration model, the test data is used to perform system fitting to obtain the optimal calibration parameters.
[0159] Further optionally, the calibration parameter generation module is also used for:
[0160] Determine an optimization target, wherein the optimization target is accuracy;
[0161] The test data of the sensor under different test conditions are converted into a matrix form to obtain the observation matrix Y, Y = [y1, y2, ..., y i , ..., y n ], where y i is the actual measurement value of the sensor under the i-th test condition;
[0162] Constructing a design matrix X according to the calibration model, wherein the elements in the design matrix are associated with the calibration parameters x;
[0163] Based on the observation matrix Y and the design matrix X, a normal equation is constructed, which is: in, is the estimated value of the calibration parameter, X T is the transpose of the design matrix;
[0164] Solve the normal equation to obtain the estimated value of the calibration parameter
[0165] Further optionally, the calibration parameter generation module is also used for:
[0166] Determining optimization objectives, wherein the optimization objectives are more than one and conflicting, including accuracy and stability;
[0167] Based on the difference between the predicted value of the calibration model and the actual measured value of the sensor, an objective function is defined for each of the optimization objectives, including an accuracy objective function and a stability objective function.
[0168] The accuracy objective function is: Among them, y i is the actual measured value of the sensor under the i-th test condition, is the predicted value of the model calibrated with the calibration parameters x,
[0169] The stability objective function is: Among them, x i is the value of the calibration parameter x under the i-th test condition, is all x i A baseline value of
[0170] Find a set of non-dominant solutions x* such that for any x'≠x*, there does not exist f1(x')≤f1(x*) and f2(x')≤f2(x*) at the same time, so that the found solution achieves the best trade-off between different optimization objectives.
[0171] Further optionally, the calibration parameter generation module is also used for:
[0172] Set initial parameters, including the initial population;
[0173] Evaluate each individual in the initial population and calculate its objective function values f1(x) and f2(x);
[0174] The population is sorted non-dominantly according to the objective function value to divide the population into different non-dominant levels;
[0175] Select parent individuals from the current population to generate the next generation;
[0176] Perform crossover and mutation operations on the selected parent individuals to generate offspring individuals;
[0177] Merge the offspring individuals with the parent individuals to form a new population, and update the population based on the non-dominant sorting and crowding comparison operators;
[0178] Repeat the iteration until the maximum number of iterations is reached, and the non-dominant individuals in the current population are obtained, which is set as the Pareto frontier;
[0179] Determining trade-offs between different optimization objectives based on the shape and distribution of the Pareto front;
[0180] One or more optimal solutions, that is, one or more sets of optimal calibration parameters, are selected from the Pareto frontier based on the trade-off relationship between different optimization objectives.
[0181] Further optionally, the sensor includes a gyroscope, the calibration model includes a gyroscope calibration model, and the gyroscope calibration model is:
[0182] wx=KSgxt×(wxBt+Fgxxwx'+Fgyxwy'+Fgzxwz'),
[0183] wy=KSgyt×(wyBt+Fgxywx'+Fgyywy'+Fgzywz'),
[0184] wz=KSgzt×(wzBt+Fgxzwx'+Fgyzwy'+Fgzzwz'),
[0185] Among them, wx, wy, wz are angular rate values in three directions, KSgxt, KSgyt, KSgzt are the full-temperature variation parameters of the three-axis gyroscope scale, wxBt, wyBt, wzBt are the full-temperature variation parameters of the three-axis gyroscope zero bias, Fgxx, Fgyx, Fgzx, Fgxy, Fgyy, Fgzy, Fgxz, Fgyz, Fgzz are the coupling parameters of the three-axis gyroscope, wx', wy', wz' are the outputs of the three gyroscopes in the b' coordinate system.
[0186] Further optionally, the sensor further includes an accelerometer, and the calibration model further includes an acceleration calibration model, and the acceleration calibration model is:
[0187] Ax=KSaxt×(AxBt+FaxxAx'+FayxAy'+FazxAz'),
[0188] Ay=KSayt×(AyBt+FaxyAx'+FayyAy'+FazyAz'),
[0189] Az=KSazt×(AzBt+FaxzAx'+FayzAy'+FazzAz'),
[0190] Among them, Ax, Ay, Az are apparent accelerations in three directions, KSaxt, KSayt, KSazt are the full-temperature variation parameters of the scale of the three-axis accelerometer, AxBt, AyBt, AzBt are the full-temperature variation parameters of the zero position of the three-axis accelerometer, Faxx, Fayx, Fazx, Faxy, Fayy, Fazy, Faxz, Fayz, Fazz are the coupling parameters between the three-axis accelerations, Ax', Ay', Az' are the outputs of the three accelerometers in the b' coordinate system.
[0191] Further optionally, the bus transmission module is also used for:
[0192] receiving the test data of the inertial measurement unit through a bus and sending it to a data forwarding unit, and the data forwarding unit uses a serial port and sends it to a test computer through a slip ring;
[0193] The test data of each inertial measurement unit is received by the host computer of the test computer, and the test data of the inertial measurement unit is stored according to the preset file name, wherein the preset file name is the device number, the temperature test point and the test step under the corresponding temperature test point.
[0194] The above-mentioned embodiments only express several implementation methods of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the scope of the patent of the present invention. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, which all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. A bus-based inertial measurement unit batch calibration method, characterized in that: The method comprises: placing the inertial measurement unit under different temperature conditions, performing calibration tests of preset attitude changes and preset angular velocity changes under each temperature condition, and acquiring test data, wherein the test data includes actual measurement values of the sensor and corresponding test condition data; Batch transmit the test data of all the inertial measurement units to the calibration system via a bus and store them, wherein each inertial measurement unit has a unique device number on the bus; In the calibration system, the test data of each of the inertial measurement units is acquired according to the storage path, and the calibration parameters of each of the inertial measurement units are calculated based on the test data, wherein the calibration parameters include the zero bias, scale factor and installation error of the sensor; The generated calibration parameters are downloaded to each of the inertial measurement units via a bus.
2. The bus-based inertial measurement unit batch calibration method according to claim 1, characterized in that: The step of calculating calibration parameters of each of the inertial measurement units based on the test data comprises: Build a calibration model; Based on the calibration model, the test data is used to perform system fitting to obtain the optimal calibration parameters.
3. The bus-based inertial measurement unit batch calibration method according to claim 2, characterized in that: The step of performing system fitting based on the calibration model using test data to obtain optimal calibration parameters includes: Determine an optimization target, wherein the optimization target is accuracy; The test data of the sensor under different test conditions are converted into a matrix form to obtain the observation matrix Y, Y = [y1, y2, ..., y i , ..., y n ], where y i is the actual measurement value of the sensor under the i-th test condition; Constructing a design matrix X according to the calibration model, wherein the elements in the design matrix are associated with the calibration parameters x; Based on the observation matrix Y and the design matrix X, a normal equation is constructed, which is: in, is the estimated value of the calibration parameter, X T is the transpose of the design matrix; Solve the normal equation to obtain the estimated value of the calibration parameter 4. The bus-based inertial measurement unit batch calibration method according to claim 2, characterized in that: The step of performing system fitting based on the calibration model using test data to obtain optimal calibration parameters includes: Determining optimization objectives, wherein the optimization objectives are more than one and conflicting, including accuracy and stability; Based on the difference between the predicted value of the calibration model and the actual measured value of the sensor, an objective function is defined for each of the optimization objectives, including an accuracy objective function and a stability objective function. The accuracy objective function is: Among them, y i is the actual measured value of the sensor under the i-th test condition, is the predicted value of the model calibrated with the calibration parameters x, The stability objective function is: Among them, x i is the value of the calibration parameter x under the i-th test condition, is all x i A baseline value of Find a set of non-dominant solutions x* such that for any x'≠x*, there does not exist f1(x')≤f1(x*) and f2(x')≤f2(x*) at the same time, so that the found solution achieves the best trade-off between different optimization objectives.
5. The bus-based inertial measurement unit batch calibration method according to claim 4, characterized in that: The step of finding a set of non-dominant solutions comprises: Set initial parameters, including the initial population; Evaluate each individual in the initial population and calculate its objective function values f1(x) and f2(x); The population is sorted non-dominantly according to the objective function value to divide the population into different non-dominant levels; Select parent individuals from the current population to generate the next generation; Perform crossover and mutation operations on the selected parent individuals to generate offspring individuals; Merge the offspring individuals with the parent individuals to form a new population, and update the population based on the non-dominant sorting and crowding comparison operators; Repeat the iteration until the maximum number of iterations is reached, and the non-dominant individuals in the current population are obtained, which is set as the Pareto frontier; Determining trade-offs between different optimization objectives based on the shape and distribution of the Pareto front; One or more optimal solutions, that is, one or more sets of optimal calibration parameters, are selected from the Pareto frontier based on the trade-off relationship between different optimization objectives.
6. The bus-based inertial measurement unit batch calibration method according to claim 2, characterized in that: The sensor includes a gyroscope, the calibration model includes a gyroscope calibration model, and in the step of constructing the calibration model, the gyroscope calibration model is: wx=KSgxt×(wxBt+Fgxxwx'+Fgyxwy'+Fgzxwz'), wy=KSgyt×(wyBt+Fgxywx'+Fgyywy'+Fgzywz'), wz=KSgzt×(wzBt+Fgxzwx'+Fgyzwy'+Fgzzwz'), Among them, wx, wy, wz are angular rate values in three directions, KSgxt, KSgyt, KSgzt are the full-temperature variation parameters of the three-axis gyroscope scale, wxBt, wyBt, wzBt are the full-temperature variation parameters of the three-axis gyroscope zero bias, Fgxx, Fgyx, Fgzx, Fgxy, Fgyy, Fgzy, Fgxz, Fgyz, Fgzz are the coupling parameters of the three-axis gyroscope, wx', wy', wz' are the outputs of the three gyroscopes in the b' coordinate system.
7. The bus-based inertial measurement unit batch calibration method according to claim 2, characterized in that: The sensor further includes an accelerometer, and the calibration model further includes an acceleration calibration model. In the step of constructing the calibration model, the acceleration calibration model is: Ax=KSaxt×(AxBt+FaxxAx'+FayxAy'+FazxAz'), Ay=KSayt×(AyBt+FaxyAx'+FayyAy'+FazyAz'), Az=KSazt×(AzBt+FaxzAx'+FayzAy'+FazzAz'), Among them, Ax, Ay, Az are apparent accelerations in three directions, KSaxt, KSayt, KSazt are the full-temperature variation parameters of the scale of the three-axis accelerometer, AxBt, AyBt, AzBt are the full-temperature variation parameters of the zero position of the three-axis accelerometer, Faxx, Fayx, Fazx, Faxy, Fayy, Fazy, Faxz, Fayz, Fazz are the coupling parameters between the three-axis accelerations, Ax', Ay', Az' are the outputs of the three accelerometers in the b' coordinate system.
8. The bus-based inertial measurement unit batch calibration method according to claim 1, characterized in that: The step of batch-transmitting the test data of all the inertial measurement units to the calibration system via the bus and storing the data comprises: receiving the test data of the inertial measurement unit through a bus and sending it to a data forwarding unit, and the data forwarding unit uses a serial port and sends it to a test computer through a slip ring; The test data of each inertial measurement unit is received by the host computer of the test computer, and the test data of the inertial measurement unit is stored according to the preset file name, wherein the preset file name is the device number, the temperature test point and the test step under the corresponding temperature test point.
9. A bus-based inertial measurement unit batch calibration system, characterized in that: The system comprises: A calibration test module: used to place the inertial measurement unit under different temperature conditions, perform calibration tests of preset attitude changes and preset angular velocity changes under each temperature condition, and obtain test data, wherein the test data includes actual measurement values of the sensor and corresponding test condition data; A bus transmission module: used to batch transmit the test data of all the inertial measurement units to the calibration system through the bus and store them, wherein each inertial measurement unit has a unique device number on the bus; A calibration parameter generation module: used to obtain the test data of each inertial measurement unit according to the storage path in the calibration system, and calculate the calibration parameters of each inertial measurement unit based on the test data, wherein the calibration parameters include the zero bias, scale factor and installation error of the sensor; Calibration parameter download module: used to download the generated calibration parameters to each of the inertial measurement units through a bus.
Citation Information
Patent Citations
Batch MEMS (micro-electromechanical system) sensor based inertial measurement unit and gesture-position information acquisition method
CN103196447A
CAN (Controller Area Network) bus-based multi-sensor correction communication method
CN104639288A
Batch calibration and error compensation system and method for micro inertial measurement assembly
CN114199280A
Temperature error model coefficient rapid identification method based on biaxial rotation inertial navigation system
CN114608573A
Temperature compensation method, device and equipment of inertial measurement device and storage medium
CN116678403A
Cited By
Rapid and convenient IMU calibration system, method and device
CN120121082A
Inertial measurement assembly batch test system
CN120927032A
Calibration method and system of inertial measurement unit and computer equipment
CN121612347A
