A method and system for calibrating low-precision IMU devices on robots
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-29
- Publication Date
- 2026-08-14
AI Technical Summary
芯片出厂离线校准依托高精度三轴转台和高低温恒温箱等大型精密设备,在芯片封装完成后分多温度梯度和多标准姿态位置采集传感器原始输出数据,通过最小二乘和六面标定等基础算法拟合传感器固有误差模型,但该方案存在量产成本高昂、标定效率受限、完全依赖进口高端标定设备以及仅能补偿静态固定系统误差等缺陷,且芯片出厂标定参数固化后无法在机器人使用现场重新更新补偿参数,只能拆机返厂重新标定
1、本发明提供的一种在机器人上的低精度IMU器件校准方法,通过利用机器人自身的腿部锁止机构固定机身处于水平静止姿态,以机身本身作为标定基准替代外部高精度转台,同时利用关节电机低负载运转产生的热量使惯性测量单元IMU模组温度从起始温度匀速上升至预设最高温度,再通过自然冷却使模组温度回落至环境温度下限,在温度上升和温度下降的双向过程中按预设温度间隔采集多组惯性测量单元IMU原始数据和对应的温度值,进而采用分段非线性拟合算法生成陀螺仪零偏温度函数和加速度计标度因数温度漂移函数,得到全域动态温漂补偿模型,最终根据实时采集的惯性测量单元IMU温度通过该补偿模型动态修正陀螺仪零偏和加速度计标度因数。本发明通过将机器人自身结构作为标定基准并利用关节电机发热替代外部温箱,彻底摆脱了对进口高精度转台和高低温标定箱等昂贵外部设备的依赖,实现了机器人本体端无外部设备辅助的在线自校准。同时,升温降温双向全温度区间的数据采集结合分段非线性拟合算法,能够精确刻画低成本MEMS惯性测量单元IMU在宽温域范围内的非线性温漂特性,并通过实时温度动态修正机制在全温度区间内持续补偿温漂误差,从而将低成本国产MEMS惯性测量单元IMU在50℃高温工况下的角度漂移误差由原有的4.3°降低至0.2°以内,解决了传统离线标定设备成本高昂、低成本MEMS惯性测量单元IMU无法在机器人现场自主二次校准以及宽温域工作产生漂移后姿态精度持续衰减的技术问题。
Smart Images

Figure CN122566898A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot sensor calibration technology, and more specifically, to a method and system for calibrating low-precision IMU devices on robots. Background Technology
[0002] Inertial Measurement Units (IMUs) are the core sensing units for quadruped robots, enabling attitude calculation, motion balance control, and terrain-adaptive walking. The stability of their output data directly affects the robot's attitude control accuracy under various working conditions, including high-speed trotting, obstacle crossing, heavy-duty walking, and outdoor operations in high and low temperatures. Currently, low-cost MEMS inertial measurement units have broad application prospects in the quadruped robot field due to their price advantage. However, their inherent defects, such as temperature drift, zero-bias instability, and vibration drift, severely restrict their commercialization in high-end quadruped robots. Existing inertial measurement unit calibration technologies are mainly divided into two categories: offline calibration for chip factory testing and factory calibration for consumer electronics systems. Offline calibration of chips at the factory relies on large-scale precision equipment such as high-precision three-axis turntables and high- and low-temperature constant temperature chambers. After chip packaging, raw sensor output data is collected at multiple temperature gradients and multiple standard posture positions. Basic algorithms such as least squares and six-sided calibration are used to fit the sensor's inherent error model. However, this solution has drawbacks such as high mass production costs, limited calibration efficiency, complete reliance on imported high-end calibration equipment, and the ability to compensate only for static fixed system errors. Furthermore, once the chip's factory calibration parameters are fixed, the compensation parameters cannot be updated at the robot's usage site, requiring disassembly and recalibration at the factory. Factory calibration of consumer electronics devices takes consumer devices such as mobile phones and AR glasses as calibration objects. After the device is assembled, it compensates for the fixed installation angle error between the inertial measurement unit (IMU) module and the device housing. However, the calibration logic of this solution is limited to a single scenario and is not optimized for the specific motion characteristics of quadruped robots, such as periodic leg movements, high-frequency body vibrations, and landing impacts. It also lacks a dynamic temperature linkage compensation mechanism and cannot adapt to the wide temperature range working environment of quadruped robots in outdoor operations.
[0003] Existing simplified calibration schemes for quadruped robots only retain basic six-sided static calibration functions. After powering on, the robot is manually placed on a level surface and left to stand for several minutes to collect static data. Only the fixed compensation value for static zero bias at room temperature is calculated, without temperature gradient calibration or a secondary calibration process involving vibration aging. This scheme has the following significant drawbacks: It only performs single-point calibration at room temperature, lacking a high / low temperature drift fitting model. After prolonged operation and heating of the motors, the drift of the gyroscope and accelerometer amplifies dramatically, with angular errors exceeding 4° at 50°C, directly causing the robot to veer off course and become unbalanced during jumps; the fixed static placement threshold cannot filter sensor noise from minor joint vibrations and weak ground vibrations, resulting in low reliability of calibration data; it only performs static calibration once upon powering on, and there is no autonomous recalibration process after long-term operation leading to component aging and structural loosening, causing drift errors to accumulate continuously; it cannot distinguish between the combined errors caused by the IMU's own temperature drift, body deformation, and motor electromagnetic coupling, resulting in a single compensation model and limited accuracy improvement in multi-error coupling scenarios. In addition, existing calibration schemes all rely on external high-precision turntables, high and low temperature calibration chambers or manual assistance, which cannot achieve online self-calibration without external assistance in the unmanned autonomous operation scenario of quadruped robots.
[0004] Therefore, researching and designing a calibration method and system for low-precision IMU devices on robots that can overcome the above-mentioned defects is an urgent problem to be solved. Summary of the Invention
[0005] To address the shortcomings of existing technologies, the present invention aims to provide a method and system for calibrating low-precision IMU devices on robots. By using the robot's own structure as the calibration benchmark and utilizing the heating of the joint motors instead of an external temperature chamber, the invention completely eliminates reliance on expensive external equipment such as imported high-precision turntables and high- and low-temperature calibration chambers, achieving online self-calibration of the robot body without external equipment assistance. Simultaneously, the bidirectional full-temperature range data acquisition during heating and cooling, combined with a piecewise nonlinear fitting algorithm, can accurately characterize the nonlinear temperature drift characteristics of the low-cost MEMS inertial measurement unit (IMU) over a wide temperature range, and continuously compensate for temperature drift errors throughout the entire temperature range through a real-time dynamic temperature correction mechanism.
[0006] The above-mentioned technical objective of the present invention is achieved through the following technical solution: Firstly, a method for calibrating low-precision IMU devices on a robot is provided, comprising the following steps: The robot acquires inertial measurement unit (IMU) data and joint motor data, and performs multi-dimensional fusion judgment based on the IMU data and joint motor data to determine whether the robot is in a valid stationary window. Within the effective static window, the robot's leg locking mechanism is used to fix the robot body in a horizontal static posture, the joint motor is driven to operate at low load to make the temperature of the inertial measurement unit (IMU) module rise from the initial temperature to the preset maximum temperature at a uniform speed, and the joint motor is controlled to stop operating to allow the inertial measurement unit (IMU) module to cool naturally to the lower limit of the ambient temperature. During the temperature rise and fall process, multiple sets of raw data from the inertial measurement unit (IMU) and corresponding temperature values are collected at preset temperature intervals. A piecewise nonlinear fitting algorithm is used to generate the gyroscope zero bias temperature function and the accelerometer scaling factor temperature drift function to obtain a global dynamic temperature drift compensation model. Based on the real-time collected temperature of the inertial measurement unit (IMU), the gyroscope zero bias and accelerometer scaling factor are dynamically corrected through the global dynamic temperature drift compensation model.
[0007] Furthermore, the multi-dimensional fusion judgment based on the inertial measurement unit (IMU) data and the joint motor data includes: Acquire the three-axis output variance of the accelerometer in the inertial measurement unit (IMU), the three-axis angular velocity amplitude of the gyroscope, and the joint motor torque of the robot; When the three-axis output variance of the accelerometer is lower than the first threshold, the three-axis angular velocity amplitude of the gyroscope is lower than the second threshold, and the torque of the joint motor is lower than the third threshold, a steady-state monitoring for a preset duration is initiated. If all sensing indicators remain below their respective thresholds during the steady-state monitoring period, it is determined that the effective static window has been entered.
[0008] Furthermore, the method also includes: After determining that the effective stationary window has been entered, the inertial measurement unit (IMU) data and the joint motor data are continuously monitored; If any sensing index exceeds the corresponding threshold during the effective idle window, the current calibration process is exited and the system waits for the next idle window.
[0009] Furthermore, the preset temperature interval is dynamically adjusted according to the rate of temperature change. When the rate of temperature change is greater than a preset rate threshold, the preset temperature interval is reduced, and when the rate of temperature change is less than the preset rate threshold, the preset temperature interval is increased.
[0010] Furthermore, it also includes simultaneously performing multi-source error decoupling during the acquisition of raw data from the inertial measurement unit (IMU) and the corresponding temperature values. The multi-source error decoupling includes: Based on the theoretical output value of the accelerometer when the robot is in a standard horizontal posture, the zero bias, scaling factor and three-axis orthogonal coupling deviation of the inertial measurement unit (IMU) itself are solved and eliminated to obtain the first intermediate observation data after removing static inherent errors. Based on the temperature data collected by the multi-point temperature sensors on the fuselage, a mapping function between temperature and installation offset is established. The structural deformation offset caused by thermal expansion and contraction and the structural loosening offset caused by long-term vibration are solved and eliminated to obtain the second intermediate observation data after removing the gradually changing structural error. Based on the different intervals of the three-phase operating current of the joint motor, the magnetometer hard magnetic interference compensation coefficient and soft magnetic interference compensation coefficient corresponding to the alternating magnetic field of the motor are piecewise fitted, and the instantaneous impact drift correction function is established in combination with foot pressure load data to separate dynamic disturbance error.
[0011] Furthermore, the multi-source error decoupling also includes: After completing the separation of static inherent error, gradual structural error, and dynamic disturbance error, adaptive weight coefficients are assigned to the static inherent error, the gradual structural error, and the dynamic disturbance error based on the robot's real-time motion state, and the three-layer error model is integrated into a unified real-time compensation model. The real-time motion states include a stationary state, a low-speed walking state, a high-speed jumping state, and a weighted state.
[0012] Furthermore, the method also includes: The global dynamic temperature drift compensation model is stored in an independent partition of the local non-volatile memory. Subsequent calibration only updates the error model parameters that have drifted, without having to repeat the entire temperature rise and temperature fall process.
[0013] Furthermore, the method also includes: Read the robot's local task schedule and predict the duration of future idle windows; When the duration of the idle window is less than the first preset duration, only static zero-bias correction is performed; When the duration of the idle window is greater than or equal to the first preset duration and less than the second preset duration, partial temperature drift curve update and structural error coefficient update are performed, wherein the second preset duration is greater than the first preset duration; When the duration of the idle window is greater than or equal to the second preset duration, the complete temperature rise and temperature fall process and multi-source error hierarchical decoupling are executed.
[0014] Furthermore, the method also includes: The drift priority score is calculated based on the cumulative drift of the inertial measurement unit (IMU), the rate of change of ambient temperature, and the duration of continuous vibration operation. When the drift priority score exceeds a preset threshold, the calibration trigger priority is automatically increased. When the robot is detected to be in a highly dynamic operating state, the calibration fitting calculation process is frozen, and only the historically stored compensation model is called for real-time correction.
[0015] Secondly, a low-precision IMU device calibration system for robots is provided, including: The stationary determination module is used to acquire the robot's inertial measurement unit (IMU) data and joint motor data, and perform multi-dimensional fusion determination based on the IMU data and joint motor data to determine whether the robot is in a valid stationary window. The temperature control module is used to control the robot's leg locking mechanism to fix the robot body in a horizontal static posture within the effective static window, drive the joint motor to operate at low load so that the temperature of the inertial measurement unit (IMU) module rises at a constant speed from the initial temperature to the preset maximum temperature, and control the joint motor to stop operating so that the inertial measurement unit (IMU) module can cool naturally to the lower limit of the ambient temperature. The model generation module is used to collect multiple sets of raw data from inertial measurement units (IMUs) and corresponding temperature values at preset temperature intervals during the temperature rise and temperature fall processes. It also uses a piecewise nonlinear fitting algorithm to generate the gyroscope zero bias temperature function and the accelerometer scaling factor temperature drift function to obtain a global dynamic temperature drift compensation model. The dynamic correction module is used to dynamically correct the gyroscope zero bias and accelerometer scaling factor based on the real-time acquired temperature of the inertial measurement unit (IMU) through the global dynamic temperature drift compensation model.
[0016] Compared with the prior art, the present invention has the following beneficial effects: 1. This invention provides a method for calibrating low-precision IMU devices on a robot. By utilizing the robot's own leg locking mechanism to fix the robot body in a horizontal, static posture, the robot body itself serves as the calibration reference, replacing an external high-precision turntable. Simultaneously, the heat generated by the low-load operation of the joint motors causes the IMU module temperature to rise uniformly from its initial temperature to a preset maximum temperature, followed by natural cooling to allow the module temperature to drop back to the lower limit of the ambient temperature. During this bidirectional temperature rise and fall process, multiple sets of raw IMU data and corresponding temperature values are collected at preset temperature intervals. A piecewise nonlinear fitting algorithm is then used to generate the gyroscope zero-bias temperature function and the accelerometer scaling factor temperature drift function, resulting in a global dynamic temperature drift compensation model. Finally, based on the real-time collected IMU temperature, this compensation model dynamically corrects the gyroscope zero-bias and accelerometer scaling factor. This invention, by using the robot's own structure as the calibration reference and utilizing the heat generated by the joint motors instead of an external temperature chamber, completely eliminates the dependence on expensive external equipment such as imported high-precision turntables and high / low temperature calibration chambers, achieving online self-calibration of the robot body without external equipment assistance. Meanwhile, the bidirectional full-temperature range data acquisition, combined with a piecewise nonlinear fitting algorithm, can accurately characterize the nonlinear temperature drift characteristics of low-cost MEMS inertial measurement units (IMUs) over a wide temperature range. Through a real-time temperature dynamic correction mechanism, it continuously compensates for temperature drift errors across the entire temperature range, thereby reducing the angle drift error of low-cost domestic MEMS IMUs at 50°C from the original 4.3° to less than 0.2°. This solves the technical problems of high cost of traditional offline calibration equipment, the inability of low-cost MEMS IMUs to be autonomously recalibrated on-site by the robot, and the continuous decay of attitude accuracy after drift occurs during operation in a wide temperature range.
[0017] 2. This invention acquires sensor data from three dimensions in the Inertial Measurement Unit (IMU): the three-axis output variance of the accelerometer, the three-axis angular velocity amplitude of the gyroscope, and the joint motor torque of the robot. Steady-state monitoring for a preset duration is initiated only when the accelerometer's three-axis output variance falls below a first threshold, the gyroscope's three-axis angular velocity amplitude falls below a second threshold, and the joint motor torque falls below a third threshold. Furthermore, during steady-state monitoring, the robot is considered to have entered a valid static window only after all sensor indicators remain below their respective thresholds. Once in a valid static window, the robot continuously monitors the aforementioned sensor data. If any sensor indicator exceeds its corresponding threshold, the robot immediately exits the current calibration process and waits for the next idle window. This invention uses a joint determination based on three dimensions: accelerometer output variance, gyroscope angular velocity amplitude, and joint motor torque, supplemented by a long-term steady-state verification mechanism. This effectively distinguishes between the true static state of a quadruped robot and quasi-static interference states such as minor leg joint vibrations, low-frequency ground vibrations, and minor body deformations. It fundamentally solves the problem of misjudgment in quadruped robot scenarios caused by traditional single-sensor short-term static determination, reduces motion noise in calibration data, and ensures that all data used in subsequent temperature drift calibration and multi-source error decoupling comes from the true static state, thereby significantly improving the fitting accuracy and reliability of the compensation model.
[0018] 3. This invention monitors the temperature change rate of the inertial measurement unit (IMU) module in real time. When the temperature change rate exceeds a preset threshold, it automatically reduces the preset temperature interval to increase the density of data acquisition points; when the temperature change rate is less than the preset threshold, it automatically increases the preset temperature interval to reduce redundant data acquisition. This invention utilizes the positive correlation between the temperature change rate and the severity of changes in the nonlinear characteristics of sensor temperature drift. In the rapidly changing temperature range, dense sampling ensures sufficient sample data to accurately characterize the steep changes in the temperature drift curve. In the gently changing temperature range, sparse sampling reduces redundant data to save storage space and data processing power. Thus, while ensuring the fitting accuracy of the global dynamic temperature drift compensation model, it optimizes data acquisition efficiency and storage resource utilization, avoiding the problems of insufficient sampling at fixed temperature intervals leading to model distortion in the rapidly changing temperature range or excessive sampling in the gently changing temperature range causing resource waste.
[0019] 4. This invention simultaneously performs multi-source error layering decoupling during the acquisition of raw data from the inertial measurement unit (IMU) and corresponding temperature values. First, based on the theoretical output value of the accelerometer when the robot is in a standard horizontal posture, the IMU's own zero bias, scaling factor, and three-axis orthogonal coupling deviation are solved and eliminated to obtain the first intermediate observation data after removing static inherent errors. Then, based on temperature data collected by multi-point temperature sensors on the robot body, a mapping function between temperature and installation offset is established. The structural deformation offset caused by thermal expansion and contraction and the structural loosening offset caused by long-term vibration are solved and eliminated to obtain the second intermediate observation data after removing gradually varying structural errors. Finally, based on different intervals of the three-phase operating current of the joint motor, the hard magnetic interference compensation coefficient and soft magnetic interference compensation coefficient of the magnetometer corresponding to the alternating magnetic field of the motor are piecewise fitted. An instantaneous impact drift correction function is established by combining foot pressure load data to separate dynamic disturbance errors. After completing the three-layer error stripping, adaptive weight coefficients are assigned to the static inherent error, gradually varying structural error, and dynamic disturbance error based on the robot's real-time motion state, and the three-layer error models are merged into a unified real-time compensation model. This invention utilizes the differences in the rate of change, triggering conditions, and sensitive factors of various errors. By employing a layered decoupling approach, it separates and independently models the originally coupled and superimposed multi-source composite errors. Then, it adaptively adjusts the compensation weights of each layer of errors based on the robot's current motion state. This allows for simultaneous compensation of multiple types of coupled errors, such as the temperature drift of the inertial measurement unit (IMU), the overall installation angle, the thermal deformation of the robot body, electromagnetic interference from the motor, and foot impact disturbances. Under complex working conditions such as heavy-duty walking, continuous jumping, and long-term motor operation, it improves the attitude calculation accuracy by an order of magnitude. This solves the technical problem of existing calibration schemes that only compensate for the sensor's own errors while ignoring the quadruped robot's specific composite interference errors, resulting in limited improvement in attitude calculation accuracy under multi-error coupling.
[0020] 5. This invention predicts the duration of future idle windows by reading the robot's local task plan. Based on the duration of the idle window, it matches a differentiated calibration mode. When the idle window is less than a first preset duration, only static zero-bias correction is performed. When the idle window is greater than or equal to the first preset duration but less than a second preset duration, partial temperature drift curve updates and structural error coefficient updates are performed. When the idle window is greater than or equal to the second preset duration, the complete temperature rise and fall process, as well as multi-source error layered decoupling, are performed. Simultaneously, a comprehensive drift priority score is calculated based on the cumulative drift of the inertial measurement unit (IMU), the rate of change of ambient temperature, and the duration of continuous vibration operation. When the score exceeds a preset threshold, the calibration trigger priority is automatically increased. Furthermore, in high-dynamic operation states, the calibration fitting calculation process is frozen, and only historically stored compensation models are called for real-time correction. This invention achieves intelligent peak-shifting between calibration processes and operational tasks through task timing prediction. It utilizes idle periods such as charging, standby, and task gaps to match calibration processes of different granularities as needed, avoiding the problem of fixed-cycle timed calibration interrupting continuous operational tasks. Through dynamic adjustment of drift priority, it achieves priority calibration of sensors with severe drift, preventing the continuous accumulation of drift errors that leads to deterioration of attitude calculation accuracy. Through operational computing power isolation protection, it ensures the real-time performance and safety of motion control, eliminating the problems of gait imbalance and response delay caused by calibration calculations preempting motion control computing power. Thus, it achieves the optimal balance between long-term autonomous calibration updates and equipment operating efficiency without interrupting normal operational tasks. Attached Figure Description
[0021] The accompanying drawings, which are included to provide a further understanding of embodiments of the invention and form part of this application, do not constitute a limitation thereof. In the drawings: Figure 1 This is a flowchart from Embodiment 1 of the present invention; Figure 2 This is a system block diagram in Embodiment 2 of the present invention. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the embodiments and accompanying drawings. The illustrative embodiments and descriptions of the present invention are only used to explain the present invention and are not intended to limit the present invention.
[0023] Example 1: A method for calibrating low-precision IMU devices on a robot, such as... Figure 1 As shown, it includes the following steps: S1: Acquire the robot's inertial measurement unit (IMU) data and joint motor data, and perform multi-dimensional fusion judgment based on the IMU data and joint motor data to determine whether the robot is in a valid stationary window; S2: Within the effective static window, control the robot's leg locking mechanism to fix the robot body in a horizontal static posture, drive the joint motor to run at low load so that the temperature of the inertial measurement unit (IMU) module rises at a constant speed from the initial temperature to the preset maximum temperature, and control the joint motor to stop running so that the inertial measurement unit (IMU) module cools down naturally to the lower limit of the ambient temperature. S3: During the temperature rise and temperature fall process, multiple sets of raw data from the inertial measurement unit (IMU) and corresponding temperature values are collected at preset temperature intervals. A piecewise nonlinear fitting algorithm is used to generate the gyroscope zero bias temperature function and the accelerometer scaling factor temperature drift function to obtain a global dynamic temperature drift compensation model. S4: Based on the real-time collected temperature of the inertial measurement unit (IMU), the gyroscope zero bias and accelerometer scaling factor are dynamically corrected through a global dynamic temperature drift compensation model.
[0024] In step S1, a quadrupedal robot dog for power line inspection is used as a carrier, equipped with a low-cost domestically produced MEMS nine-axis inertial measurement unit (IMU) module, which has a built-in online adaptive calibration program. Before performing any calibration procedure, it is first necessary to accurately determine whether the robot is in a truly stationary state that can be used for calibration.
[0025] This invention synchronously collects three types of sensor data in real time: the three-axis output variance of the accelerometer in the inertial measurement unit (IMU), the three-axis angular velocity amplitude of the gyroscope, and the real-time output torque of the four leg joint motors. The three-axis output variance of the accelerometer reflects the dispersion of the accelerometer's output values along the three axes. When the robot is truly stationary, the accelerometer's output should be relatively stable near the gravitational acceleration, with its three-axis output variance approaching zero. The three-axis angular velocity amplitude of the gyroscope reflects the magnitude of the robot's rotational angular velocity around the three axes. When truly stationary, the angular velocity amplitude output by the gyroscope should be close to zero. The joint motor torque reflects the current output torque of each leg joint motor. When the robot is in a stationary support state, the torque of each joint motor should remain stable and small, without significant fluctuations caused by gait movements or posture adjustments.
[0026] This invention pre-sets joint judgment thresholds, including a first threshold for acceleration fluctuation variance, a second threshold for gyroscope angular velocity, and a third threshold for articulated motor torque. When the three-axis output variance of the accelerometer is lower than the first threshold, the three-axis angular velocity amplitude of the gyroscope is lower than the second threshold, and the articulated motor torque is lower than the third threshold, it indicates that the robot is currently in a preliminary quasi-stationary state. At this time, the system does not immediately determine whether it has entered a valid stationary window, but instead initiates a steady-state monitoring process of a preset duration.
[0027] During steady-state monitoring, the three types of sensor indicators mentioned above are continuously monitored, requiring all sensor indicators to remain below their respective thresholds within a preset time period. If the three-axis output variance of the accelerometer remains below the first threshold, the three-axis angular velocity amplitude of the gyroscope remains below the second threshold, and the joint motor torque remains below the third threshold during steady-state monitoring, the robot is determined to be in a undisturbed, truly stationary state, the inertial measurement unit (IMU) online calibration process is unlocked, and the robot officially enters the effective stationary window.
[0028] If any sensor index exceeds its corresponding threshold during steady-state monitoring, motion interference is detected, the calibration process is immediately terminated, and the system waits for the next idle window to restart the test. This multi-dimensional fusion judgment mechanism effectively filters out quasi-stationary interferences such as minor leg joint vibrations, low-frequency ground vibrations, and minor body deformations during the quadruped robot's standby state. This ensures that the robot is truly stationary during the calibration data acquisition phase, thereby guaranteeing the purity of subsequent calibration data and the accuracy of the compensation model.
[0029] After determining that the robot has entered a valid static window, the system continues to monitor the inertial measurement unit (IMU) data and articulated motor data in real time. If, during the valid static window, the three-axis output variance of the accelerometer exceeds the first threshold, or the three-axis angular velocity amplitude of the gyroscope exceeds the second threshold, or the articulated motor torque exceeds the third threshold, the robot is deemed to have been subjected to an unexpected disturbance. The system immediately exits the current calibration process, clears the calibration data collected this time, and waits for the next idle window to re-execute the complete calibration process.
[0030] This invention fundamentally solves the problem of misjudgment in quadruped robot scenarios by combining the determination of three dimensions: accelerometer output variance, gyroscope angular velocity amplitude, and joint motor torque, along with long-term steady-state verification. It reduces motion noise in calibration data and provides a reliable data foundation for subsequent temperature drift calibration and multi-source error decoupling.
[0031] In step S2, after determining that the effective static window has been entered in step S1, a temperature drift calibration process with two stages of active heating and natural cooling is executed to collect drift data of the inertial measurement unit (IMU) sensor across the entire temperature range, providing a data foundation for the subsequent establishment of a global dynamic temperature drift compensation model.
[0032] The first step is the temperature rise calibration phase. The robot's leg locking mechanism fixes the robot body in a horizontal, stationary position, ensuring a stable horizontal support state, which serves as the geometric reference for subsequent calibration. After the robot body is locked horizontally, the four leg joint motors are driven to operate continuously under low load, simulating the motor heating conditions during prolonged robot walking. The heat generated by the joint motors under low load is conducted through the robot structure to the inertial measurement unit (IMU) module, causing its temperature to rise uniformly from the initial temperature to the preset maximum temperature. In this embodiment, the initial temperature is room temperature (25°C), the preset maximum temperature is 55°C, and the heating rate is controlled to no more than 1°C per minute to avoid thermal hysteresis effects caused by excessively rapid heating, which could affect the accuracy of temperature drift data acquisition. During the heating process, a set of raw IMU data is collected every 2°C, and the corresponding temperature value is recorded simultaneously, forming a temperature-sensor output data pair sequence for the heating phase.
[0033] Once the inertial measurement unit (IMU) module temperature rises to the preset maximum temperature of 55°C, the cooling calibration phase begins. The joint motors stop operating, and the robot remains stationary, allowing the IMU module to gradually cool from 55°C to the lower limit of the ambient temperature through natural heat dissipation. In this embodiment, the lower limit of the ambient temperature is determined based on the robot's actual operating environment. If the outdoor winter temperature can reach -15°C, the cooling calibration phase covers the entire cooling range from 55°C to -15°C. During the cooling process, a set of raw IMU data is collected every 2°C, and the corresponding temperature value is recorded simultaneously, forming a temperature-sensor output data pair sequence for the cooling phase.
[0034] By performing a complete temperature scan in two phases—active heating and natural cooling—inertial measurement unit (IMU) sensor output data was obtained across the entire temperature range, from the initial temperature to the preset maximum temperature and then to the lower limit of the ambient temperature. The design logic of this two-stage temperature drift calibration process is as follows: the heating phase is primarily driven by active motor heating, simulating the real-world condition of the robot's body heating up during prolonged operation; the cooling phase is driven by natural cooling, simulating the real-world condition of the robot gradually cooling to ambient temperature after shutdown. The opposite directions of temperature change in the two phases effectively eliminate the influence of temperature change direction on the sensor's hysteresis characteristics, allowing the subsequently established temperature drift compensation model to more accurately reflect the sensor's true drift characteristics at different temperatures.
[0035] The two-stage temperature drift calibration process in this invention makes full use of the quadruped robot's own joint motors as a heat source, and can complete the temperature drift data collection from low temperature to high temperature range without the need for an external high and low temperature calibration chamber. This greatly reduces the hardware cost of calibration equipment and the dependence on production line calibration stations, and is one of the key links to achieve online self-calibration of the robot body without external equipment.
[0036] In step S3, after completing the data acquisition in step S2 for both active heating and natural cooling, the robot enters the stage of temperature drift curve fitting and multi-source error hierarchical decoupling. The core task of this stage is to transform the raw data of the inertial measurement unit (IMU) across the entire temperature range into a usable compensation model, and simultaneously complete the hierarchical stripping and fusion modeling of the multi-source composite errors specific to the quadruped robot.
[0037] The robot integrates all the raw data from the inertial measurement units (IMUs) and their corresponding temperature values collected during the heating and cooling phases. It then uses a piecewise nonlinear least squares algorithm to fit the gyroscope zero bias temperature function and the accelerometer scaling factor temperature drift function, respectively, to generate a global dynamic temperature drift compensation model.
[0038] The basic principle of the piecewise nonlinear least squares algorithm is to divide the entire temperature range into several sub-intervals, fit the relationship between the sensor output and temperature using a low-order polynomial within each sub-interval, and then smoothly connect the sub-interval boundaries to approximate the nonlinear characteristics of the sensor's temperature drift as a whole. In this embodiment, the temperature range is divided into segments of 10°C, and a second-order polynomial is used for fitting within each sub-interval.
[0039] The gyroscope zero bias temperature function represents the functional relationship between the gyroscope's zero bias and temperature. Its mathematical form is: ; in, This represents the gyroscope zero-bias estimate at the current temperature T, where T represents the real-time temperature of the inertial measurement unit (IMU) module, in °C. , , These are the coefficients of the zero-biased temperature function obtained by fitting using a piecewise nonlinear least squares algorithm.
[0040] The accelerometer scale factor temperature drift function represents the functional relationship between the accelerometer scale factor and temperature, and its mathematical form is: ; in This represents the estimated accelerometer scaling factor at the current temperature T, where T represents the real-time temperature of the inertial measurement unit (IMU) module, in °C. , , These are the scaling factor temperature drift function coefficients obtained by fitting using a piecewise nonlinear least squares algorithm.
[0041] In practical applications, the robot calculates the zero bias and scaling factor compensation values at the current temperature based on the real-time collected temperature of the inertial measurement unit (IMU) using the aforementioned gyroscope zero bias temperature function and accelerometer scaling factor temperature drift function, thereby achieving dynamic real-time correction of the gyroscope output and accelerometer output.
[0042] During both the temperature rise and fall processes, the preset temperature interval is not fixed but dynamically adjusted according to the rate of temperature change. The robot monitors the temperature change rate of the inertial measurement unit (IMU) module in real time. When the rate of temperature change exceeds a preset threshold, it indicates that the current temperature is in a rapidly changing range, and the sensor's temperature drift characteristics change drastically. The robot automatically reduces the preset temperature interval to increase the density of data acquisition points, ensuring that sufficiently dense sample data is collected in the rapidly changing temperature range. When the rate of temperature change is less than the preset threshold, it indicates that the current temperature is in a relatively stable range, and the sensor's temperature drift characteristics change more gradually. The robot automatically increases the preset temperature interval to reduce redundant data acquisition, saving storage space and data processing power. This dynamic adjustment mechanism optimizes data acquisition efficiency and storage resource utilization while ensuring the accuracy of the temperature drift model fitting.
[0043] During the temperature drift calibration data acquisition process, the robot synchronously performs multi-source error hierarchical decoupling. The core design concept of this hierarchical decoupling architecture is that the quadruped robot belongs to a strongly electromechanical coupled system. The raw data acquired by the inertial measurement unit (IMU) is a superimposed and mixed signal of chip inherent error, body structural deformation error, motor electromagnetic interference error, and load stress error. The variation period and sensitivity conditions of different errors are different. Traditional single compensation algorithms cannot distinguish between errors with different rates of change and different causes. Therefore, this invention adopts a hierarchical decoupling modeling approach, using the triggering conditions and change rates of different errors as distinguishing features to stepwise separate various error components.
[0044] The sensor's raw output is the result of the superposition of three layers of errors, and its mathematical expression is: ; in, This represents the raw sampled data from the inertial measurement unit (IMU), including the three-axis vector outputs from the gyroscope and accelerometer. This represents the ideal, true attitude sensing value without error. This indicates the inherent static fixed error of the chip at the time of manufacture. This error is independent of temperature and operating conditions and is an inconsistency generated during the sensor manufacturing process. This refers to the gradual error of the fuselage structure that changes slowly with temperature, mainly including installation angle and thermal expansion and contraction deformation offset. Indicates the current of the motor Foot load and exercise intensity The real-time changing dynamic disturbance error mainly includes the interference of the alternating magnetic field of the motor and the transient drift due to the impact of landing.
[0045] The first layer is static inherent error stripping. The robot uses the theoretical output value of the accelerometer under its locked standard horizontal posture to solve for the IMU's own zero bias, scaling factor, and three-axis orthogonal coupling bias. This fixed component is directly removed from the raw sensor data, eliminating the interference of residual chip manufacturing errors on subsequent calculations. The mathematical expression for the first layer of static error stripping is: ; in, This represents the first intermediate observation data after removing the inherent errors of the chip. This data eliminates the interference of inconsistencies in the bare chip manufacturing process and provides a clean input for the subsequent separation of slowly varying structural errors and dynamic operating condition errors.
[0046] The second layer addresses the problem of gradually varying structural errors. The robot synchronously collects temperature data from three locations: the head, legs, and the IMU mounting bay. A mapping function between temperature and installation offset is established, and three types of slowly time-varying error coefficients are calculated: the installation angle at room temperature, the offset due to thermal expansion and contraction after heating, and the structural loosening offset caused by long-term vibration. The mathematical expression for the separation of the second-layer gradually varying structural errors is: ; in, This represents the second intermediate observation data after removing the errors of the gradually varying structure. The installation deflection function, which represents the change in installation angle with temperature, reflects the change in the installation angle of the inertial measurement unit (IMU) caused by the thermal expansion and contraction of the fuselage material. The structural deformation offset function represents the change in temperature, reflecting the relative displacement of different parts of the fuselage due to temperature differences. It represents the structural loosening and displacement caused by long-term vibration, and is a fixed displacement value that accumulates slowly over time.
[0047] The third layer is for dynamic operating condition error fitting. The robot collects magnetometer outputs segmentally according to different current ranges of the joint motors, fitting the hard magnetic interference compensation coefficients and soft magnetic interference compensation coefficients corresponding to the alternating magnetic field of the motors. Simultaneously, combining the peak value of the foot impact load, an instantaneous impact drift correction function is established to separately isolate the short-term disturbance errors generated during jumping and obstacle crossing. The mathematical expression for the real-time correction of the third layer's dynamic operating condition error is: ; in, This represents the final clean sensor data after removing dynamic disturbance errors. This represents the magnetometer interference compensation function based on the fitting of the motor current I, used to eliminate the influence of the alternating magnetic field of the motor on the magnetometer output. Indicates foot impact load An instantaneous impact drift correction function is established to compensate for the short-term sensor drift caused by the impact upon landing.
[0048] After completing the separation of the first layer of static inherent errors, the second layer of gradually varying structural errors, and the third layer of dynamic disturbance errors, the robot assigns adaptive weight coefficients to the static inherent errors, gradually varying structural errors, and dynamic disturbance errors based on its real-time motion state, and then merges the three error models into a unified real-time compensation model. The mathematical expression for the adaptive weight fusion output is as follows: ; in, This represents the final accurate sensing data after weighted fusion. This represents the adaptive weight matrix based on real-time motion intensity Ω. This represents the clean sensor data after three layers of error stripping.
[0049] The segmentation logic of the weight matrix is as follows: ; in, This indicates the robot's current real-time motion intensity. This represents the angular velocity that marks the first boundary of motion intensity. This represents the second motion intensity boundary angular velocity, and Less than . This represents the weight matrix under low-speed motion conditions, where the robot is stationary or in a low-speed inspection state, emphasizing the compensation weights for structural errors. This represents the weight matrix under medium-speed motion conditions, where the robot is walking at a medium speed and a balanced weight distribution is used. This represents the weight matrix for high-speed motion, where the robot is in a high-speed jumping or loaded state, amplifying the compensation weights for dynamic impact errors. Real-time motion states include stationary state, low-speed walking state, high-speed jumping state, and loaded state.
[0050] After establishing the global dynamic temperature drift compensation model and the multi-source error hierarchical decoupling model, the robot stores all compensation parameters in an independent partition of its local non-volatile memory for management. This independent partition employs a partitioned management strategy, storing static inherent error parameters, gradually varying structural error parameters, and dynamic operating condition error parameters in different sub-regions. Subsequent calibration only requires updating the error layer parameters that have drifted, eliminating the need to repeat the entire temperature rise and fall process. For example, if only the structural loosening offset changes after prolonged vibration operation, it is only necessary to re-calculate the second-layer gradually varying structural error and update the corresponding structural loosening offset coefficient, without re-executing the entire temperature rise and fall process and the error decoupling calculations for the first and third layers. This incremental update mechanism significantly reduces the time cost and computational power consumption of repeated calibrations, improving the engineering practicality of online self-calibration.
[0051] In step S4, after establishing the global dynamic temperature drift compensation model and the multi-source error hierarchical decoupling model in step S3, the robot enters the real-time dynamic correction and adaptive hierarchical calibration scheduling stage. The core task of this stage is to use the established compensation model to correct the IMU output in real time, and to intelligently schedule the subsequent calibration process according to the robot's task sequence and sensor drift status.
[0052] During normal operation, the robot collects the current temperature value of the inertial measurement unit (IMU) module in real time. Using the global dynamic temperature drift compensation model established in step S3, it calculates the zero-bias estimate of the gyroscope and the scale factor estimate of the accelerometer at the current temperature, and dynamically corrects the original outputs of the gyroscope and accelerometer accordingly. Specifically, the robot substitutes the real-time collected IMU temperature into the gyroscope's zero-bias temperature function. The zero-bias value of the gyroscope at the current temperature is calculated, and this value is subtracted from the raw gyroscope output to obtain the corrected gyroscope output. Simultaneously, the robot substitutes the accelerometer scaling factor temperature drift function based on the real-time temperature. The accelerometer scaling factor at the current temperature is calculated, and the original accelerometer output is compensated for the scaling factor to obtain the corrected accelerometer output. This dynamic correction process continues as the inertial measurement unit (IMU) temperature changes in real time, ensuring that the robot obtains stable attitude sensing data across the entire temperature range.
[0053] To avoid interrupting the robot's continuous operation during calibration, an adaptive hierarchical calibration scheduling strategy based on task timing prediction is introduced. The core idea of this strategy is to match differentiated calibration processes according to the duration of the robot's future idle windows, minimizing the impact on normal operations while ensuring calibration effectiveness.
[0054] The robot first reads its local task schedule, which records information such as the current task queue, remaining mileage, and scheduled charging time. Based on this information, the robot predicts the duration of the upcoming idle window, i.e., the length of time the robot is expected to remain in a standby state. According to the duration of the idle window, the robot matches its calibration mode to three levels.
[0055] When the duration of the idle window is less than the first preset duration, the robot matches the first-level calibration mode, performing only static zero-bias correction. In this mode, the robot only performs the multi-dimensional fusion static judgment in step S1 and the zero-bias correction of the first-layer static inherent error in step S3, without initiating the entire heating / cooling process and the multi-source error hierarchical decoupling. This lightweight calibration mode is time-efficient, typically completing within a few minutes, and will not affect the timely start of subsequent tasks.
[0056] When the duration of the idle window is greater than or equal to a first preset duration and less than a second preset duration, the robot matches the secondary calibration mode and performs partial temperature drift curve updates and structural error coefficient updates. In this mode, the robot performs the static determination in step S1 and the solution of the second-layer gradually varying structural error in step S3, while locally refreshing a portion of the temperature range of the temperature drift curve, without needing to perform the complete heating and cooling process. This simplified calibration mode is suitable for idle windows of medium length and can complete the update of major drift errors within a limited time.
[0057] When the duration of the idle window is greater than or equal to the second preset duration, the robot matches the three-level calibration mode, performing the complete temperature rise and fall process and multi-source error hierarchical decoupling. In this mode, the robot sequentially performs step S1 (stationary determination), step S2 (active heating and natural cooling two-stage temperature drift calibration), and step S3 (global temperature drift curve fitting and multi-source error hierarchical decoupling), completing a comprehensive update of all error models. This complete calibration mode is suitable for ample idle periods such as long charging standby, enabling the deepest calibration of the inertial measurement unit (IMU).
[0058] The matching logic of the above-mentioned graded calibration mode can be expressed by the following formula: ; in, Indicates the current matching calibration mode. This indicates the first-level lightweight calibration mode, which only performs static zero-bias correction. This indicates a simplified second-level calibration mode, which performs partial temperature drift curve updates and structural error coefficient updates. This indicates a three-level complete calibration mode, which performs the complete temperature rise and fall process and multi-source error hierarchical decoupling. This indicates the predicted duration of the future idle window. Indicates the first preset duration. Indicates the second preset duration, and Greater than .
[0059] The robot continuously monitors three aging characteristics of its inertial measurement unit (IMU): cumulative drift, rate of change of ambient temperature, and duration of continuous vibration operation. A comprehensive drift priority score is calculated, and the calibration trigger priority is dynamically adjusted based on the score. The formula for calculating the comprehensive drift priority score is as follows: ; in, This indicates the overall drift priority score of the inertial measurement unit (IMU). The higher the score, the more severe the sensor drift, and the more priority it needs to be scheduled for calibration. This represents the absolute value of the cumulative drift of the inertial measurement unit (IMU), reflecting the degree of deviation between the current output and the expected output of the sensor. The rate of change of ambient temperature reflects the degree of fluctuation in the current ambient temperature. The faster the temperature changes, the more timely the sensor temperature drift calibration is required. The duration of continuous vibration operation reflects the cumulative time that the sensor has been subjected to vibration aging. The longer the vibration time, the more likely the sensor's zero-bias drift will be aggravated. , , These are the cumulative drift weight coefficient, the ambient temperature change rate weight coefficient, and the continuous vibration working duration weight coefficient, which are used to adjust the influence weight of the three factors on the priority score.
[0060] When the overall drift priority score exceeds a preset threshold, the robot automatically increases the calibration trigger priority. Lightweight calibration is initiated immediately whenever any short idle interval occurs to prevent the continuous accumulation of drift errors from deteriorating attitude calculation accuracy. If the sensor drift is small and the operating conditions are stable, the calibration trigger cycle is extended to reduce unnecessary computational overhead.
[0061] To ensure the real-time performance and safety of robot motion control, a computational power isolation protection mechanism is implemented. When the robot detects that it is in a high-dynamic operation state such as walking, obstacle crossing, or grasping, all calibration and fitting calculation processes are immediately frozen, and only the historically stored compensation model is used to correct the raw data of the inertial measurement unit (IMU) in real time. If the robot anticipates that a high-precision task will be launched within a preset time period, all calibration processes are automatically postponed, and the raw sensor data is cached in a temporary storage area. Parameter iteration updates are then performed uniformly after all tasks are completed. This computational power isolation mechanism prevents gait imbalance and response delays caused by calibration calculations preempting motion control computational power.
[0062] The computing power isolation control logic can be represented by the following formula: ; in, This is a flag indicating whether calibration fitting is enabled. 0 indicates that calibration fitting is disabled, and 1 indicates that calibration fitting is enabled. This indicates the robot's current motion intensity. This represents the motion intensity threshold. When the robot's current motion intensity is greater than or equal to the threshold, the robot is determined to be in a high-dynamic operating state, calibration fitting calculations are prohibited, and only historically stored compensation models are used for real-time correction. When the robot's current motion intensity is less than the threshold, the robot is determined to be in a stationary or idle state, and the complete calibration calculation process is allowed.
[0063] Through the coordinated efforts of three mechanisms—task timing prediction and graded calibration, drift priority dynamic control, and operation computing power isolation protection—the robot achieves an optimal balance between calibration accuracy and operation efficiency. Without interrupting normal operations, it autonomously completes periodic recalibration during idle periods such as charging, standby, and task gaps, ensuring that the inertial measurement unit (IMU) maintains stable attitude calculation accuracy throughout its entire lifecycle.
[0064] Example 2: A low-precision IMU device calibration system on a robot, which implements the low-precision IMU device calibration method on a robot described in Example 1, such as... Figure 2 As shown, it includes a static determination module, a temperature control module, a model generation module, and a dynamic correction module.
[0065] The system comprises the following modules: a stationary determination module, which acquires IMU and articulated motor data from the robot and performs multi-dimensional fusion to determine whether the robot is within a valid stationary window; a temperature control module, which, within the valid stationary window, controls the robot's leg locking mechanism to maintain a horizontal stationary posture, drives the articulated motors to operate at low load to allow the IMU module temperature to rise uniformly from the initial temperature to a preset maximum temperature, and then controls the articulated motors to stop operating to allow the IMU module to cool naturally to the lower limit of the ambient temperature; a model generation module, which collects multiple sets of raw IMU data and corresponding temperature values at preset temperature intervals during the temperature rise and fall processes, and uses a piecewise nonlinear fitting algorithm to generate the gyroscope zero-bias temperature function and the accelerometer scaling factor temperature drift function to obtain a global dynamic temperature drift compensation model; and a dynamic correction module, which dynamically corrects the gyroscope zero bias and accelerometer scaling factor based on the real-time acquired IMU temperature using the global dynamic temperature drift compensation model.
[0066] Working Principle: This invention utilizes the robot's own leg locking mechanism to maintain a horizontal, stationary posture, using the robot itself as the calibration reference instead of an external high-precision turntable. Simultaneously, the heat generated by the low-load operation of the joint motors causes the Inertial Measurement Unit (IMU) module temperature to rise uniformly from its initial temperature to a preset maximum temperature, followed by natural cooling to allow the module temperature to drop back to the lower limit of the ambient temperature. During this bidirectional temperature rise and fall process, multiple sets of raw IMU data and corresponding temperature values are collected at preset temperature intervals. A piecewise nonlinear fitting algorithm is then used to generate the gyroscope zero-bias temperature function and the accelerometer scaling factor temperature drift function, resulting in a global dynamic temperature drift compensation model. Finally, based on the real-time collected IMU temperature, this compensation model dynamically corrects the gyroscope zero bias and accelerometer scaling factor. By using the robot's own structure as the calibration reference and utilizing the heat generated by the joint motors instead of an external temperature chamber, this invention completely eliminates the reliance on expensive external equipment such as imported high-precision turntables and high / low temperature calibration chambers, achieving online self-calibration of the robot itself without external equipment assistance. Meanwhile, the bidirectional full-temperature range data acquisition, combined with a piecewise nonlinear fitting algorithm, can accurately characterize the nonlinear temperature drift characteristics of low-cost MEMS inertial measurement units (IMUs) over a wide temperature range. Through a real-time temperature dynamic correction mechanism, it continuously compensates for temperature drift errors across the entire temperature range, thereby reducing the angle drift error of low-cost domestic MEMS IMUs at 50°C from the original 4.3° to less than 0.2°. This solves the technical problems of high cost of traditional offline calibration equipment, the inability of low-cost MEMS IMUs to be autonomously recalibrated on-site by the robot, and the continuous decay of attitude accuracy after drift occurs during operation in a wide temperature range.
[0067] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0068] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0069] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0070] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0071] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for calibrating low-precision IMU devices on a robot, characterized in that, Includes the following steps: The robot acquires inertial measurement unit (IMU) data and joint motor data, and performs multi-dimensional fusion judgment based on the IMU data and joint motor data to determine whether the robot is in a valid stationary window. Within the effective static window, the robot's leg locking mechanism is used to fix the robot body in a horizontal static posture, the joint motor is driven to operate at low load to make the temperature of the inertial measurement unit (IMU) module rise from the initial temperature to the preset maximum temperature at a uniform speed, and the joint motor is controlled to stop operating to allow the inertial measurement unit (IMU) module to cool naturally to the lower limit of the ambient temperature. During the temperature rise and fall process, multiple sets of raw data from the inertial measurement unit (IMU) and corresponding temperature values are collected at preset temperature intervals. A piecewise nonlinear fitting algorithm is used to generate the gyroscope zero bias temperature function and the accelerometer scaling factor temperature drift function to obtain a global dynamic temperature drift compensation model. Based on the real-time collected temperature of the inertial measurement unit (IMU), the gyroscope zero bias and accelerometer scaling factor are dynamically corrected through the global dynamic temperature drift compensation model.
2. The method for calibrating low-precision IMU devices on a robot according to claim 1, characterized in that, The multi-dimensional fusion judgment based on the inertial measurement unit (IMU) data and the joint motor data includes: Acquire the three-axis output variance of the accelerometer in the inertial measurement unit (IMU), the three-axis angular velocity amplitude of the gyroscope, and the joint motor torque of the robot; When the three-axis output variance of the accelerometer is lower than the first threshold, the three-axis angular velocity amplitude of the gyroscope is lower than the second threshold, and the torque of the joint motor is lower than the third threshold, a steady-state monitoring for a preset duration is initiated. If all sensing indicators remain below their respective thresholds during the steady-state monitoring period, it is determined that the effective static window has been entered.
3. The method for calibrating low-precision IMU devices on a robot according to claim 1, characterized in that, The method also includes: After determining that the effective stationary window has been entered, the inertial measurement unit (IMU) data and the joint motor data are continuously monitored; If any sensing index exceeds the corresponding threshold during the effective idle window, the current calibration process is exited and the system waits for the next idle window.
4. The method for calibrating low-precision IMU devices on a robot according to claim 1, characterized in that, The preset temperature interval is dynamically adjusted according to the rate of temperature change. When the rate of temperature change is greater than the preset rate threshold, the preset temperature interval is reduced, and when the rate of temperature change is less than the preset rate threshold, the preset temperature interval is increased.
5. A method for calibrating low-precision IMU devices on a robot according to claim 1, characterized in that, It also includes simultaneously performing multi-source error decoupling during the acquisition of raw data from the inertial measurement unit (IMU) and the corresponding temperature values. The multi-source error decoupling includes: Based on the theoretical output value of the accelerometer when the robot is in a standard horizontal posture, the zero bias, scaling factor and three-axis orthogonal coupling deviation of the inertial measurement unit (IMU) itself are solved and eliminated to obtain the first intermediate observation data after removing static inherent errors. Based on the temperature data collected by the multi-point temperature sensors on the fuselage, a mapping function between temperature and installation offset is established. The structural deformation offset caused by thermal expansion and contraction and the structural loosening offset caused by long-term vibration are solved and eliminated to obtain the second intermediate observation data after removing the gradually changing structural error. Based on the different intervals of the three-phase operating current of the joint motor, the magnetometer hard magnetic interference compensation coefficient and soft magnetic interference compensation coefficient corresponding to the alternating magnetic field of the motor are piecewise fitted, and the instantaneous impact drift correction function is established in combination with foot pressure load data to separate dynamic disturbance error.
6. A method for calibrating low-precision IMU devices on a robot according to claim 5, characterized in that, The multi-source error decoupling also includes: After completing the separation of static inherent error, gradual structural error, and dynamic disturbance error, adaptive weight coefficients are assigned to the static inherent error, the gradual structural error, and the dynamic disturbance error based on the robot's real-time motion state, and the three-layer error model is integrated into a unified real-time compensation model. The real-time motion states include a stationary state, a low-speed walking state, a high-speed jumping state, and a weighted state.
7. A method for calibrating low-precision IMU devices on a robot according to claim 1, characterized in that, The method also includes: The global dynamic temperature drift compensation model is stored in an independent partition of the local non-volatile memory. Subsequent calibration only updates the error model parameters that have drifted, without having to repeat the entire temperature rise and temperature fall process.
8. A method for calibrating low-precision IMU devices on a robot according to claim 1, characterized in that, The method also includes: Read the robot's local task schedule and predict the duration of future idle windows; When the duration of the idle window is less than the first preset duration, only static zero-bias correction is performed; When the duration of the idle window is greater than or equal to the first preset duration and less than the second preset duration, partial temperature drift curve update and structural error coefficient update are performed, wherein the second preset duration is greater than the first preset duration; When the duration of the idle window is greater than or equal to the second preset duration, the complete temperature rise and temperature fall process and multi-source error hierarchical decoupling are executed.
9. A method for calibrating low-precision IMU devices on a robot according to claim 8, characterized in that, The method also includes: The drift priority score is calculated based on the cumulative drift of the inertial measurement unit (IMU), the rate of change of ambient temperature, and the duration of continuous vibration operation. When the drift priority score exceeds a preset threshold, the calibration trigger priority is automatically increased. When the robot is detected to be in a highly dynamic operating state, the calibration fitting calculation process is frozen, and only the historically stored compensation model is called for real-time correction.
10. A low-precision IMU device calibration system for robots, characterized in that, include: The stationary determination module is used to acquire the robot's inertial measurement unit (IMU) data and joint motor data, and perform multi-dimensional fusion determination based on the IMU data and joint motor data to determine whether the robot is in a valid stationary window. The temperature control module is used to control the robot's leg locking mechanism to fix the robot body in a horizontal static posture within the effective static window, drive the joint motor to operate at low load so that the temperature of the inertial measurement unit (IMU) module rises at a constant speed from the initial temperature to the preset maximum temperature, and control the joint motor to stop operating so that the inertial measurement unit (IMU) module can cool naturally to the lower limit of the ambient temperature. The model generation module is used to collect multiple sets of raw data from inertial measurement units (IMUs) and corresponding temperature values at preset temperature intervals during the temperature rise and temperature fall processes. It also uses a piecewise nonlinear fitting algorithm to generate the gyroscope zero bias temperature function and the accelerometer scaling factor temperature drift function to obtain a global dynamic temperature drift compensation model. The dynamic correction module is used to dynamically correct the gyroscope zero bias and accelerometer scaling factor based on the real-time acquired temperature of the inertial measurement unit (IMU) through the global dynamic temperature drift compensation model.