Intelligent calibration method and device for inertial measurement unit system under non-rotating table condition
Patent Information
- Application Number
- CN202610396311.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-30
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2046-03-30
AI Technical Summary
[0004]有鉴于此,本申请实施例提供了一种无转台条件下惯性测量单元系统级智能标定方法及装置,以解决现有技术存在的依赖外部高精度参考设备、标定流程耗时且操作复杂、难以批量快速部署的问题
[0010] By fixing the inertial measurement unit (IMU) to be calibrated on a flat, rigid platform and establishing a data communication link with the host computer, the host computer receives and records the raw sensor data and calibration processing data output by the IMU. A system-level calibration filtering model is integrated into the IMU's main control processor, and the system periodically acquires raw sensor data based on a timed trigger mechanism, performing data preprocessing to generate observation data for filtering recursion. Following a preset multi-azimuth rotation process, the IMU is driven to switch between multiple discrete azimuths and maintain a stationary observation window in each discrete azimuth, ensuring that the observation data covers the stationary segment data corresponding to multiple azimuths. In each processing cycle, the state variables are predicted, updated, and measured based on the system-level calibration filtering model, outputting a calibration parameter set containing IMU error parameters and convergence characterization information associated with the calibration parameter set. Based on the convergence characterization information and the process data recorded by the host computer, a consistency check is performed on the calibration parameter set, and the calibration parameter set that passes the consistency check is written into the IMU's parameter storage area for subsequent navigation calculations. This application can reduce calibration hardware costs, shorten calibration time, and improve the ease of use and deployability of the calibration process.
Smart Images

Figure CN121933049B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of inertial and navigation technology, and in particular to a system-level intelligent calibration method and device for inertial measurement units under conditions without a turntable. Background Technology
[0002] Inertial measurement units (IMUs), as core sensors for acquiring the angular velocity and linear acceleration of a carrier, are widely used in scenarios such as drones, autonomous driving, robot navigation, and wearable devices. Their measurement accuracy directly affects the stability of attitude calculation and navigation positioning. Due to deterministic errors such as zero bias, scale factor error, non-orthogonality error, and inter-axis coupling of gyroscopes and accelerometers, error parameters are usually obtained through system-level calibration and used for subsequent measurement correction.
[0003] Existing system-level calibration methods largely rely on external high-precision reference equipment to obtain benchmark measurements or constraints, such as optical motion capture systems, high-precision inertial reference systems, or turntables. Parameter estimation is achieved through complex motion trajectory excitation error models over long periods and with multiple axes and attitudes. However, these approaches have shortcomings in engineering applications: First, external reference equipment is expensive and its deployment is limited by site constraints, making it difficult to adapt to cost-sensitive or rapidly deployable scenarios. Second, the calibration process is often time-consuming and the cycle time is difficult to compress, hindering mass production or rapid calibration. Third, the motion operation requirements are high, heavily reliant on personnel experience or the capabilities of automated platforms, resulting in limited consistency and reproducibility of the calibration process. Therefore, there is an urgent need for a system-level calibration method for inertial measurement units that balances calibration accuracy and process simplification without a turntable. Summary of the Invention
[0004] In view of this, the present application provides a system-level intelligent calibration method and apparatus for inertial measurement units under turntable-less conditions, in order to solve the problems of existing technologies such as reliance on external high-precision reference equipment, time-consuming and complex calibration process, and difficulty in rapid batch deployment.
[0005] A first aspect of this application provides a system-level intelligent calibration method for an inertial measurement unit (IMU) under conditions without a turntable, comprising: fixing the IMU to be calibrated on a flat, rigid platform and establishing a data communication link with a host computer, enabling the host computer to receive and record the raw sensor data and calibration processing data output by the IMU; integrating a system-level calibration filtering model in the IMU's main control processor, and periodically acquiring the raw sensor data based on a timed triggering mechanism, performing data preprocessing to generate observation data for filtering recursion; and driving the IMU according to a preset multi-directional rotation process. The inertial measurement unit switches between multiple discrete orientations and maintains a stationary observation window in each discrete orientation, so that the observation data covers the stationary segment data corresponding to multiple orientations. In each processing cycle, the state variables are predicted, updated and measured based on the system-level calibration filtering model, and the output includes a set of calibration parameters containing the error parameters of the inertial measurement unit and convergence characterization information associated with the set of calibration parameters. Based on the convergence characterization information and the process data recorded by the host computer, the calibration parameter set is subjected to consistency verification, and the calibration parameter set that passes the consistency verification is written into the parameter storage area of the inertial measurement unit for subsequent navigation calculation.
[0006] A second aspect of this application provides a system-level intelligent calibration device for an inertial measurement unit (IMU) under conditions without a turntable, comprising: a setup module for fixing the IMU to be calibrated on a flat, rigid platform and establishing a data communication link with a host computer, enabling the host computer to receive and record the raw sensor data and calibration processing data output by the IMU; a generation module for integrating a system-level calibration filtering model in the IMU's main control processor and periodically acquiring the raw sensor data based on a timed trigger mechanism, performing data preprocessing to generate observation data for filtering recursion; and a switching module for driving the IMU according to a preset multi-directional rotation process. The dynamic inertial measurement unit switches between multiple discrete orientations and maintains a stationary observation window in each discrete orientation, so that the observation data covers the stationary segment data corresponding to multiple orientations; the correction module is used to perform prediction updates and measurement corrections on the state variables based on the system-level calibration filtering model in each processing cycle, and outputs a set of calibration parameters containing the error parameters of the inertial measurement unit and convergence characterization information associated with the set of calibration parameters; the verification module is used to perform consistency verification on the set of calibration parameters based on the convergence characterization information and the process data recorded by the host computer, and writes the set of calibration parameters that passes the consistency verification into the parameter storage area of the inertial measurement unit for subsequent navigation calculation.
[0007] A third aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described method.
[0008] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.
[0009] The above-described technical solutions adopted in the embodiments of this application can achieve the following beneficial effects:
[0010] By fixing the inertial measurement unit (IMU) to be calibrated on a flat, rigid platform and establishing a data communication link with the host computer, the host computer receives and records the raw sensor data and calibration processing data output by the IMU. A system-level calibration filtering model is integrated into the IMU's main control processor, and the system periodically acquires raw sensor data based on a timed trigger mechanism, performing data preprocessing to generate observation data for filtering recursion. Following a preset multi-azimuth rotation process, the IMU is driven to switch between multiple discrete azimuths and maintain a stationary observation window in each discrete azimuth, ensuring that the observation data covers the stationary segment data corresponding to multiple azimuths. In each processing cycle, the state variables are predicted, updated, and measured based on the system-level calibration filtering model, outputting a calibration parameter set containing IMU error parameters and convergence characterization information associated with the calibration parameter set. Based on the convergence characterization information and the process data recorded by the host computer, a consistency check is performed on the calibration parameter set, and the calibration parameter set that passes the consistency check is written into the IMU's parameter storage area for subsequent navigation calculations. This application can reduce calibration hardware costs, shorten calibration time, and improve the ease of use and deployability of the calibration process. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a flowchart illustrating the intelligent calibration method for inertial measurement unit systems under turntable-less conditions provided in this application embodiment.
[0013] Figure 2 This is a schematic diagram of the calibration operation process provided by the technical personnel in the embodiments of this application;
[0014] Figure 3 This is a schematic diagram of the software control flow of the calibration system provided in the embodiments of this application;
[0015] Figure 4 This is a schematic diagram of the system-level intelligent calibration device for inertial measurement units under turntable-less conditions provided in the embodiments of this application;
[0016] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0017] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0018] Inertial Measurement Units (IMUs), as the core sensors for sensing the motion attitude of a carrier, have been widely used in many fields such as drones, autonomous driving, robot navigation, and wearable devices. The measurement accuracy of the IMU directly determines the performance of the entire navigation system, and calibration is a key step in improving measurement accuracy. This calibration compensates for various deterministic errors within the IMU, such as the zero bias of the gyroscope and accelerometer, scaling factor, and non-orthogonality error.
[0019] Existing system-level technologies have at least the following technical problems:
[0020] Firstly, there is the issue of hardware costs: some solutions still rely on external reference equipment, such as optical motion capture systems, another high-precision inertial measurement reference system, and turntables, in order to obtain high-precision benchmarks, and have not been able to completely get rid of the dependence on additional hardware.
[0021] Secondly, there is the issue of calibration efficiency: the motion trajectories required for the calibration process are usually quite complex or time-consuming in order to fully excite all error models, which makes it difficult to meet the needs of fast production line cycles or rapid on-site deployment.
[0022] Third, there is the issue of operational complexity: complex motion requirements increase the technical requirements for operators or automated platforms, reducing the universality and ease of use of the method.
[0023] Therefore, there is an urgent need in this field for a new IMU system-level calibration method that can effectively solve the aforementioned challenges of cost, efficiency, and ease of use while ensuring calibration accuracy. This application is proposed based on this need.
[0024] In view of the problems existing in the prior art, this application proposes a system-level intelligent calibration method for inertial measurement units (IMUs) under conditions without a turntable. Specifically, this application provides a rapid calibration method based on optimized filtering and rotation process design without additional hardware, which is suitable for IMU production and application scenarios with high requirements for cost, efficiency, and ease of operation.
[0025] The main inventive concept of this application includes: First, one or more IMUs are stably placed on a flat, rigid platform to ensure structural stability and reliability during subsequent operations; then, a filtering equation suitable for system-level calibration is constructed, and the processing algorithm is integrated into the IMU main control processor as embedded software. A real-time communication link between the IMU and the host computer is established through a differential level interface, and various types of data during the calibration process are transmitted to the host computer in real time for monitoring and recording; the user or test equipment operates the IMU according to a preset rotation procedure, causing it to traverse 18 directions in space with different rotations, fully stimulating various error sources. At the same time, the host computer simultaneously performs visual monitoring of the calibration process, parameter configuration distribution, and real-time evaluation of calibration quality, forming a complete interactive calibration environment; finally, based on the complete dataset recorded by the host computer and combined with the processing results of the embedded software at the IMU end, the quality of the IMU calibration parameters is verified through front-end and back-end data fusion analysis.
[0026] The core technical feature of this application lies in the deep integration of the optimized filtering model, the efficient rotation process design, and the IMU's own hardware and software resources, resulting in the following significant benefits: system-level calibration without additional hardware costs is achieved. This application completely eliminates the reliance on expensive external equipment such as a high-precision turntable and a high-precision inertial measurement reference system, and completes the calibration entirely using the IMU's own processing power and standard interface, greatly reducing the economic threshold for calibration, and is particularly suitable for large-scale applications in cost-sensitive fields such as consumer electronics.
[0027] Compared with existing technologies, this application has the following outstanding advantages: it does not introduce any additional hardware equipment, and achieves calibration based on the IMU's own processing capabilities and existing interfaces, thus eliminating additional hardware costs; by optimizing the filtering model and rotation process design, the calibration time is significantly shortened, meeting the needs of high-efficiency applications; the calibration process is simple, with low requirements for equipment and environment, making it easy to promote and apply in practical engineering; while ensuring calibration accuracy, it also takes into account efficiency and ease of implementation, making it particularly suitable for scenarios such as mass production and rapid on-site calibration, and possessing good practical value and application prospects.
[0028] The technical solution of this application will now be described in detail with reference to the accompanying drawings and specific embodiments.
[0029] Figure 1 This is a flowchart illustrating the intelligent calibration method for an inertial measurement unit system under turntable-less conditions provided in this application. Figure 1 As shown, the method may specifically include:
[0030] S101, fix the inertial measurement unit to be calibrated on a flat rigid platform and establish a data communication link with the host computer, so that the host computer can receive and record the sensor raw data and calibration process data output by the inertial measurement unit.
[0031] S102 integrates a system-level calibration filtering model in the main control processor of the inertial measurement unit, and periodically acquires raw sensor data based on a timed triggering mechanism, performs data preprocessing to generate observation data for filtering recursion;
[0032] S103, according to the preset multi-directional rotation process, drives the inertial measurement unit to switch between multiple discrete directional positions and maintain a stationary observation window in each discrete directional position, so that the observation data covers the stationary segment data corresponding to multiple directional positions.
[0033] S104, in each processing cycle, based on the system-level calibration filter model, the state variables are predicted, updated and measured, and the output includes a set of calibration parameters containing the error parameters of the inertial measurement unit and convergence characterization information associated with the set of calibration parameters.
[0034] S105 performs a consistency check on the calibration parameter set based on the convergence characterization information and the process data recorded by the host computer, and writes the calibration parameter set that has passed the consistency check into the parameter storage area of the inertial measurement unit for subsequent navigation calculation.
[0035] In some embodiments, the inertial measurement unit to be calibrated is fixed to a flat, rigid platform, and a data communication link with a host computer is established, including:
[0036] The inertial measurement unit is fixedly installed on a flat and rigid support platform to ensure that the inertial measurement unit maintains structural stability during the subsequent multi-directional rotation process and forms a static observation window in each discrete orientation.
[0037] Establish a communication connection for calibration data transmission and configure the data encapsulation and transmission parameters of the communication connection so that the inertial measurement unit can send the original sensor data, time stamps and calibration process data corresponding to the recursive processing of the calibration filter model to the host computer in real time.
[0038] The communication connection is checked for link verification and data continuity verification. When the verification is successful, the host computer classifies and records the received data according to the device identification information associated with the inertial measurement unit to form a calibration dataset associated with the multi-directional rotation process.
[0039] Specifically, the inertial measurement unit (IMU) to be calibrated is a combination device integrating a gyroscope and an accelerometer. The IMU includes a main control processor, sensor acquisition circuitry, non-volatile memory, and a data communication interface. The support platform uses a flat and rigid metal base or a high-rigidity composite material base, and the platform surface is machined with positioning holes or slots for fixing to reduce installation offset.
[0040] The inertial measurement unit is installed on the platform surface by screw clamping, clamping, or structural adhesive fixing. After fixing, the installation tightness is checked to avoid relative slippage during subsequent forward and reverse rotation around each axis.
[0041] To ensure the usability of the static observation windows corresponding to different discrete azimuths, this embodiment requires the platform and inertial measurement unit to remain stationary after each azimuth switch, and the platform itself must not undergo observable deformation or vibration within the static observation window. To reduce environmental interference, the platform is placed on a horizontal worktable or vibration-damping platform, and is kept away from strong magnetic fields and strong vibration sources.
[0042] In this embodiment, a time stamping system is established to ensure data traceability and cross-device consistency during calibration. The inertial measurement unit (IMU) generates a time stamp associated with the acquisition time when acquiring raw data from the gyroscope and accelerometer. This time stamp is used for alignment and archiving of multi-source data streams on the host computer side. In one implementation, the IMU's time stamp is generated using a high-precision counter from the main control processor and bound to the acquisition cycle triggered by a timer interrupt to ensure stable time intervals between adjacent acquisition frames. In another implementation, the pulse-second signal interface of the satellite timing board is connected to the serial peripheral interface of the IMU. The sampling clock or communication frame synchronization is calibrated using the pulse-second signal, aligning the time stamp generated by the IMU with the pulse-second signal. The synchronization accuracy is controlled within 1 millisecond, facilitating accurate playback and spot checks of the calibration process by the host computer.
[0043] Further, after the fixed installation is completed, a communication connection for calibration data transmission is established. The data communication interface of the inertial measurement unit (IMU) can be a differential level interface or a serial communication interface, and the host computer is an industrial control computer or a general-purpose computer running calibration monitoring software. In this embodiment, the communication connection enters a handshake phase before calibration begins. The host computer sends a connection establishment command to the IMU, and the IMU returns device information and operating status information. The device information includes at least the device identification information associated with the IMU and firmware version information. The device identification information can be a factory serial number, a unique device identifier, or a session identifier assigned by the host computer, used to achieve data isolation and classified storage during parallel calibration of multiple devices on the host computer side. The host computer creates an independent data recording channel based on the device identification information and generates a task identifier for this calibration task, used to associate and store the original sensor data and calibration processing data during the calibration process.
[0044] Furthermore, regarding the transmission configuration of the communication connection, this embodiment imposes unified constraints on data encapsulation and transmission parameters to ensure that the host computer can stably receive and parse data frames. The inertial measurement unit uses frame encapsulation for the uploaded data. Each data frame includes a frame header, device identification information, a timestamp, the sensor's raw data payload, and a verification field. The sensor's raw data payload includes gyroscope angular velocity sampling values, accelerometer acceleration sampling values, and temperature sampling values, etc.
[0045] In some examples, the calibration process data payload carries intermediate variables and diagnostic information corresponding to the recursive processing of the calibration filter model, such as the current estimate of the filter state variables, the diagonal elements of the covariance matrix, observation residuals or innovation statistics, flow control status words, and anomaly flags. Transmission parameters include baud rate or link rate, frame length limit, reporting period, retransmission strategy, and buffer depth. To adapt to batch production scenarios, this embodiment allows the host computer to issue different reporting strategy parameters, such as increasing the process data reporting frequency during the orientation switching phase to observe dynamic fluctuations, and maintaining a stable reporting frequency within a static observation window to evaluate parameter convergence.
[0046] Furthermore, regarding link verification, this embodiment executes the link verification process after the communication connection is established. Link verification includes physical layer connectivity detection, handshake response delay detection, and data frame verification field validation. After continuously receiving a preset number of data frames, the host computer calculates the packet loss rate and inter-frame delay fluctuations to determine whether the communication connection meets the calibration requirements for real-time data transmission. If the packet loss rate or delay fluctuation exceeds a threshold, the host computer sends a link reconfiguration command or a frequency reduction command to the inertial measurement unit (IMU), which then adjusts the transmission parameters and re-enters link verification.
[0047] To further ensure data continuity, this embodiment sets up a circular buffer for the sensor's raw data on the inertial measurement unit (IMU) side, and includes an incrementing sequence number in each data frame. The host computer performs data continuity verification based on the incrementing sequence number to identify frame loss and out-of-order situations. When a single frame loss is detected, the host computer can request the IMU to retransmit the data frame with the corresponding sequence number. The IMU reads from the circular buffer and retransmits the data. When consecutive frame losses or link interruptions are detected, the host computer marks the current calibration task as an abnormal state and records the abnormal time period. The IMU then enters a data acquisition abnormal state to wait for recovery.
[0048] Furthermore, regarding the data classification and recording on the host computer, this embodiment archives the calibration data of the same device according to the task identifier and divides it into sensor raw data stream and calibration processing data stream according to data type. When recording, the host computer saves the time stamp, device identification information, orientation mark and process status word of each frame of data together, so as to trace the execution quality of the multi-directional rotation process after the calibration is completed.
[0049] For example, in one scenario, the operator follows the prompts on the host computer interface to complete a 90-degree rotation in both directions around mutually orthogonal axes, and maintains a 15-second static observation window at each discrete azimuth. The host computer identifies the start and end times of the static window based on the process status word and assigns the raw data and process data within that time period to the corresponding azimuth segment dataset. If significant vibration or frame loss occurs within the static window of a certain discrete azimuth, the host computer marks that azimuth segment dataset as low confidence in the process quality assessment and prompts for subsequent re-acquisition or extension of the static observation window.
[0050] Through the above-mentioned fixed installation, communication connection establishment, transmission parameter configuration, and link and data continuity verification, this embodiment constructs a reusable calibration data path without relying on the turntable. This enables the host computer to classify and record the sensor raw data, time stamps, and calibration process data of the inertial measurement unit according to the equipment identification information, forming a calibration dataset associated with the multi-directional rotation process. This provides a data foundation for subsequent parameter recursion and consistency verification based on the calibration filtering model.
[0051] In some embodiments, establishing a data communication link with the host computer further includes time synchronization configuration, which includes:
[0052] Connect the pulse second signal interface of the satellite timing board to the serial peripheral interface of the inertial measurement unit to obtain the correspondence between the pulse second signal and the data acquisition time.
[0053] The sampling clock or communication frame of the inertial measurement unit is calibrated based on the pulse second signal to align the time stamp generated by the inertial measurement unit with the pulse second signal.
[0054] When sending raw sensor data and calibration process data to the host computer, the aligned timestamps are encapsulated in the uploaded data so that the host computer can perform time alignment and record archiving of the calibration process data based on the timestamps.
[0055] Specifically, the satellite timing board has a pulse-second signal output interface. The pulse-second signal is a hardware pulse output once per second, with stable edge characteristics. The inertial measurement unit includes a main control processor, gyroscope and accelerometer acquisition links, a timer module, and a serial peripheral interface. The serial peripheral interface is used for frame-based data exchange with peripherals and can also be configured for input acquisition or frame synchronization.
[0056] To ensure that the pulse second signal can be reliably sensed by the inertial measurement unit, at the hardware connection level, the pulse second signal interface of the satellite timing board is connected to a designated pin of the serial peripheral interface of the inertial measurement unit through a level matching and isolation circuit.
[0057] Level matching ensures that the voltage amplitude of the pulse-second signal meets the input threshold of the inertial measurement unit, while isolation circuitry reduces the impact of external interference on the main control processor. After connection is complete, the main control processor reads the input status of the serial peripheral interface, confirms that the pulse-second signal edge can be stably captured, and writes the capture result to the self-test log as a basis for the validity of the time synchronization configuration.
[0058] Furthermore, in establishing the time correspondence, this embodiment employs a combination of hardware capture and software table mapping. Specifically, when the calibration task starts, the main control processor enables a timer counter as the local free-running clock and uses the timer count value as the base quantity for the time stamp of the acquisition moment. When the pulse second signal arrives, the serial peripheral interface triggers an input capture event. The main control processor reads the current timer count value in the interrupt service routine to obtain the local count value at the arrival of the pulse second. The main control processor associates the local count values of multiple consecutive pulse seconds with the pulse sequence number to form a mapping table between the pulse second signal and the local clock. The mapping table includes the pulse sequence number, capture count value, capture jitter index, and valid flags, which are used for subsequent alignment and conversion of the acquisition moment.
[0059] Furthermore, regarding calibration based on the pulse-second signal, this embodiment provides two optional implementation methods, both of which can align the time stamp generated by the inertial measurement unit with the pulse-second signal. The first method is the sampling clock calibration method. The main control processor calculates the count difference between adjacent pulse-seconds according to the mapping table and compares it with the expected count value corresponding to the preset sampling period. When the deviation exceeds the threshold, the reload value or frequency division parameter of the sampling timer is adjusted to keep the sampling timer interrupt period consistent with the pulse-second reference. This method is suitable for scenarios where the sampling period needs to be stable over a long period during calibration.
[0060] The second method is the communication frame synchronization calibration method. The pulse-second signal is used as the frame synchronization reference for serial peripheral communication. When the pulse-second edge arrives, a frame acquisition and upload action is triggered, and the timestamp of that frame is locked to the reference time corresponding to the pulse sequence number. Other acquired frames within the pulse-second interval generate timestamps recursively based on the local counter relative to this reference time. This method is suitable for scenarios requiring strict alignment of uploaded data frames with external timing edges. Regardless of the method used, the main control processor sets stability judgment conditions for the calibration process. For example, it requires that the jitter index of multiple consecutive pulse-second captures be below a threshold before entering the formal calibration acquisition state.
[0061] Furthermore, regarding time stamp generation and encapsulation, this embodiment generates a time stamp associated with each acquisition when reading raw sensor data from the gyroscope and accelerometer. The time stamp can be a combination of pulse sequence number and intra-pulse offset, where the offset is calculated by the local counter relative to the most recent pulse second capture count. For recursive processing data of the calibration filter model, such as estimated values of filter state variables, diagonal elements of covariance, observation residuals, or innovation statistics, the main control processor binds them to time stamps within the same processing cycle to ensure that the host computer can perform aligned analysis according to the processing cycle.
[0062] In some examples, during data encapsulation, the inertial measurement unit (IMU) writes the time stamp field into a unified data frame structure and encapsulates it together with device identification information, data type markers, raw sensor data payload, and calibration processing data payload. A verification field is also added for frame verification by the host computer. To avoid time stamp distortion under abnormal conditions, this embodiment adds a time synchronization status word to the data frame. The time synchronization status word indicates whether the current time stamp is in a valid alignment state, whether pulse loss has occurred, and whether recalibration has been triggered.
[0063] Furthermore, on the host computer side, this embodiment utilizes time stamps to perform time alignment and record archiving of calibration process data. Specifically, after receiving a data frame, the host computer first parses the time stamp and time synchronization status word. When the time synchronization status word indicates that the alignment is valid, the host computer maps data frames of different data types to a unified time axis according to the time stamp, and associates and stores the original sensor data and calibration process data with the same time stamp.
[0064] For example, in some cases, operators follow a multi-directional rotation procedure to complete azimuth switching and maintain a 15-second static observation window. The host computer determines the start and end boundaries of the static window based on the time stamp, and archives the raw data, filtering recursion process data, and process status words within this time period into a corresponding azimuth segment dataset for subsequent forward and backward filtering fusion processing during consistency verification. If a pulse second capture anomaly occurs during a certain time period, the host computer marks that time period as requiring review based on the time synchronization status word and prompts on the quality assessment interface to re-perform time synchronization calibration or re-acquisition.
[0065] Through the above time synchronization configuration, this embodiment uses the pulse second signal to establish the correspondence between the external time reference and the acquisition time of the inertial measurement unit, and calibrates the sampling clock or communication frame synchronization to ensure that the time stamp carried by the uploaded data has a consistent alignment reference. This enables the host computer to accurately align and archive the sensor raw data and calibration process data under multi-directional rotation, improves the traceability and consistency of calibration process data, and reduces process evaluation deviations caused by time drift or alignment errors.
[0066] In some embodiments, a system-level calibration filtering model is integrated into the main control processor of the inertial measurement unit, and raw sensor data is periodically acquired based on a timed triggering mechanism. Data preprocessing is performed to generate observation data for filtering recursion, including:
[0067] The calibration configuration parameters are loaded into the main control processor firmware, and the state variables, covariance, and measurement noise matrix of the system-level calibration filter model are initialized based on the calibration configuration parameters.
[0068] Configure timer interrupts to form the processing cycle of the calibration task. In each processing cycle, drive the sensors to sample and read the raw sensor data of the gyroscope and accelerometer, and generate a time stamp associated with the raw sensor data.
[0069] The raw sensor data is written into a circular buffer. The data preprocessing module extracts the data aligned with the time stamp from the circular buffer and performs unit conversion and format normalization to generate observation data for filtering and recursion.
[0070] The observed data is input into the system-level calibration filter model to perform a recursive update, and the calibration process data corresponding to this recursive update is output for the host computer to receive and record.
[0071] Specifically, the software system of the inertial measurement unit adopts a layered modular architecture. The driving layer includes a sensor driving module and a timer driving module; the algorithm layer includes a data preprocessing module, a calibration filtering module, and a flow control module; and the application layer includes a main control task module and a configuration management module. The main control task module performs initialization as the entry point after the system is powered on or enters calibration mode, sequentially completing hardware initialization, software module initialization, and parameter initialization.
[0072] During the hardware initialization phase, the processor core clock, external memory, communication interface, and power and communication status of the sensor chip are detected. The sensor driver module reads the sensor identification register to confirm the device model and collects short-term static data to evaluate whether the noise and range configuration meet the calibration requirements. If a communication abnormality or noise level abnormality is detected, the process control module sets the state machine to a data abnormality state and reports an alarm to the host computer. After recovery, it re-enters the preparation state.
[0073] Furthermore, regarding the loading of calibration configuration parameters and filter initialization, the configuration management module reads the calibration configuration parameters associated with this calibration from non-volatile memory and assigns default values based on the sensor model to missing items, forming a complete configuration set. The calibration configuration parameters include sensor sampling rate, range configuration, filter initial covariance setting, process noise setting, measurement noise matrix setting, initial state variable setting, and reporting strategy parameters. Upon receiving the complete configuration set, the calibration filtering module initializes the state variables, covariance, and measurement noise matrix of the system-level calibration filtering model based on the calibration configuration parameters.
[0074] State variables are used to characterize heading error, velocity error, and error parameters related to gyroscope bias, accelerometer bias, scale factor error, cross-axis coupling coefficient, and gravity sensitivity coefficient. Covariance is used to characterize the uncertainty of each state variable estimate. Measurement noise matrix is used to constrain the uncertainty of the observed quantities and participates in gain calculation. The process control module simultaneously writes the filter initialization completion flag into the status word and reports the ready status to the host computer.
[0075] Furthermore, regarding the timing triggering mechanism and processing cycle construction, the timer driver module configures timer interrupts to form a calibration task processing cycle. The processing cycle is determined by the timer reload value or frequency division parameter and matched with the sensor sampling rate to ensure that one sampling and one filter recursive update can be completed within each processing cycle. In one implementation, the timer interrupt triggers the main control task module to enter the calibration main loop. The main control task module sequentially calls the sensor driver module, data preprocessing module, calibration filtering module, and data upload module to form a fixed-sequence pipelined processing.
[0076] In another implementation, the sensor driver module writes the sensor sampling results to the buffer using direct memory access. Timer interrupts are only used to trigger data preprocessing and filtering updates, reducing processor load fluctuations. To ensure cycle stability, this embodiment records the start and end times of each processing cycle at the application layer and monitors the stability of the task execution cycle. When an execution timeout or jitter exceeding a threshold is detected, the process control module sets the state machine to a data anomaly state and reports it to the host computer.
[0077] Furthermore, regarding sensor sampling and time stamp generation, the sensor driving module drives the gyroscope and accelerometer to perform sampling and read raw sensor data in each processing cycle. The raw sensor data can be the raw count values output from the digital interface, or the sampled values after analog-to-digital conversion, including but not limited to: triaxial angular velocity sampled values, triaxial acceleration sampled values, and temperature sampled values. The main control processor generates a time stamp associated with the current acquisition while reading the raw sensor data. The time stamp can be a local counter count value, or a combination of aligned pulse second numbers and intra-pulse offsets. In this embodiment, the time stamp is bound to the processing cycle; that is, at least one time stamp is generated in each processing cycle and used for subsequent data alignment, frame loss detection, and still window segmentation.
[0078] Furthermore, regarding the circular buffer and data preprocessing, to address data consumption delays caused by transient communication congestion or increased processor load, the driver layer writes raw sensor data into the circular buffer and adds a timestamp, sequence number, and data validity flag to each data record. The data preprocessing module extracts time-stamp-aligned data from the circular buffer through a unified interface that supports both blocking and non-blocking read modes. After extracting valid data, the data preprocessing module performs unit conversion and format normalization, converting raw count values from different sources into physically meaningful angular velocities and acceleration measurements, and standardizing the format of temperature data.
[0079] In some examples, to reduce the impact of abnormal data on the filtering recursion, this embodiment introduces a data integrity verification mechanism in the data preprocessing module. This mechanism checks the continuity of data frame sequence numbers, the reasonableness of numerical ranges, and the rationality of gradient changes. If out-of-range, jammed, or abrupt changes are detected, the abnormal data is marked, and the data quality assessment result is output to the process control module. Based on the data quality assessment result, the process control module can trigger a minor fault recovery strategy, such as reinitializing sensor registers or adjusting the sampling strategy, and send the abnormal data along with the process data to the host computer for traceability.
[0080] Furthermore, regarding the recursive update of the filter and the output of process data, the calibration filter module receives the observation data generated by the data preprocessing module and performs a recursive update once in each processing cycle. The recursive update includes prediction updates based on the state transition model, measurement corrections based on the measurement model, and covariance updates. The observation data is used to construct observations such as velocity error and heading error, and participates in the calculation of the gain matrix. After completing one recursive update, the calibration filter module outputs calibration processing data, which includes the updated state quantity estimates, key elements of the covariance matrix, innovation or residual statistics, convergence characterization information, and filter operation status words. The data upload module associates and encapsulates the calibration processing data with corresponding time stamps and sends it to the host computer in real time via the communication link. The host computer dynamically displays the parameter convergence process and covariance change trend based on this data, and records the process data along with the original sensor data.
[0081] The following example illustrates a specific scenario: When manually executing a multi-azimuth rotation process, the operator follows the prompts from the host computer to switch to a specific discrete azimuth and maintain a static observation window for 15 seconds. During this 15-second window, the inertial measurement unit (IMU) continuously acquires raw sensor data according to the processing cycle and performs filtering and recursive updates. Within this static window, the host computer can observe the gradual convergence of key covariance elements and the stabilization of information statistics. If frame drops or data jumps occur for a certain period, the host computer can locate the abnormal interval based on the anomaly markers in the process data and prompt for extending the static window or re-executing data acquisition for that azimuth. After calibration, the process data saved by the host computer can be used to perform forward and backward filtering fusion processing to form a set of reference parameters, and then compared with the calibration parameters estimated online by the IMU for consistency.
[0082] Through the aforementioned firmware configuration loading, timed trigger processing cycle construction, circular buffer and preprocessing, as well as filter recursive update and process data upload, this embodiment forms a stable and controllable online calibration calculation link at the inertial measurement unit end. This enables the sensor's raw data to be normalized into observation data and continuously drive the calibration filter model to be recursively updated. At the same time, key intermediate variables and convergence information are uploaded to the host computer in real time for monitoring and recording, thereby improving the controllability and traceability of the calibration process and providing a reliable data foundation and process basis for subsequent consistency verification and calibration parameter writing.
[0083] In some embodiments, the inertial measurement unit is driven to switch between multiple discrete azimuths according to a preset multi-azimuth rotation process and maintain a stationary observation window in each discrete azimuth, so that the observation data covers the stationary segment data corresponding to multiple azimuths, including:
[0084] The inertial measurement unit is initialized based on a preset coordinate reference, and an orientation sequence configuration associated with the multi-azimuth rotation process is generated. The orientation sequence configuration is used to limit the attitude switching relationship of each discrete orientation and the closed-loop sequence of returning to the initial orientation.
[0085] According to the orientation sequence configuration, the forward and reverse rotations around mutually orthogonal rotation axes are executed sequentially, so that the sensitive axis of the inertial measurement unit points to different spatial directions in multiple discrete orientations.
[0086] After each discrete azimuth switch is completed, the control inertial measurement unit enters a static observation window of a preset duration and collects the corresponding static segment data within the static observation window. The static segment data is then associated with the azimuth markers to form a azimuth segment dataset.
[0087] Based on the azimuth segment dataset, the stability of discrete azimuth switching and the validity of static segment data are evaluated to determine the quality of the process. If the evaluation fails, a prompt message associated with the target discrete azimuth or a re-acquisition command is output.
[0088] Specifically, the multi-directional rotation process uses a preset coordinate reference as its initialization reference. This preset coordinate reference can be established based on a north-south coordinate system or on the alignment between the platform coordinate system and the inertial measurement unit's body coordinate system. At the start of calibration, the inertial measurement unit enters the initialization state. The process control module triggers short-term static sampling by the sensors to estimate the initial noise level and determine if the stationary condition is met. If the stationary condition is met, the initial orientation marker is locked as the starting point of the orientation sequence. During the initialization phase, the host computer displays the current orientation prompts, the stationary determination status, and the conditions for entering the next orientation. The operator or automated fixture completes the initial attitude confirmation under the prompts from the host computer.
[0089] Furthermore, after initialization, the process control module generates an orientation sequence configuration associated with the multi-azimuth rotation process. The orientation sequence configuration defines the number of discrete orientations, the attitude switching relationship at each step, the rotation axis and direction corresponding to each discrete orientation, and the closed-loop sequence for returning to the initial orientation. In one specific implementation, the orientation sequence configuration uses three mutually orthogonal rotation axes to perform 90-degree rotations in both the forward and reverse directions, returning to the initial orientation at the end of the sequence to form a closed loop. This configuration causes the sensitive axis of the inertial measurement unit to point to different spatial directions in multiple discrete orientations, thereby creating differentiated gravity projections and zero angular rate conditions within the static observation windows of different orientations. This facilitates the joint estimation of zero bias, scaling factor error, cross-axis coupling coefficient, and gravity sensitivity coefficient in subsequent filtering recursion. The orientation sequence configuration is visualized by the host computer as a step list, with each step including the target orientation number, suggested rotation axis, rotation direction, and arrival confirmation conditions, reducing operational complexity.
[0090] Furthermore, when executing rotation according to the orientation sequence, this embodiment supports two execution modes: manual operation and automated fixture. In manual mode, the operator applies rotational torque to the support platform according to the prompts from the host computer to complete the forward or reverse rotation around the target rotation axis. In automated fixture mode, the fixture drive mechanism performs attitude switching according to the orientation sequence and sends the positioning signal back to the host computer. To prevent attitude switching overshoot or reverse rebound from affecting the data quality of the static segment, this embodiment sets an attitude switching buffer stage in the process control module. After the rotation is detected to be completed, it first enters a buffer timing state, and waits for the short-term fluctuations in angular velocity and acceleration to fall back to the threshold range before entering the static observation window. During this stage, the host computer displays a "Stable" prompt and prohibits premature confirmation to proceed to the next step, thereby ensuring the effectiveness of the static observation window.
[0091] Furthermore, after each discrete azimuth switch, the inertial measurement unit (IMU) enters a static observation window of a preset duration. In this embodiment, the preset duration can be 15 seconds as a typical value, or it can be adjusted by the host computer based on the sensor noise level and convergence speed. Within the static observation window, the IMU continuously collects raw sensor data from the gyroscope and accelerometer according to the processing cycle and generates time stamps. The data preprocessing module performs unit conversion and format regularization on the raw data to form observation data for filtering and recursion. The calibration filtering module continuously outputs state quantity estimates, key elements of covariance, and innovation statistics within this window, and the host computer observes the parameter convergence trend in real time at this azimuth. To form a traceable data structure, the IMU or the host computer assigns an azimuth marker to each static observation window and associates the start and end times of the static window with the azimuth marker. The host computer uses the azimuth marker as an index to archive the static segment data within the static observation window and the corresponding calibration processing data into an azimuth segment dataset for subsequent consistency verification and quality sampling.
[0092] Furthermore, to ensure the validity of the azimuth segment dataset, this embodiment performs process quality judgment on the stability of discrete azimuth switching and the validity of stationary segment data based on the azimuth segment dataset. Process quality judgment includes stationary segment judgment, frame loss judgment, and abnormal data judgment. Stationary segment judgment is achieved jointly through an angular velocity amplitude threshold and an acceleration amplitude stability threshold. If more than a preset proportion of sampling points within the stationary observation window meet the threshold conditions, the stationary segment is deemed valid. Frame loss judgment is based on the continuity of data frame sequence numbers and the consistency of time stamp intervals. If there is a frame loss rate exceeding the threshold or time delay jitter, the azimuth segment dataset is marked as low reliability. Abnormal data judgment is performed based on the abnormal markings output by the data preprocessing module, such as over-range, lag, or jumps. Furthermore, the host computer can also perform convergence trend checks by combining the innovation statistics output by the filter recursion. When the innovation statistics are continuously abnormal or the covariance does not converge, the azimuth segment dataset is marked as needing re-acquisition.
[0093] Furthermore, when the process quality assessment fails, this embodiment outputs a prompt message or reacquisition command associated with the target discrete azimuth. The prompt message includes the reason for failure, suggested corrective actions, and the target azimuth number, such as prompting the operator to re-complete the attitude positioning for that azimuth, extend the stabilization buffer time, or extend the static observation window. The reacquisition command is issued from the host computer to the process control module. The process control module switches the state machine to the reacquisition state and locks the target azimuth marker to reacquire the static segment data for that azimuth. After the reacquisition is completed, the new azimuth segment dataset is overwritten or appended to the original record so that the data segment that passed the quality assessment can be used for subsequent consistency verification.
[0094] Through the above-described initialization with coordinate reference, closed-loop configuration of azimuth sequence, multi-axis forward and reverse rotation, static observation window acquisition and azimuth segment archiving, and process quality judgment and reacquisition control based on azimuth segment dataset, this embodiment achieves standardized, multi-azimuth error excitation and traceable data organization without a turntable. This enables the observation data to stably cover static segment data corresponding to multiple azimuths, improves the repeatability and data availability of the calibration process, and provides a reliable data foundation for the parameter convergence and subsequent consistency verification of the system-level calibration filter model.
[0095] In some embodiments, based on a system-level calibration filtering model, prediction updates and measurement corrections are performed on the state variables, outputting a set of calibration parameters including inertial measurement unit error parameters and convergence characterization information associated with the calibration parameter set, including:
[0096] A filtered state variable is constructed with heading error and velocity error as the observables, and gyroscope zero bias, accelerometer zero bias, gyroscope scale factor error, accelerometer scale factor error, accelerometer cross-axis coupling coefficient and accelerometer gravity sensitivity coefficient as the error parameters to be estimated. A state transition model and a process noise model are generated based on the inertial navigation error propagation relationship.
[0097] Within each processing cycle, the filtered state variables are predicted and updated based on the state transition model, and the predicted covariance matrix is updated by the process noise model.
[0098] The heading error and velocity error are calculated based on the observation data, and the measurement matrix and measurement noise matrix are generated according to the measurement model to obtain the gain matrix corresponding to the prediction covariance matrix.
[0099] The gain matrix is used to perform measurement correction on the filtered state variables and update the state covariance matrix to generate a set of calibration parameters.
[0100] Extract covariance information from the updated state covariance matrix to characterize the convergence of the calibration parameter set, and associate the covariance information with the calibration parameter set to output convergence characterization information.
[0101] Specifically, the construction of the filtered state variables is based on the propagation relationship of inertial navigation errors. Considering that when the equipment is in a stationary observation window, the velocity and heading errors output by the navigation calculation are mainly generated by the deterministic error terms of the gyroscope and accelerometer, the heading and velocity errors are treated as observations, and the error parameters related to the inertial devices are included as quantities to be estimated in the filtered state variables. In some examples, the filtered state variables include the heading error term, the velocity error term in the navigation coordinate system, and error parameter terms such as gyroscope bias, accelerometer bias, gyroscope scale factor error, accelerometer scale factor error, accelerometer cross-axis coupling coefficient, and accelerometer gravity sensitivity coefficient. To ensure the identifiability of error excitations in different orientations, the organization of the state variables is consistent with the aforementioned multi-orientation rotation process, so that the same error parameter presents different projection relationships in different discrete orientation stationary segments, thereby achieving joint estimation in the filtering recursion.
[0102] Furthermore, regarding the generation of the state transition model and process noise model, this embodiment establishes a state transition model based on the inertial navigation error propagation relationship to describe the evolution of state quantities between adjacent processing cycles. The state transition model is represented by a state transition matrix, whose elements reflect the coupling relationship between heading error, velocity error, and various error parameter terms. The process noise model is used to describe uncertain disturbances in the state evolution. The process noise matrix adopts a diagonal form where the main diagonal is the noise intensity, and is set according to the sensor noise characteristics, sampling period, and expected parameter change rate. In one implementation, the process noise intensity is issued by the calibration configuration parameters and can be fine-tuned on the host computer side. The inertial measurement unit updates the process noise matrix without interrupting the calibration process to adapt to the differences in noise levels and convergence speeds of different sensor models.
[0103] Furthermore, during the prediction update phase, the calibration filter module reads the filter state variables and covariance matrix from the previous processing cycle in each processing cycle, performs prediction updates based on the state transition model, and obtains the predicted state variables; simultaneously, it updates the predicted covariance matrix based on the process noise model. To ensure numerical stability, this embodiment performs symmetry processing and boundary checks on the predicted covariance matrix after the prediction update, and records key diagnostic information from the prediction phase through the process control module, such as whether the covariance diagonal shows an abnormal increase or whether there is a risk of numerical overflow. When the diagnostic information is abnormal, the process control module can trigger a filter reset or a recovery strategy that reduces the update step size, and upload the abnormal status word along with the process data to the host computer.
[0104] Furthermore, in terms of measurement construction and measurement model generation, this embodiment calculates heading and velocity errors based on the observation data output by the data preprocessing module. The heading error can be obtained from the difference between the heading corrected for zero angular rate and the one-step predicted heading, while the velocity error can be obtained from the difference between the one-step predicted velocity and the observed velocity in the navigation coordinate system. The observed velocity can be generated using zero-velocity constraints under stationary conditions, or it can be generated using stationary velocity reference values identified from multi-azimuth stationary segments, ensuring it matches the conditions within the stationary observation window. Subsequently, a measurement matrix and a measurement noise matrix are generated based on the measurement model. The main diagonal elements of the measurement noise matrix are provided by calibration configuration parameters and can be adaptively corrected by incorporating noise statistics from the stationary segment data. For example, when the acceleration noise in the stationary segment increases, the corresponding measurement noise intensity is increased to reduce the impact of that segment's observation on the gain. A gain matrix is calculated based on the prediction covariance matrix, the measurement matrix, and the measurement noise matrix. The gain matrix characterizes the weight of the observation on the state correction.
[0105] Furthermore, during the measurement correction phase, the calibration filtering module uses the gain matrix to perform measurement correction on the predicted state variables and updates the state covariance matrix. The components in the corrected state variables corresponding to the error parameter terms constitute the calibration parameter set, which includes gyroscope bias, accelerometer bias, gyroscope scale factor error, accelerometer scale factor error, accelerometer cross-axis coupling coefficient, and accelerometer gravity sensitivity coefficient, etc. To facilitate monitoring by the host computer and subsequent consistency verification, this embodiment outputs calibration processing data after each update. The calibration processing data includes the current estimated value of the calibration parameter set, the gain matrix or its key elements, innovation statistics, and the filter operation status word.
[0106] Furthermore, in terms of generating convergence representation information, this embodiment extracts covariance information from the updated state covariance matrix to characterize the convergence degree of the calibration parameter set, and outputs the covariance information in association with the calibration parameter set. The covariance information can be represented using the diagonal elements of the covariance, parameter confidence interval indices, or statistics based on the innovation sequence. After receiving the covariance information, the host computer can plot the parameter convergence curve and the covariance change curve, and determine whether the current azimuth segment data is effective for parameter estimation based on a preset convergence criterion.
[0107] For example, in a sample scenario, the operator completes a discrete azimuth switch and maintains a static observation window for 15 seconds. The host computer observes that the zero-bias correlation covariance of the gyroscope decreases significantly within this static window, while the correlation covariance of the cross-axis coupling coefficient of the accelerometer decreases more slowly. The host computer then prompts the operator to continue performing subsequent discrete azimuth switches to obtain more azimuth excitation. If the information statistics in a certain azimuth segment remain abnormal, the host computer marks that azimuth segment as low confidence and prompts for reacquisition to avoid abnormal observations causing a shift in parameter convergence.
[0108] By constructing a system-level calibration filtering model with heading and velocity errors as observations, performing prediction updates based on state transitions and process noise, correcting measurements based on the measurement model and gain matrix, and outputting convergence characterization information based on covariance extraction, this embodiment achieves online recursive estimation of key error parameters at the inertial measurement unit. The calibration parameter set and its convergence degree are then uploaded to the host computer in real time as process data for monitoring and recording. This improves the controllability and quality assessability of parameter estimation during turntable-less calibration, providing a reliable basis for subsequent consistency verification and parameter writing.
[0109] In some embodiments, a consistency check is performed on the calibration parameter set based on convergence characterization information and process data recorded by the host computer, including:
[0110] Extract the covariance information or innovation statistics corresponding to each error parameter from the convergence characterization information, and perform convergence determination on the calibration parameter set based on the preset convergence criteria;
[0111] Based on the process data recorded by the host computer, forward filtering and backward filtering are fused to generate a set of reference calibration parameters, and the set of reference calibration parameters is compared with the set of calibration parameters for parameter consistency.
[0112] In the consistency comparison, the difference between the calibration parameter set and the benchmark calibration parameter set on each error parameter is calculated, and the consistency verification result is determined according to the preset consistency threshold.
[0113] When the consistency check result indicates that the test fails, a reacquisition command or recalculation command associated with the failed error parameter or the corresponding azimuth segment dataset is generated, and the reacquisition command or recalculation command is output to the host computer for updating the calibration process configuration.
[0114] Specifically, during the calibration process, the host computer continuously receives and records the raw sensor data, time stamps, azimuth markers, and calibration processing data uploaded by the inertial measurement unit. The calibration processing data includes the calibration parameter set updated after online filtering, key elements of the state covariance matrix, and innovation statistics. To facilitate consistency verification, the host computer establishes independent data recording channels based on device identification information during data archiving and segments the data within the stationary observation window using azimuth markers, forming multiple azimuth segment datasets. Each azimuth segment dataset contains the raw data sequence, process data sequence, stationary determination result, frame loss statistics, and anomaly markers for that azimuth stationary segment.
[0115] Furthermore, the first level of consistency verification is convergence determination. In this embodiment, covariance information or innovation statistics corresponding to each error parameter are extracted from the convergence characterization information, and convergence determination is performed on the calibration parameter set based on preset convergence criteria. The convergence criteria can be a parameter covariance threshold criterion, i.e., when the diagonal element of the covariance corresponding to a certain error parameter is lower than a preset threshold and its change amplitude is lower than a stable threshold over multiple consecutive processing cycles, the parameter is determined to be convergent; alternatively, an innovation statistics criterion can be used, i.e., a chi-square test or mean-variance stability test is performed on the innovation sequence, and the filtering process is determined to be convergent when the statistic is within a preset confidence interval and remains stable.
[0116] In some examples, the convergence criterion is issued by the host computer and different thresholds can be configured based on the sensor model and sampling noise level to avoid misjudgment caused by using the same threshold for different devices. In the example scenario, when a certain model of gyroscope has low noise, the gyroscope's zero-bias correlation covariance can decrease rapidly within several discrete azimuth segments and reach the threshold, while the accelerometer's cross-axis coupling coefficient correlation covariance decreases more slowly. The host computer will output "partial convergence" as an intermediate state, prompting to continue executing subsequent discrete azimuth measurements or extend the static observation window to supplement the excitation.
[0117] Furthermore, the second level of consistency verification is the generation of the benchmark calibration parameter set. In this embodiment, based on the process data recorded by the host computer, forward and backward filtering are fused to generate the benchmark calibration parameter set. Specifically, the host computer uses the recorded original sensor data sequence and azimuth segment dataset to reconstruct the offline filtering process according to the state definition, state transition model, and measurement model consistent with the inertial measurement unit. First, forward filtering is performed on the full data in chronological order to obtain the forward estimation result and covariance for each processing cycle; then, backward filtering is performed on the same data sequence in reverse chronological order to obtain the backward estimation result and covariance; finally, the forward and backward estimates are fused to obtain the benchmark calibration parameter set under full data constraints.
[0118] In some examples, the fusion process can employ a covariance-weighted approach, giving higher weight to the estimate with smaller covariance in the fusion, thereby improving the stability of the baseline parameters. To ensure the baseline generation process is comparable to the online process, this embodiment requires the host computer to use the same measurement noise matrix settings as the online process or to record and lock the noise settings before fusion, and to perform rejection or weight reduction processing on the frame loss intervals and anomaly marker intervals to avoid the abnormal segments causing offsets to the baseline parameters.
[0119] Furthermore, the third level of consistency verification is parameter consistency comparison. In this embodiment, the benchmark calibration parameter set and the calibration parameter set are compared for consistency. The difference between the two sets for each error parameter is calculated during the consistency comparison, and the consistency verification result is determined based on a preset consistency threshold. The consistency threshold can be a combination of absolute difference thresholds and relative difference thresholds; for example, an absolute difference threshold can be used for zero-biased parameters, and a relative difference threshold can be used for scaling factor parameters. Alternatively, the difference can be correlated with online covariance information, using a dynamic threshold based on uncertainty; that is, inconsistency is determined when the difference exceeds the confidence interval limit derived from the covariance.
[0120] When outputting the consistency verification results, the host computer also outputs a list of failed error parameters, their corresponding differences, and trigger threshold information to help pinpoint the source of the problem. In the example scenario, if the gyroscope scaling factor error has a significant difference between the online result and the baseline result, while other parameters are consistent, the host computer marks this parameter as a failed item and further correlates its convergence trajectory within each azimuth segment dataset to determine if there is poor data quality in certain azimuth segments that causes estimation bias.
[0121] Furthermore, when the consistency check result indicates failure, this embodiment generates a re-acquisition command or recalculation command associated with the failed error parameter or the corresponding azimuth segment dataset, and outputs the re-acquisition command or recalculation command to the host computer for updating the calibration process configuration. The re-acquisition command is used to re-acquisition the azimuth segment dataset related to the failed item at the execution layer. For example, if the host computer finds that the static determination of a certain discrete azimuth is unstable or the frame loss rate is high and highly correlated with the failed parameter, the command specifies the target azimuth marker, the suggested static duration, and the re-execution order. The recalculation command is used to trigger recalculation when the data is complete and the quality is acceptable, but the threshold setting is mismatched or the noise setting needs to be adjusted. For example, after adjusting the measurement noise matrix or process noise intensity, the online playback calculation is re-executed. The host computer updates the calibration process configuration according to the re-acquisition command or recalculation command, and prompts the operator to re-execute the specified steps on the interface. The process control module then enters the re-acquisition or recalculation state until the consistency check passes.
[0122] Through the convergence determination based on covariance information or innovation statistics, the generation of benchmark parameters based on the fusion of forward and backward filtering, and the parameter consistency comparison and closed-loop handling based on difference threshold, this embodiment realizes a quantifiable quality verification and traceable correction process for online calibration parameters without a turntable. This allows the calibration results to be effectively verified before being written into parameters, and in the event of anomalies, it can quickly locate the relevant error parameters or azimuth segment dataset and trigger re-acquisition or recalculation, thereby improving the reliability and consistency of the calibration process.
[0123] The above embodiments describe the specific implementation process of the inertial measurement unit system-level intelligent calibration method under the condition of no turntable. The following will describe in detail the specific implementation process of the technical solution of this application with reference to the accompanying drawings and examples in specific scenarios, which may include the following:
[0124] Figure 2 This is a schematic diagram of the calibration operation process provided by the technician in the embodiments of this application, such as... Figure 2 As shown, this demonstrates the convenience and standardization of this application in practical applications. The process begins with equipment preparation, including IMU mounting, cable connection, firmware flashing, and parameter configuration. In the core operation phase, host computer software guides technicians through a multi-position rotation sequence, providing intuitive prompts for each step, significantly reducing the technical requirements for operators. The process concludes with an automated calibration result verification step to ensure the reliability of the output parameters. This operational process design makes the calibration process highly repeatable and suitable for rapid deployment in production environments and field applications.
[0125] Figure 3 This is a schematic diagram of the software control flow of the calibration system provided in the embodiments of this application, such as... Figure 3 As shown, this process embodies the automation and intelligence of the calibration process. The workflow begins with system power-on initialization and self-test, and through a layered modular design, it achieves collaborative work between the driver layer, algorithm layer, and application layer. The core processing stage employs a recursive filtering estimation method controlled by a state machine, simultaneously completing data acquisition, preprocessing, parameter estimation, and data transmission during the calibration process. The process control module manages state transitions according to preset conditions, ensuring the orderly progress of each calibration stage. This software design enables the complete calibration process to be completed autonomously within the IMU embedded system.
[0126] The inertial measurement unit system-level intelligent calibration method of this application includes the following steps:
[0127] Step S1: Equipment preparation and platform placement.
[0128] Specifically, the IMU to be calibrated is fixedly mounted on a flat and rigid platform surface. The platform should have sufficient mass and stability to ensure that it will not deform during subsequent manual or automatic rotation of the IMU. The PPS interface of the GNSS board is connected to the SPI port of the IMU to ensure that the acquisition time accuracy is within 1ms.
[0129] Step S2: Calibrate the software instructions and configuration.
[0130] The pre-established system-level calibration filtering equations are written into and integrated into the IMU's main control processor firmware using embedded software. Specifically, the calibration software system adopts a layered modular architecture, mainly including a driver layer, an algorithm layer, and an application layer. The driver layer encompasses a sensor driver module and a timer driver module. The sensor driver module is responsible for initializing and configuring parameters such as the sampling rate and range of the IMU's internal accelerometer and gyroscope, and reading the raw data from the sensors at a fixed frequency. The timer driver module provides precise timing interrupts to trigger and control the main loop cycle of the entire calibration task. The algorithm layer includes a data preprocessing module, a calibration filtering module, and a flow control module. The data preprocessing module receives raw data from the driver layer, converts it into physically meaningful quantities, and unifies unit conversions and interface protocols. The calibration filtering module embeds a state error model and filtering algorithm specifically designed for system-level calibration, recursively updating the state estimate using new observations in each processing cycle. The process control module manages the state machine for the entire calibration process, including states such as preparing, configuration writing, restarting, ready, data acquisition and processing, data loss, data anomaly, and data acquisition completed, and can trigger corresponding state transitions based on preset conditions. The application layer consists of a main control task module and a configuration management module. The main control task module serves as the software entry point, initializing all hardware and software modules and scheduling the collaborative work of each module according to predetermined logic. The configuration management module, after parsing the configuration parameters on the host computer, writes them into the Flash memory as the filter's operating parameters. After development is complete, the software system is compiled and packaged into firmware, ready to be burned into the inertial measurement unit.
[0131] Step S3: Software burning and host computer configuration preparation.
[0132] Specifically, the software flashing process requires selecting the appropriate method based on the IMU's current firmware status. If the IMU has not previously flashed firmware with serial port upgrade functionality, the compiled firmware is flashed to its Flash memory via the JTAG interface. If the IMU already has serial port upgrade functionality, the firmware flashing is directly completed via serial port using a host computer. After firmware flashing is complete, the configuration parameter tables required for calibration must be configured into the IMU for each device. The key configuration is ensuring that the IMU can transmit its raw measurement data and critical intermediate variables from algorithm processing to the host computer in real time during calibration. This data includes filter status, variance, estimation results, and software running status. After receiving the data, the host computer categorizes it according to the device number and saves it in storage for subsequent spot checks and quality verification of the calibration process.
[0133] Step S4: Execute the optimized rotation process.
[0134] Specifically, the user or automated testing equipment performs multi-axis, multi-directional rotation operations on the IMU on a stationary rigid platform according to a pre-designed and optimized rotation process, so that the rotation can excite the systematic errors of each axis of the IMU.
[0135] Step S5: Data recovery and calibration parameter calculation.
[0136] Specifically, after completing the entire preset rotation process, all recorded data is retrieved from the external storage medium. Using the host computer software integrated within the IMU processor, the processing program outputs all system-level calibration parameters of the IMU based on the recorded sensor data and the built-in filtering model.
[0137] Step S6: Verify the calibration effect.
[0138] Specifically, to verify the effectiveness of this calibration method, a multi-level verification strategy is adopted. First, in the calibration data processing stage, the raw data acquired in real time is subjected to forward and backward Kalman filtering fusion processing to obtain a set of high-precision benchmark calibration parameters. By comparing the calibration results calculated by the real-time online algorithm with the forward and backward fusion processing results, the consistency of the two on key parameters is verified, thereby confirming the accuracy and reliability of this real-time calibration method. On this basis, to further verify the effectiveness of the calibration parameters in practical applications, the obtained calibration parameter configuration file can be loaded into the IMU's navigation algorithm for field testing. The device equipped with the calibrated IMU is made to execute a trajectory movement with a known or high-precision reference. By accurately comparing its navigation output with the measurement results of the real trajectory or a higher-precision reference navigation system, the actual navigation performance improvement effect of the calibrated IMU is evaluated from the system level.
[0139] The platform possesses good stability to ensure that no observable deformation or vibration occurs during calibration. Synchronization between the IMU's data acquisition time and the GNSS timing time is achieved through the connection between the GNSS board's PPS interface and the IMU's SPI interface, with a synchronization accuracy controlled within 1 millisecond. Time synchronization methods include, but are not limited to, using the PPS signal as the frame synchronization signal for SPI communication, or as a calibration reference for the IMU's internal sampling clock.
[0140] The calibration filtering algorithm is directly embedded in the IMU main control processor firmware. Specifically, the software algorithm runs on the IMU processor in real time. Once calibration is complete, parameter calculation and writing can be completed without data post-processing or writing the post-processed data results back into the IMU.
[0141] Furthermore, regarding the data interface:
[0142] Data exchange between the various layers occurs through standard interfaces. Specifically, these standard interfaces enable efficient data exchange between the driver layer, algorithm layer, and application layer, ensuring high system modularity, low coupling, and strong maintainability. The interfaces between each layer employ unified data structures and communication standards to guarantee the reliability and real-time performance of data flow within the system.
[0143] Regarding data interaction between the driver layer and the algorithm layer, the system defines a standardized sensor data interface. The driver layer provides the algorithm layer with timestamp-aligned raw sensor data via a circular buffer. The data structure includes ADC sample values from the accelerometer and gyroscope, temperature data, and precise time stamps. The algorithm layer retrieves data from the buffer through a unified API interface that supports both blocking and non-blocking read modes, ensuring flexibility in data consumption. Simultaneously, the algorithm layer feeds back data quality assessment results to the driver layer, which then adaptively adjusts its sampling strategy accordingly, forming a two-way information exchange mechanism.
[0144] The data interaction between modules within the algorithm layer adopts an architecture combining event-driven and dataflow-based approaches. The data preprocessing module provides temperature-compensated and unit-converted physical quantity data to the calibration and filtering module via a standardized data pipeline, which incorporates a data integrity verification mechanism. The calibration and filtering module outputs state estimates and a covariance matrix to the process control module, which then determines state transitions based on these estimates and broadcasts state change information to other modules via an event notification mechanism. This design ensures that the modules within the algorithm layer maintain functional independence while also enabling collaborative operation.
[0145] Data interaction between the application layer and the lower layers is achieved through service interfaces. The main control task module sends control commands such as initialization, start, and stop to the driver layer and algorithm layer through the command interface, and obtains the running status of each module in real time through the status query interface. The configuration management module sends filter parameters to the algorithm layer through the parameter configuration interface, and receives calibration results and diagnostic information output by the algorithm layer through the data interface. All cross-layer interfaces have defined timeout retransmission mechanisms and error handling procedures to ensure the robustness of the system under abnormal conditions.
[0146] The system also established a unified data anomaly handling mechanism, in which each level monitors the validity and rationality of interface data in real time during data interaction, marks abnormal data and triggers corresponding processing procedures.
[0147] Furthermore, initialization and self-test functions:
[0148] The system possesses initialization and self-test functions to ensure reliable startup of the calibration process and continuous monitoring of system status. Specifically, system initialization adopts a layered, progressive architecture, executing three levels sequentially: hardware initialization, software module initialization, and parameter initialization. During hardware initialization, the system sequentially checks the processor core clock, external memory, communication interfaces, and the power supply and communication status of the sensor chip to ensure the basic hardware environment meets operational requirements. Software module initialization starts each functional module in an orderly manner according to their dependencies, establishing data paths and message passing mechanisms between modules. The parameter initialization stage loads the configuration parameters required for calibration from the Flash memory and assigns default values based on the sensor model to any missing parameters, ensuring the system has a complete operational configuration.
[0149] The system's self-test function is integrated throughout the entire calibration process, encompassing three stages: startup self-test, runtime self-test, and post-calibration verification. The startup self-test executes automatically after system power-on, verifying the device model via the sensor identification register, acquiring short-term static data to assess noise characteristics, and confirming the system meets calibration requirements. The runtime self-test continuously monitors data quality and algorithm status, detecting abnormal jumps and frame loss in sensor data in real time, using the chi-square test to monitor the innovation sequence to determine the filter's convergence status, and performing boundary checks on critical numerical calculations to prevent computational overflow. Post-calibration verification assesses the reasonableness of the calibration results, including checking whether the parameter covariance has converged, whether the error estimate is within a physically reasonable range, and verifying the internal consistency of the calibration parameters.
[0150] The system is designed with a tiered fault handling mechanism. For minor faults, the system attempts automatic recovery, such as reinitializing the sensor interface or resetting the filtering algorithm; for moderate faults, the system saves the current state and sends an alarm to the host computer; for severe faults, the system immediately suspends the calibration process and enters a safe state. All self-test results and fault information are recorded in real time, forming a complete system operation log, providing data support for quality traceability in the calibration process.
[0151] Furthermore, data anomaly detection and multi-level automatic recovery:
[0152] The driver layer module is characterized by a robust data anomaly detection and multi-level automatic recovery mechanism, ensuring reliable data acquisition even in complex working environments. This mechanism is built upon three core principles: real-time monitoring, intelligent diagnosis, and tiered recovery. Specifically,
[0153] In terms of anomaly detection, the system employs multi-dimensional joint criteria to monitor data quality in real time. At the hardware level, it continuously monitors the sensor power supply voltage, chip temperature, and the physical layer signal quality of the communication interface. Anomalies are immediately flagged when voltage fluctuations exceed ±5% or temperature exceeds the rated range. At the data level, a triple verification mechanism is implemented: it identifies out-of-range data through numerical range checks (e.g., angular velocity exceeding 120% of the range); it identifies data stagnation or jumps through gradient change detection (e.g., the standard deviation of consecutive samples is close to zero or the difference between adjacent samples exceeds a threshold); and it verifies frame structure, CRC checksum, and sequence continuity through data validity verification. Furthermore, the system establishes a dynamic threshold adjustment mechanism based on historical data, enabling adaptive adjustment of the detection threshold according to sensor characteristics.
[0154] The automatic recovery mechanism adopts a layered and progressive design, implementing corresponding recovery strategies for anomalies at different levels. For transient failures at the communication interface layer, such as the loss of a single frame of data, the system immediately initiates a retransmission mechanism, completing data retransmission within 1ms. For temporary anomalies in the sensor chip, such as data overflow or register misalignment, the system executes a soft reset sequence, reinitializing the sensor registers and restoring normal sampling within 10ms. For persistent severe faults, a fault alarm is sent to the upper layer. All recovery processes ensure data continuity and integrity; data gaps during the recovery process are appropriately filled using interpolation algorithms and explicitly marked as reconstructed data.
[0155] The system also establishes a comprehensive anomaly logging and learning mechanism. All anomaly events and their recovery processes are recorded in detail, including the anomaly type, occurrence time, recovery strategy, and recovery effectiveness evaluation. Based on historical anomaly data, the system builds a fault prediction model, enabling early warning of potential faults and optimizing sampling strategies accordingly, such as temporarily adjusting the sampling rate or range. This intelligent anomaly handling mechanism significantly improves the system's robustness, ensuring that temporary failures do not cause process interruptions or data loss during critical calibration phases.
[0156] Furthermore, parameters are updated and saved online, and real-time status monitoring and fault diagnosis are performed.
[0157] The application-layer management function is characterized by online parameter updates and storage, real-time monitoring and fault diagnosis of operational status, and visualized monitoring of the calibration process. Specifically, the online parameter update and storage mechanism adopts a dual-protection design. The system establishes a complete parameter management system through the configuration management module, supporting dynamic updates of key parameters such as filter parameters, motion process configurations, and alarm thresholds via a host computer communication interface without interrupting the calibration process. Upon receiving all parameters, a temporary copy is first created in RAM for verification. After confirmation, the parameters are saved to a specific parameter area in the Flash memory through a transactional write mechanism. This storage area employs a cyclic redundancy check and backup sector design to ensure the integrity and recoverability of parameters under extreme conditions such as unexpected power outages. The system also maintains a complete history of parameter modifications, supports rapid switching and rollback of multiple parameter configuration schemes, and provides flexible adaptability for different calibration scenarios.
[0158] The real-time monitoring and fault diagnosis system for operational status constructs a multi-layered state awareness network. The system continuously collects operational metrics from each software module through the main control task module, including CPU load, memory usage, task execution cycle stability, and hardware resource status, such as stack usage depth and heap fragmentation. It then performs joint diagnosis based on an expert rule base and machine learning algorithms. The fault diagnosis engine can distinguish between transient anomalies and persistent faults, achieving millisecond-level detection and classification of typical faults such as abnormal sensor data, algorithm divergence, and communication interruptions. Diagnostic results are reported through a tiered alarm mechanism, simultaneously triggering corresponding self-healing strategies—from module-level restart to system-level safe mode switching—forming a complete closed loop from state awareness and fault identification to autonomous recovery.
[0159] The calibration process visualization monitoring system is implemented through collaboration between upper and lower level computers. The IMU (Installation Unit) uploads key state variables, estimated parameters, performance indicators, and diagnostic information in real time via a data encapsulation protocol. The upper-level computer software builds a complete visualization monitoring interface based on these data streams, dynamically displaying the sensor's raw data curves, parameter convergence process, error covariance ellipse, and system state topology diagram. The monitoring system supports user-defined combinations of observations and historical playback, and provides graphical representations of key information such as calibration progress, data quality assessment, and estimated completion time. All monitoring data is simultaneously recorded in the database, supporting in-depth analysis and report generation after calibration.
[0160] Further, filter design.
[0161] The algorithm layer will be explained in detail below with examples. In summary, the speed error of the device when stationary is caused by various error coefficients within the IMU. When the device flips or moves from one position to another, the speed error of static navigation in a short period of time is generated by the excitation of inertial device errors. By designing a series of maneuvers in different orientations, different error parameters can be excited, and then the error coefficients of the IMU can be estimated by using a Kalman filter.
[0162] Specifically, setting the state variables of the Kalman filter for:
[0163]
[0164] in, This is the attitude difference. For speed error, These are zero bias on the gyroscope and zero bias on the added gauge, respectively. These are the scaling factors for the gyroscope and the gimbal, respectively. To add the cross-axis coupling coefficient to the table, For adding a table Axis sensitivity. The zero bias of the gyroscope and the zero bias of the adder, the proportional coefficient of the gyroscope and the adder, and the cross-axis coupling coefficient of the adder, all calculated in the above formula, are related to the axis sensitivity. Axis sensitivity is the calibration parameter that needs to be obtained in the end.
[0165] Table 1 State Variables Detailed description
[0166]
[0167] The state equation of the system is: .
[0168] in, The system state transition matrix describes the change in system state from the previous time step. At this moment The process of state change, It is an identity matrix, and its dimensions are consistent with the number of state variables. This represents the average white noise value for each system state variable.
[0169] According to the inertial navigation error propagation law, we can obtain The matrix is shown in the table below.
[0170] Table 2 System Transfer Matrix
[0171]
[0172] Note: The first element of each row is equal to the sum of all elements in that row multiplied by the first element of the corresponding column. For example, the first row can be represented as: 。
[0173] The matrices in the table are as follows:
[0174]
[0175] in, Data collected by the sensors respectively Regarding the roll angle Pitch angle heading angle The matrix, These are the cosine and sine of the heading angle, respectively. These are the cosine and sine of the pitch angle, respectively. These are the cosine and sine of the roll angle, respectively.
[0176] Table 3 System noise vector
[0177]
[0178] Table These are the noise levels of the gyroscope and the meter, respectively.
[0179] The current calculation is obtained The recursive state at time 1 Then, it is necessary to calculate... covariance matrix The uncertainty of the current state estimate is characterized by the following equation:
[0180]
[0181] in, Let be the covariance matrix of the previous time step. The main diagonal is a diagonal matrix with the system noise as its main diagonal.
[0182] The state variables were then further corrected using measurement equations, and the system's observations were set. for: ,in, The velocity difference between the predicted velocity and the observed velocity in the navigation coordinate system in one step. is the attitude angle error, and is the difference between the zero angular rate corrected value and the one-step predicted heading.
[0183] Table 4 State Quantities Detailed description
[0184]
[0185] The system's measurement equations: ,in, The measurement equation describes the functional relationship between the observed values and the system state. This represents the white noise mean for each observation.
[0186] Table 5 Measurement Transfer Matrix
[0187]
[0188] Table 6 System Noise Vector
[0189]
[0190] Table These are the velocity and zero angular rate heading angle noise, respectively.
[0191] By one-step recursion of the state covariance matrix and the measurement covariance matrix, the innovation ratio equation can be obtained as follows: In the formula, The main diagonal is the diagonal matrix of the noise measurement in Table 6.
[0192] Calculate the state covariance at this moment, which is used for state recursion and precision representation at the next moment, i.e.:
[0193]
[0194] Then the final state value is obtained. The state variable is:
[0195]
[0196] That is, the final parameter calibration values that need to be estimated are obtained. After the software implements the above calculation process, it is compiled to generate firmware.
[0197] In some examples, the host computer's firmware burning and configuration mainly provide sufficient data support for subsequent spot checks and quality verification of the calibration process, specifically providing the host computer with software deployment and data management functions.
[0198] The software flashing process employs differentiated flashing strategies based on the IMU's firmware status. For IMU units without serial port upgrade capabilities, the compiled firmware is directly flashed to their Flash memory via the JTAG interface, ensuring the complete writing of the basic bootloader. For IMU units with serial port upgrade tools, firmware flashing is completed via serial communication from a host computer, offering advantages such as ease of operation and support for batch processing. After firmware flashing is complete, a rigorous verification process is performed, including firmware version verification, CRC integrity verification, and basic function testing, to ensure the reliability of the flashing process.
[0199] After the firmware flashing verification is successful, the configuration parameter table required for calibration must be configured into the IMU one by one according to the device sequence. The configuration parameters include key information such as sensor characteristic parameters, filter initialization parameters, communication protocol parameters, and motion flow parameters. In particular, the data output module needs to be configured to ensure that the IMU can transmit its raw measurement data and key intermediate variables in the algorithm processing to the host computer in real time during the calibration process. This data includes, but is not limited to: filter state vector, diagonal elements of the covariance matrix, parameter estimation results, flow control status words, and system timestamps.
[0200] In some examples, the host computer software establishes a data classification and storage mechanism based on device IDs when receiving data. Each IMU device has a unique identification code, and the host computer creates an independent data storage area based on this code to save all data streams during the calibration process in real time. The storage format uses timestamped binary encoding to ensure efficient and complete data storage. Simultaneously, the host computer provides real-time data quality monitoring, monitoring key indicators such as data packet loss rate and transmission latency.
[0201] In some examples, the calibration method of this application employs a systematic rotation sequence design, which fully excites the various systematic errors of the IMU through carefully planned multi-directional static placement. The rotation process establishes an initial reference based on the northeast-northeast coordinate system, and sequentially points each sensitive axis of the IMU to different directions according to a preset 6-position sequence. The specific process includes: starting from an arbitrary initial position, after initialization, rotating 90 degrees in both directions around the X-axis, Y-axis, and Z-axis, and finally returning to the initial position, forming a complete rotation sequence containing 19 key positions.
[0202] For example, one possible rotation scheme is to initialize with an initial northeast azimuth, rotate 90 degrees in both directions around the X, Y and Z axes, and finally return to the initial position. The rotation position number and orientation are shown in Table 7.
[0203] Table 7 Rotation Position Number and Orientation
[0204]
[0205] After each position change, a 15-second static observation period is required. This design aims to accurately estimate sensor parameters such as zero bias through static measurements. The entire rotation process can be completed in a single calibration within 8 minutes, ensuring sufficient data acquisition while significantly improving calibration efficiency. Regarding the error excitation strategy, this method precisely excites the scaling factor error through orthogonal axis pointing, reveals asymmetric errors through forward and reverse rotation, and exposes installation errors and inter-axis coupling errors through multi-axis motion.
[0206] To adapt to different application scenarios, this method supports two execution modes: manual operation and automatic turntable control. In manual operation mode, a clear rotation guide and position confirmation prompts are provided through the host computer interface, allowing operators to simply follow the guides to complete the position transitions. The process control module monitors the rationality of position transitions in real time, providing real-time feedback and corrective guidance for abnormal rotations.
[0207] The rotation process is strictly synchronized with the data acquisition system, fully recording the IMU response data at each position. The system evaluates the execution quality of the rotation process through post-process data analysis, including indicators such as position holding stability and rotation continuity. The final generated process execution quality assessment report provides a traceable basis for the reliability of calibration parameters. The optimized rotation scheme ensures sufficient excitation of various error sources while ensuring the consistency and repeatability of calibration results through standardized operating procedures.
[0208] In some examples, a multi-level verification strategy is employed to validate the effectiveness of this calibration method. First, during the calibration data processing stage, the raw data acquired in real-time undergoes forward and backward Kalman filtering fusion processing to obtain a set of high-precision benchmark calibration parameters. By comparing the calibration results calculated by the real-time online algorithm with the forward and backward fusion processing results, the consistency of the two on key parameters is verified, thereby confirming the accuracy and reliability of this real-time calibration method. This internal consistency verification mechanism ensures the quality controllability of the calibration process.
[0209] Building upon this, to further verify the effectiveness of the calibration parameters in practical applications, the obtained calibration parameter configuration file can be loaded into the IMU's navigation algorithm for field testing. The device equipped with the calibrated IMU is then instructed to execute a trajectory known or with a high-precision reference. By precisely comparing its navigation output with the actual trajectory or the measurement results of a higher-precision reference navigation system, the actual improvement in navigation performance of the calibrated IMU can be evaluated at the system level.
[0210] This dual verification mechanism not only ensures the controllability and repeatability of the calibration process itself, but also verifies the effectiveness of the calibration parameters through practical application scenarios, forming a complete verification closed loop from parameter estimation to system performance evaluation, ensuring that the calibration results simultaneously meet the dual requirements of theoretical accuracy and engineering application.
[0211] The core technical feature of this application lies in the deep integration of the optimized filtering model, the efficient rotation process design, and the IMU's own hardware and software resources, resulting in the following significant beneficial effects:
[0212] This application achieves system-level calibration without additional hardware costs. It completely eliminates the reliance on expensive external equipment such as a high-precision turntable and a high-precision inertial measurement reference system, and completes the calibration entirely by utilizing the IMU's own processing power and standard interface. This greatly reduces the economic threshold for calibration and is particularly suitable for large-scale applications in cost-sensitive fields such as consumer electronics.
[0213] This method significantly improves calibration efficiency. By optimizing the filtering model, it reduces the amount of data required for algorithm convergence. Combined with a carefully designed rotation process, it induces all critical errors in the shortest time with minimal necessary movements, resulting in a substantial reduction in single calibration time. This directly improves the testing cycle time of the production line and the response speed of on-site calibration.
[0214] The operation is extremely simple and easy to promote. The entire process has very low requirements for equipment and environment, requiring only a flat table and manual or simple mechanical rotation. It reduces the reliance on professional engineers, enabling non-professionals to complete effective calibration in various scenarios after simple training.
[0215] This application achieves an excellent balance between accuracy, efficiency, and cost: it balances precision and efficiency. Its optimized model and process ensure that the calibration parameters obtained are sufficient to meet the IMU accuracy requirements of most industrial and consumer applications, while maintaining low cost and high efficiency.
[0216] The rapid intelligent calibration method for IMUs protected in this application has broad market application prospects and strong disruptive potential.
[0217] Precise market targeting and urgent demand: With the explosive growth of industries such as autonomous driving, drones, robotics, and AR / VR, the demand for high-performance, low-cost IMUs has surged. However, traditional high-precision calibration equipment (priced from hundreds of thousands to millions of dollars) has become a bottleneck restricting production capacity and cost control. This solution achieves "hardware replacement with algorithms," providing a path to high-performance calibration with zero hardware cost, making it irresistibly attractive to mid- and downstream manufacturers.
[0218] It has a wide range of applications, covering the entire industry chain:
[0219] Consumer electronics: Meeting the extreme cost control requirements of IMUs for a massive number of products such as mobile phones and wearable devices, which are "sufficient, easy to use, and inexpensive".
[0220] Industrial and Automotive: Providing cost-effective and mass-producible calibration solutions for robotic vacuum cleaners, industrial AGVs, and L2+ level autonomous vehicles, which is a key driver for large-scale deployment.
[0221] Specialized equipment: It can even serve as a functional supplement or temporary alternative to traditional high-precision calibration equipment, serving the research and development, testing and after-sales stages.
[0222] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.
[0223] Figure 4 This is a schematic diagram of the system-level intelligent calibration device for inertial measurement units under turntable-less conditions provided in this application embodiment. Figure 4 As shown, the device includes:
[0224] Module 401 is used to fix the inertial measurement unit to be calibrated on a flat rigid platform and establish a data communication link with the host computer, so that the host computer can receive and record the sensor raw data and calibration process data output by the inertial measurement unit.
[0225] The generation module 402 is used to integrate a system-level calibration filtering model in the main control processor of the inertial measurement unit, and periodically acquire raw sensor data based on a timed triggering mechanism, and perform data preprocessing to generate observation data for filtering recursion.
[0226] The switching module 403 is used to drive the inertial measurement unit to switch between multiple discrete orientations according to a preset multi-orientation rotation process and maintain a stationary observation window in each discrete orientation, so that the observation data covers the stationary segment data corresponding to multiple orientations.
[0227] The correction module 404 is used to perform prediction updates and measurement corrections on the state variables based on the system-level calibration filter model in each processing cycle, and output a set of calibration parameters including the error parameters of the inertial measurement unit and convergence characterization information associated with the set of calibration parameters.
[0228] The verification module 405 is used to perform consistency verification on the calibration parameter set based on the convergence characterization information and the process data recorded by the host computer, and write the calibration parameter set that passes the consistency verification into the parameter storage area of the inertial measurement unit for subsequent navigation calculation.
[0229] In some embodiments, Figure 4The establishment module 401 fixes the inertial measurement unit (IMU) on a flat and rigid support platform to ensure structural stability during the subsequent multi-directional rotation process and to form static observation windows in each discrete orientation. It establishes a communication connection for calibration data transmission and configures the data encapsulation and transmission parameters of the communication connection, enabling the IMU to send the original sensor data, time stamps, and calibration process data corresponding to the recursive processing of the calibration filtering model to the host computer in real time. It performs link verification and data continuity verification on the communication connection, and when the verification passes, the host computer classifies and records the received data according to the device identification information associated with the IMU to form a calibration dataset associated with the multi-directional rotation process.
[0230] In some embodiments, Figure 4 The establishment module 401 connects the pulse second signal interface of the satellite timing board to the serial peripheral interface of the inertial measurement unit to obtain the correspondence between the pulse second signal and the data acquisition time; it calibrates the sampling clock or communication frame synchronization of the inertial measurement unit based on the pulse second signal, so that the time stamp generated by the inertial measurement unit is aligned with the pulse second signal; when sending the sensor raw data and calibration process data to the host computer, the aligned time stamp is encapsulated in the uploaded data so that the host computer performs time alignment and record archiving of the calibration process data based on the time stamp.
[0231] In some embodiments, Figure 4 The generation module 402 loads calibration configuration parameters into the main control processor firmware and initializes the state variables, covariance, and measurement noise matrix of the system-level calibration filter model based on the calibration configuration parameters; it configures timer interrupts to form the processing cycle of the calibration task, drives the sensors to sample and read the raw sensor data of the gyroscope and accelerometer in each processing cycle, and generates time stamps associated with the raw sensor data; it writes the raw sensor data into a circular buffer, and the data preprocessing module extracts the data aligned with the time stamps from the circular buffer, performs unit conversion and format normalization processing, and generates observation data for filter recursion; it inputs the observation data into the system-level calibration filter model to perform a recursive update, and outputs the calibration processing data corresponding to this recursive update for the host computer to receive and record.
[0232] In some embodiments, Figure 4The switching module 403 initializes the inertial measurement unit (IMU) based on a preset coordinate reference and generates an azimuth sequence configuration associated with the multi-azimuth rotation process. The azimuth sequence configuration is used to define the attitude switching relationship of each discrete azimuth and the closed-loop sequence of returning to the initial azimuth. According to the azimuth sequence configuration, forward and reverse rotations around mutually orthogonal rotation axes are executed sequentially, so that the sensitive axis of the IMU points to different spatial directions in multiple discrete azimuths. After each discrete azimuth switching is completed, the IMU is controlled to enter a static observation window of a preset duration and collects the corresponding static segment data within the static observation window. The static segment data is associated with the azimuth marker to form an azimuth segment dataset. Based on the azimuth segment dataset, the stability of the discrete azimuth switching and the validity of the static segment data are judged, and if the judgment fails, a prompt message associated with the target discrete azimuth or a re-acquisition command is output.
[0233] In some embodiments, Figure 4 The correction module 404 constructs a filtered state variable with heading error and velocity error as observations, and gyroscope bias, accelerometer bias, gyroscope scaling factor error, accelerometer scaling factor error, accelerometer cross-axis coupling coefficient, and accelerometer gravity sensitivity coefficient as error parameters to be estimated. It then generates a state transition model and a process noise model based on the inertial navigation error propagation relationship. Within each processing cycle, the filtered state variable is updated based on the state transition model, and the predicted covariance matrix is updated by the process noise model. The heading error and velocity error are calculated based on the observation data, and a measurement matrix and a measurement noise matrix are generated based on the measurement model to obtain a gain matrix corresponding to the predicted covariance matrix. The gain matrix is used to perform measurement correction on the filtered state variable and update the state covariance matrix, generating a calibration parameter set. Covariance information characterizing the convergence of the calibration parameter set is extracted from the updated state covariance matrix, and the covariance information is correlated with the calibration parameter set and output as convergence characterization information.
[0234] In some embodiments, Figure 4 The verification module 405 extracts the covariance information or innovation statistics corresponding to each error parameter from the convergence characterization information, and performs convergence determination on the calibration parameter set based on the preset convergence criterion; based on the process data recorded by the host computer, it performs forward filtering and backward filtering fusion processing to generate a reference calibration parameter set, and compares the reference calibration parameter set with the calibration parameter set for parameter consistency; in the consistency comparison, it calculates the difference between the calibration parameter set and the reference calibration parameter set on each error parameter, and determines the consistency verification result according to the preset consistency threshold; when the consistency verification result indicates failure, it generates a re-acquisition instruction or recalculation instruction associated with the failure error parameter or the corresponding azimuth segment dataset, and outputs the re-acquisition instruction or recalculation instruction to the host computer for updating the calibration process configuration.
[0235] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0236] Figure 5 This is a schematic diagram of the electronic device 5 provided in an embodiment of this application. Figure 5 As shown, the electronic device 5 of this embodiment includes: a processor 501, a memory 502, and a computer program 503 stored in the memory 502 and executable on the processor 501. When the processor 501 executes the computer program 503, it implements the steps in the various method embodiments described above. Alternatively, when the processor 501 executes the computer program 503, it implements the functions of each module / unit in the various device embodiments described above.
[0237] Electronic device 5 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 5 may include, but is not limited to, processor 501 and memory 502. Those skilled in the art will understand that... Figure 5 This is merely an example of electronic device 5 and does not constitute a limitation on electronic device 5. It may include more or fewer components than shown, or different components.
[0238] The processor 501 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0239] The memory 502 can be an internal storage unit of the electronic device 5, such as a hard disk or RAM of the electronic device 5. The memory 502 can also be an external storage device of the electronic device 5, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the electronic device 5. The memory 502 can also include both internal and external storage units of the electronic device 5. The memory 502 is used to store computer programs and other programs and data required by the electronic device.
[0240] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0241] If integrated modules / units are implemented as software functional units and sold or used as independent products, they can be stored in a readable storage medium (e.g., a computer-readable storage medium). Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which may be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0242] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A system-level intelligent calibration method for inertial measurement units under turntable-less conditions, characterized in that, include: The inertial measurement unit to be calibrated is fixed on a flat, rigid platform, and a data communication link is established with the host computer so that the host computer can receive and record the raw sensor data and calibration process data output by the inertial measurement unit. A system-level calibration filtering model is integrated into the main control processor of the inertial measurement unit, and the raw sensor data is acquired periodically based on a timed triggering mechanism to perform data preprocessing to generate observation data for filtering recursion. The inertial measurement unit is driven to switch between multiple discrete orientations according to a preset multi-directional rotation process and maintain a stationary observation window in each discrete orientation, so that the observation data covers the stationary segment data corresponding to multiple orientations. In each processing cycle, based on the system-level calibration filtering model, the state variables are predicted, updated and measured, and the output includes a set of calibration parameters containing the error parameters of the inertial measurement unit and convergence characterization information associated with the set of calibration parameters. Based on the convergence characterization information and the process data recorded by the host computer, a consistency check is performed on the calibration parameter set, and the calibration parameter set that passes the consistency check is written into the parameter storage area of the inertial measurement unit for subsequent navigation calculation. The process of integrating a system-level calibration filtering model into the main control processor of the inertial measurement unit, periodically acquiring raw sensor data based on a timed triggering mechanism, and performing data preprocessing to generate observation data for filtering recursion includes: The calibration configuration parameters are loaded into the main control processor firmware, and the state variables, covariance, and measurement noise matrix of the system-level calibration filter model are initialized based on the calibration configuration parameters. Configure timer interrupts to form the processing cycle of the calibration task. In each processing cycle, drive the sensors to sample and read the raw sensor data of the gyroscope and accelerometer, and generate a time stamp associated with the raw sensor data. The raw sensor data is written into a circular buffer. The data preprocessing module extracts data aligned with the time stamp from the circular buffer and performs unit conversion and format normalization to generate observation data for filtering and recursion. The observation data is input into the system-level calibration filter model to perform a recursive update, and the calibration processing data corresponding to this recursive update is output for the host computer to receive and record.
2. The method according to claim 1, characterized in that, The step of fixing the inertial measurement unit to be calibrated to a flat, rigid platform and establishing a data communication link with the host computer includes: The inertial measurement unit is fixedly installed on a flat and rigid support platform to ensure that the inertial measurement unit maintains structural stability during the subsequent multi-directional rotation process and forms a static observation window in each discrete orientation. Establish a communication connection for calibration data transmission and configure the data encapsulation and transmission parameters of the communication connection so that the inertial measurement unit can send the original sensor data, time stamps and calibration process data corresponding to the recursive processing of the calibration filter model to the host computer in real time. The communication connection is subjected to link verification and data continuity verification. When the verification is successful, the host computer classifies and records the received data according to the device identification information associated with the inertial measurement unit to form a calibration dataset associated with the multi-directional rotation process.
3. The method according to claim 1 or 2, characterized in that, The establishment of a data communication link with the host computer also includes time synchronization configuration, which includes: Connect the pulse second signal interface of the satellite timing board to the serial peripheral interface of the inertial measurement unit to obtain the correspondence between the pulse second signal and the data acquisition time. The sampling clock or communication frame synchronization of the inertial measurement unit is calibrated based on the pulse second signal so that the time stamp generated by the inertial measurement unit is aligned with the pulse second signal. When sending raw sensor data and calibration process data to the host computer, the aligned timestamps are encapsulated in the uploaded data so that the host computer can perform time alignment and record archiving of the calibration process data based on the timestamps.
4. The method according to claim 1, characterized in that, The process of driving the inertial measurement unit to switch between multiple discrete azimuths according to a preset multi-azimuth rotation procedure and maintaining a stationary observation window in each discrete azimuth, so that the observation data covers the stationary segment data corresponding to multiple azimuths, includes: The inertial measurement unit is initialized based on a preset coordinate reference, and an orientation sequence configuration associated with the multi-directional rotation process is generated. The orientation sequence configuration is used to limit the attitude switching relationship of each discrete orientation and the closed-loop sequence of returning to the initial orientation. According to the orientation sequence configuration, forward and reverse rotations are performed sequentially around mutually orthogonal rotation axes, so that the sensitive axis of the inertial measurement unit points to different spatial directions in the multiple discrete orientations. After each discrete azimuth switch is completed, the control inertial measurement unit enters a static observation window of a preset duration and collects the corresponding static segment data within the static observation window. The static segment data is then associated with the azimuth markers to form a azimuth segment dataset. Based on the azimuth segment dataset, the stability of discrete azimuth switching and the validity of stationary segment data are evaluated to determine the quality of the process. If the evaluation fails, a prompt message or re-acquisition command associated with the target discrete azimuth is output.
5. The method according to claim 1, characterized in that, The system-level calibration filtering model is used to perform prediction updates and measurement corrections on the state variables, outputting a set of calibration parameters including inertial measurement unit error parameters and convergence characterization information associated with the calibration parameter set, including: A filtered state variable is constructed with heading error and velocity error as the observables, and gyroscope zero bias, accelerometer zero bias, gyroscope scale factor error, accelerometer scale factor error, accelerometer cross-axis coupling coefficient and accelerometer gravity sensitivity coefficient as the error parameters to be estimated. A state transition model and a process noise model are generated based on the inertial navigation error propagation relationship. Within each processing cycle, the filtered state variables are predicted and updated based on the state transition model, and the predicted covariance matrix is updated by the process noise model. The heading error and velocity error are calculated based on the observation data, and a measurement matrix and a measurement noise matrix are generated according to the measurement model to obtain a gain matrix corresponding to the prediction covariance matrix. The gain matrix is used to perform measurement correction on the filtered state variables and update the state covariance matrix to generate the calibration parameter set. Extract covariance information from the updated state covariance matrix to characterize the convergence of the calibration parameter set, and associate the covariance information with the calibration parameter set to output the convergence characterization information.
6. The method according to claim 1, characterized in that, The consistency check of the calibration parameter set based on the convergence characterization information and the process data recorded by the host computer includes: Extract the covariance information or innovation statistics corresponding to each error parameter from the convergence characterization information, and perform convergence determination on the calibration parameter set based on the preset convergence criterion; Based on the process data recorded by the host computer, a fusion process of forward filtering and backward filtering is performed to generate a set of reference calibration parameters, and the set of reference calibration parameters is compared with the set of calibration parameters for parameter consistency. In the consistency comparison, the difference between the calibration parameter set and the benchmark calibration parameter set on each error parameter is calculated, and the consistency verification result is determined according to the preset consistency threshold. When the consistency verification result indicates that the test fails, a reacquisition instruction or recalculation instruction associated with the failed error parameter or the corresponding azimuth segment dataset is generated, and the reacquisition instruction or recalculation instruction is output to the host computer for updating the calibration process configuration.
7. A system-level intelligent calibration device for an inertial measurement unit under turntable-less conditions, characterized in that, include: The module is used to fix the inertial measurement unit to be calibrated on a flat and rigid platform and establish a data communication link with the host computer, so that the host computer can receive and record the sensor raw data and calibration process data output by the inertial measurement unit. The generation module is used to integrate the system-level calibration filtering model in the main control processor of the inertial measurement unit, and periodically acquire raw sensor data based on a timed triggering mechanism, and perform data preprocessing to generate observation data for filtering recursion. The switching module is used to drive the inertial measurement unit to switch between multiple discrete orientations according to a preset multi-directional rotation process and maintain a stationary observation window in each discrete orientation, so that the observation data covers the stationary segment data corresponding to multiple orientations. The correction module is used to perform prediction updates and measurement corrections on the state variables based on the system-level calibration filtering model in each processing cycle, and output a set of calibration parameters including the error parameters of the inertial measurement unit and convergence characterization information associated with the set of calibration parameters. The verification module is used to perform consistency verification on the calibration parameter set based on the convergence characterization information and the process data recorded by the host computer, and write the calibration parameter set that passes the consistency verification into the parameter storage area of the inertial measurement unit for subsequent navigation calculation. The generation module is used to load calibration configuration parameters into the main control processor firmware, and initialize the state variables, covariance, and measurement noise matrix of the system-level calibration filter model based on the calibration configuration parameters; configure timer interrupts to form the processing cycle of the calibration task, drive the sensors to sample and read the raw sensor data of the gyroscope and accelerometer in each processing cycle, and generate time stamps associated with the raw sensor data; write the raw sensor data into a circular buffer, and the data preprocessing module extracts the data aligned with the time stamps from the circular buffer, and performs unit conversion and format normalization processing to generate observation data for filter recursion; input the observation data into the system-level calibration filter model to perform a recursive update, and output the calibration processing data corresponding to this recursive update for the host computer to receive and record.
8. An electronic 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 computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 6.