CN117848324A - Wearable MEMS inertial sensor calibration method and device - Google Patents

Wearable MEMS inertial sensor calibration method and device Download PDF

Info

Publication number
CN117848324A
CN117848324A CN202311861523.0A CN202311861523A CN117848324A CN 117848324 A CN117848324 A CN 117848324A CN 202311861523 A CN202311861523 A CN 202311861523A CN 117848324 A CN117848324 A CN 117848324A
Authority
CN
China
Prior art keywords
calibration value
course angle
gyroscope
accelerometer
motion state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311861523.0A
Other languages
Chinese (zh)
Inventor
于翔
刘昊哲
王帆
肖咸盛
乜恺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HEBEI MEITAI ELECTRONIC TECHNOLOGY CO LTD
Original Assignee
HEBEI MEITAI ELECTRONIC TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HEBEI MEITAI ELECTRONIC TECHNOLOGY CO LTD filed Critical HEBEI MEITAI ELECTRONIC TECHNOLOGY CO LTD
Priority to CN202311861523.0A priority Critical patent/CN117848324A/en
Publication of CN117848324A publication Critical patent/CN117848324A/en
Pending legal-status Critical Current

Links

Landscapes

  • Gyroscopes (AREA)

Abstract

The invention provides a wearable MEMS inertial sensor calibration method and device, and belongs to the technical field of MEMS sensors. According to the invention, the local search space containing different calibration value sets is established, so that the calibration value set with the highest precision in the previous motion state can be determined based on the difference of the heading angle of the magnetometer and the heading angle corresponding to the different calibration value sets in the static state, and the next motion state is calibrated by the calibration value with the highest precision. According to the invention, the calibration values of the gyroscope and the accelerometer in the motion process are dynamically determined, and real-time calibration is carried out before each motion state, so that the output precision of the wearable MEMS inertial sensor in the motion process is improved.

Description

Wearable MEMS inertial sensor calibration method and device
Technical Field
The invention relates to the technical field of MEMS sensors, in particular to a method and a device for calibrating a wearable MEMS inertial sensor.
Background
Micro-Electro-Mechanical System (MEMS for short) has the advantages of small volume, high performance and low power consumption. With the continuous development of technology, MEMS inertial sensors are increasingly and widely used in daily life, for example, wearable MEMS inertial sensors are used to measure the gesture, movement speed, distance, etc. of a user, and further inertial navigation, etc. can be implemented. The MEMS inertial sensor comprises a gyroscope, an accelerometer and a magnetometer, can measure the angular rate and the linear acceleration of the object in real time, and can further acquire the motion state information of the object through analysis of the angular rate and the linear acceleration.
In the prior art, a set of calibration values, such as zero offset and scale factors, may be measured prior to shipment of the MEMS inertial sensor to correct the measurement values based on the calibration values for subsequent use. In the wearable application scene, calibration values such as zero offset, scale factors and the like drift continuously under the condition of temperature change or the strain of flexible materials, so that the output precision of the MEMS inertial sensor is low.
Disclosure of Invention
The invention provides a calibration method and device of a wearable MEMS inertial sensor, which are used for solving the problems of low output precision caused by drift of a calibration value of the wearable MEMS inertial sensor in the motion process.
In a first aspect, the present invention provides a method of calibrating a wearable MEMS inertial sensor, the inertial sensor comprising a gyroscope, an accelerometer, and a magnetometer. The method comprises the following steps: in a stationary state, preceding the moving state, an initial set of calibration values for the gyroscope and the accelerometer are obtained. And in the motion state, acquiring measured values of the gyroscope and the accelerometer at each moment, and in a static state after the motion state, acquiring a first course angle measured by the magnetometer in the static state. Based on the initial calibration value and its neighboring values, a local search space is established. The local search space includes a plurality of sets of calibration values. And compensating and resolving the measured value for each calibration value set to obtain a second course angle in a static state after the motion state. And determining a target calibration value set according to each second course angle and the first course angle measured by the magnetometer in the static state, taking the target calibration value set as an initial calibration value set of the gyroscope and the accelerometer in the static state before the next motion state, and re-executing the step of acquiring the measured values of the gyroscope and the accelerometer at each moment in the next motion state.
In one possible implementation manner, the determining the target calibration value set according to each of the second heading angles and the first heading angle measured by the magnetometer in the static state includes: and respectively comparing each second course angle with the first course angle measured by the magnetometer in a static state, and determining the second course angle with the smallest difference with the first course angle from each second course angle. And taking the calibration value set corresponding to the second course angle with the smallest difference as the target calibration value set.
In one possible implementation, after determining the second heading angle that is the smallest difference from the first heading angle, the method further includes: and judging whether the difference between the first course angle and the second course angle with the smallest difference is larger than a preset threshold value. And when the difference between the first course angle and the second course angle with the smallest difference is larger than the preset threshold value, adjusting each adjacent value of the initial calibration value based on a genetic algorithm to obtain an updated local search space. And re-executing the steps of compensating and resolving the measured value to obtain a second course angle in a static state after the motion state aiming at each calibration value set in the updated local search space until the difference between the first course angle and the second course angle with the smallest difference is not larger than the preset threshold value.
In one possible implementation, after obtaining the measured values of the gyroscope and the accelerometer at each moment in time in the motion state, the method further includes: and in a motion state, compensating measured values of the gyroscopes and the accelerometers at all times based on the initial calibration value set to obtain compensated output values of the gyroscopes and the accelerometers at all times. And calculating based on the compensated output values of the gyroscope and the accelerometer at each moment to obtain real-time attitude angle, distance and speed information.
In one possible implementation manner, after the determining the second heading angle that is the smallest difference from the first heading angle, the method further includes: and compensating the measured values of the gyroscopes and the accelerometers at each moment in the previous motion state based on the calibration value set corresponding to the second heading angle with the minimum difference, and obtaining compensated output values of the gyroscopes and the accelerometers at each moment. And calculating based on the compensated output values of the gyroscope and the accelerometer at each moment to obtain the attitude angle and the position of the current static state.
In one possible implementation, the initial set of calibration values includes zero offset and scale factors for each axis of the gyroscope and accelerometer.
In a second aspect, the present invention provides a wearable MEMS inertial sensor calibration device, the inertial sensor comprising a gyroscope, an accelerometer, and a magnetometer. The device comprises:
the first acquisition module is used for acquiring an initial calibration value set of the gyroscope and the accelerometer in a static state before a motion state.
The second acquisition module is used for acquiring measured values of the gyroscope and the accelerometer at each moment in the motion state, and acquiring a first course angle measured by the magnetometer in a static state after the motion state.
The establishing module is used for establishing the local search space based on the initial calibration value and the adjacent value. The local search space includes a plurality of sets of calibration values.
And the compensation calculating module is used for compensating and calculating the measured value for each calibration value set to obtain a second course angle in a static state after the motion state.
The determining module is used for determining a target calibration value set according to each second course angle and the first course angle measured by the magnetometer in the static state, taking the target calibration value set as an initial calibration value set of the gyroscope and the accelerometer in the static state before the next motion state, and returning to the second obtaining module to re-execute the step of obtaining the measured values of the gyroscope and the accelerometer at each moment in the next motion state.
In a possible implementation manner, the determining module is specifically configured to compare each of the second heading angles with a first heading angle measured by the magnetometer in a static state, and determine, from each of the second heading angles, a second heading angle that has a smallest difference from the first heading angle. And taking the calibration value set corresponding to the second course angle with the smallest difference as the target calibration value set.
In a third aspect, the present invention provides an electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the method according to the first aspect or any one of the possible implementations of the first aspect when the computer program is executed.
In a fourth aspect, the present invention provides a computer readable storage medium storing a computer program which when executed by a processor implements the steps of the method of the first aspect or any one of the possible implementations of the first aspect.
The invention provides a wearable MEMS inertial sensor calibration method and device. According to the invention, the local search space containing different calibration value sets is established, so that the calibration value set with the highest precision in the previous motion state can be determined based on the difference of the heading angle of the magnetometer and the heading angle corresponding to the different calibration value sets in the static state, and the next motion state is calibrated by the calibration value with the highest precision. According to the invention, the calibration values of the gyroscope and the accelerometer in the motion process are dynamically determined, and real-time calibration is carried out before each motion state, so that the output precision of the wearable MEMS inertial sensor in the motion process is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the embodiments or the description of the prior art will be briefly introduced below, it being obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is an application scenario diagram of a wearable MEMS inertial sensor calibration method provided by an embodiment of the present invention;
FIG. 2 is a schematic diagram of a wearable MEMS inertial sensor provided by an embodiment of the present invention;
FIG. 3 is a flowchart of an implementation of a method for calibrating a wearable MEMS inertial sensor provided by an embodiment of the present invention;
FIG. 4 is a schematic structural diagram of a wearable MEMS inertial sensor calibration device provided by an embodiment of the present invention;
fig. 5 is a schematic diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as the particular system architecture, techniques, etc., in order to provide a thorough understanding of the embodiments of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the following description will be made by way of specific embodiments with reference to the accompanying drawings.
Fig. 1 is an application scenario diagram of a wearable MEMS inertial sensor calibration method according to an embodiment of the present invention. As shown in fig. 1, the user may use the wearable MEMS inertial sensor described above in daily life for recording the motion state. The user may also use the wearable MEMS inertial sensor for inertial navigation or the like in a dedicated scenario. The specific wearable application scenario is not limited.
Here, the characteristics of the user's exercise are described, and the person may continuously repeat the rest state and the exercise state during the exercise, and the duration of the rest state or the exercise state is not determined. For example, walk forward for several steps to stop, then turn left again for several steps, then turn back the original path.
Fig. 2 is a flowchart of an implementation of a method for calibrating a wearable MEMS inertial sensor according to an embodiment of the present invention. Referring to fig. 2, the wearable MEMS inertial sensor may include a gyroscope, an accelerometer, and a magnetometer.
Illustratively, the gyroscope, accelerometer, and magnetometer are a three-axis gyroscope, a three-axis accelerometer, and a three-axis magnetometer, respectively. The wearable MEMS inertial sensor has a total of nine axes.
Illustratively, the gyroscope, accelerometer and magnetometer are fabricated on the same silicon wafer.
Wearable MEMS inertial sensors are typically made in combination with flexible materials. The use of flexible materials herein results in external motion conditions that produce greater deformation in the flexible material and thus greater stress effects on the sensitive structure, i.e., the inertial sensor itself is susceptible to deformation in use. Meanwhile, the heat dissipation is not easy to be influenced by the temperature of a user in the wearing process. For example, the inertial sensors are subjected to different stresses and directions due to different states of motion corresponding to different gestures, accelerations and positions, thereby resulting in zero offset and drift of the scale factor.
In the prior art, after the inertial sensor is calibrated, a set of standard compensation parameters, namely calibration values, are obtained for detection. In the wearable application scene of this scheme, the flexible material that uses leads to zero to be off tracking, and the drift phenomenon of scale factor is more obvious, and then leads to MEMS inertial sensor output precision low.
The invention provides a calibration method of a wearable MEMS inertial sensor, which is used for carrying out real-time calibration before each motion state by dynamically determining calibration values of a gyroscope and an accelerometer in the motion process so as to solve the problems of low output precision caused by calibration value drift of the wearable MEMS inertial sensor in the motion process.
Fig. 3 is a flowchart for implementing a calibration method of a wearable MEMS inertial sensor according to an embodiment of the present invention, and referring to fig. 3, the inertial sensor includes a gyroscope, an accelerometer, and a magnetometer. The method comprises the following steps:
in step 201, an initial set of calibration values for the gyroscope and the accelerometer are obtained for a stationary state prior to a moving state.
Illustratively, when a user uses a wearable MEMS inertial sensor, the inertial sensor moves with the user. The motion state of the inertial sensor may represent the motion state of the user. For convenience of description, the following motion state is a motion state of the inertial sensor.
For example, before the motion state, the inertial sensor is in a stationary state, and may be in a stationary state after the inertial sensor is powered on. Further by way of example, the initial calibration value obtained may be a factory-determined calibration value of the inertial sensor, e.g., initial zero offset, initial scale factor.
The rest state preceding the motional state may also be, for example, a certain rest state during a rest-motional cycle. Further exemplary, the initial calibration value obtained may be a calibration value determined based on the data of the previous motion state, for example, the target calibration value set obtained in the subsequent step may be the initial calibration value set of the next motion state.
Illustratively, the initial set of calibration values includes a plurality of calibration values.
In one possible implementation, the initial set of calibration values includes zero offset and scale factors for each axis of the gyroscope and accelerometer.
For example, the initial set of calibration values may include an X-axis zero bias, a Y-axis zero bias, and a Z-axis zero bias for the gyroscope, and an X-axis zero bias, a Y-axis zero bias, and a Z-axis zero bias for the accelerometer.
As another example, the initial set of calibration values may also include X-axis, Y-axis, and Z-axis scale factors for the gyroscope, as well as X-axis, Y-axis, and Z-axis scale factors for the accelerometer.
For example, the initial position, the initial orientation and the initial velocity may also be acquired before the movement state, so that real-time movement state information is obtained by calculation based on measurement values at various moments in the movement state.
In step 202, in a motion state, measured values of the gyroscope and the accelerometer at each moment are obtained, and in a stationary state after the motion state, a first heading angle measured by the magnetometer in the stationary state is obtained.
It should be noted that, in both the stationary state and the moving state, the gyroscope and the accelerometer can perform real-time measurement at each moment and continuously output measurement signals.
In some embodiments, measurements of gyroscopes and accelerometers may be taken at various moments in motion. Further, the real-time motion state can be obtained by resolving according to the real-time measured value.
Further in some embodiments, it may be monitored whether the inertial sensor is in a stationary state based on measurements of the gyroscope and accelerometer at various moments in the motion state.
In yet another embodiment, the measurements of the gyroscope and accelerometer at each moment in the motion state may also be obtained in a stationary state after the motion state. Further, the subsequent steps are performed in a stationary state based on the measured value of the moving state.
In some embodiments, a first heading angle measured by a magnetometer in a stationary state is obtained.
When the inertial sensor is in a static state, the magnetometer can obtain the current course angle of the inertial sensor based on the triaxial magnetic force components.
In step 203, a local search space is established based on the initial calibration values and their neighbors. The local search space includes a plurality of sets of calibration values.
Included within the set of initial calibration values are a plurality of initial calibration values. Accordingly, in some embodiments, a local search space is established based on each initial calibration value and its neighbors.
The local search is a search within a neighborhood of the current point to determine an optimal solution. In a genetic algorithm, the local search space may be a population of individuals. For example, for each initial calibration value, a value is determined among the initial calibration values or some neighboring value thereof, and the individual is composed, i.e., a set of calibration values. A plurality of individuals form a population, and the population is the local search space. Thus, a local search space may include multiple sets of calibration values.
In some embodiments, for each initial calibration value in the set of initial calibration values, a value is randomly selected from the initial calibration value and its neighbors to form a set of calibration values.
For example, the adjacent values of the initial calibration values may be determined based on preset rules. For example, a portion may be increased as an upper limit of the value based on the initial calibration value and a portion may be decreased as a lower limit of the value, that is, the search range may be valued between the upper and lower limits and search optimization may be performed.
As another example, the neighboring values may be 98%, 99%, 101% and 102% of the initial calibration value.
In step 204, for each set of calibration values, the measurement values are compensated and decoded to obtain a second heading angle in a stationary state after the motion state.
The measured values are measured values of the gyroscope and the accelerometer at respective moments acquired in the motion state. And compensating the measured value at each moment by adopting one calibration value set to obtain a compensated measured value. And then, based on the measurement values compensated at all the moments, calculating to obtain a second course angle in a static state when the motion moment is over. And sequentially selecting calibration value sets, so that a plurality of second course angles can be obtained, wherein each calibration value set corresponds to one second course angle.
In step 205, a set of target calibration values is determined according to each second heading angle and the first heading angle measured by the magnetometer in the stationary state, and the set of target calibration values is taken as the initial calibration value set of the gyroscope and the accelerometer in the stationary state before the next motion state, and in the next motion state, the step of obtaining the measured values of the gyroscope and the accelerometer at each moment is re-executed.
In one possible implementation, determining the set of target calibration values based on the second heading angles and the first heading angle measured by the magnetometer in a stationary state includes: and obtaining the difference between each second course angle and the first course angle according to each second course angle and the first course angle measured by the magnetometer in the static state. And determining a calibration value set corresponding to the second course angle with the difference smaller than the threshold value as a target calibration value set.
For example, if the second heading angle with the difference smaller than the threshold value is multiple, the calibration value set corresponding to any one of the second heading angles may be determined as the target calibration value set.
In one possible implementation, determining the set of target calibration values based on each second heading angle and the first heading angle measured by the magnetometer in a stationary state includes: and respectively comparing each second course angle with the first course angle measured by the magnetometer in the static state, and determining the second course angle with the smallest difference with the first course angle from each second course angle. And taking the calibration value set corresponding to the second course angle with the smallest difference as a target calibration value set.
In some embodiments, steps 201 through 205 are performed after the set of target calibrations is determined, with the set of target calibrations as the initial set of calibrations. That is, the target calibration value set is taken as the initial calibration value set of the gyroscope and the accelerometer in the static state before the next motion state, and the step of acquiring the measured values of the gyroscope and the accelerometer at each moment is re-executed in the next motion state.
According to the embodiment of the invention, the local search space comprising different calibration value sets is established, so that the calibration value set with the highest precision in the previous motion state can be determined based on the difference of the heading angle of the magnetometer and the heading angle corresponding to the different calibration value sets in the static state, and the next motion state is calibrated by the calibration value with the highest precision. According to the invention, the calibration values of the gyroscope and the accelerometer in the motion process are dynamically determined, and real-time calibration is carried out before each motion state, so that the output precision of the wearable MEMS inertial sensor in the motion process is improved.
According to the embodiment of the invention, screening and calibrating operations are carried out through magnetometers in a static state among different actions, so that the optimal zero offset and scale factor applicable to the previous action are obtained, and the overall accuracy of the sensor is continuously improved.
In one possible implementation, after step 205, the method further includes: an average ambient temperature in the motion state is obtained. And determining the corresponding relation between the ambient temperature and the target calibration value set based on the average ambient temperature and the target calibration value set.
Accordingly, after step 203, a set of target calibration values corresponding to the current ambient temperature is determined based on the correspondence between the ambient temperature and the set of target calibration values, and the set of target calibration values is incorporated into the local search space.
According to the embodiment of the invention, the calibration value set with larger temperature correlation in the history record is used as one of the calibration value sets of the local search space, the calibration value set with the best history matching degree is preferentially adopted in consideration of the temperature influence factors, the local search time is reduced, and the efficiency of dynamically determining the target calibration value set in the step 205 is improved.
In one possible implementation, after determining the second heading angle that is the smallest difference from the first heading angle, the method further includes:
in step 301, it is determined whether a difference between the first heading angle and the second heading angle, which is the smallest difference, is greater than a preset threshold.
In step 302, when the difference between the first heading angle and the second heading angle with the smallest difference is greater than a preset threshold, each adjacent value of the initial calibration value is adjusted based on a genetic algorithm, so as to obtain an updated local search space.
Illustratively, based on a genetic algorithm, each adjacent value of the initial calibration value is reselected, crossed and mutated to obtain an updated local search space.
In step 303, for each calibration value set in the updated local search space, the step of compensating and resolving the measurement value to obtain a second heading angle in a stationary state after the motion state is performed again until the difference between the first heading angle and the second heading angle with the smallest difference is not greater than a preset threshold value.
Illustratively, the objective function of the genetic algorithm is the error between the second heading angle calculated by the gyroscope and the accelerometer and the first heading angle calculated by the magnetometer:
f(ψ)=min(ψ gam )
wherein: psi phi type ga -the angular value calculated by the gyroscope and the accelerometer. Psi phi type m -magnetically calculating the calculated heading angle value.
In the solving process, the smaller the value of f (psi) is, the better the solving effect is, and the higher the precision is. Thus, the smaller f (ψ) should have a higher probability retention and be the parent when screening is performed. The fitness function may be defined as follows:
in some embodiments, the wearable MEMS inertial sensor further comprises a bluetooth unit. The bluetooth unit is for communication connection with the receiver. The method further comprises the following steps before the step 301: the relative position of the bluetooth unit and the receiver is obtained. And determining the positioning precision based on the relative positions. Accordingly, in step 301, it may also be determined whether the current positioning accuracy meets the preset requirement.
In one possible implementation, after obtaining the measured values of the gyroscope and the accelerometer at each moment in time in the motion state, the method further includes:
in step 401, in a motion state, measured values of the gyroscopes and the accelerometers at each moment are compensated based on an initial calibration value set, so as to obtain compensated output values of the gyroscopes and the accelerometers at each moment.
In step 402, the output values compensated by the gyroscope and the accelerometer at each moment are calculated to obtain real-time attitude angle, distance and speed information.
In the motion state, the real-time motion state information may be obtained at each time based on the measured value before the current time.
In one possible implementation, after determining the second heading angle that is the smallest difference from the first heading angle, the method further includes:
in step 501, based on the calibration value set corresponding to the second heading angle with the smallest difference, the measured values of the gyroscope and the accelerometer at each moment in the previous motion state are compensated, and the compensated output values of the gyroscope and the accelerometer at each moment are obtained.
In step 502, the attitude angle and the position of the current stationary state are obtained by calculating based on the compensated output values of the gyroscope and the accelerometer at each moment.
According to the embodiment of the invention, the attitude angle and the position of the previous motion state are calculated again based on the dynamically determined calibration value set, so that the accuracy of the determined motion state information is improved.
It should be understood that the sequence number of each step in the foregoing embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiment of the present invention.
The following are device embodiments of the invention, for details not described in detail therein, reference may be made to the corresponding method embodiments described above.
Fig. 4 is a schematic structural diagram of a wearable MEMS inertial sensor calibration device according to an embodiment of the present invention, and for convenience of explanation, only a portion related to the embodiment of the present invention is shown, which is described in detail below:
referring to fig. 4, the inertial sensor includes a gyroscope, an accelerometer, and a magnetometer. The wearable MEMS inertial sensor calibration device 4 includes:
a first acquisition module 41 for acquiring an initial set of calibration values of the gyroscope and the accelerometer in a stationary state before a moving state.
The second obtaining module 42 is configured to obtain, in a motion state, measurement values of the gyroscope and the accelerometer at each moment, and in a stationary state after the motion state, obtain a first heading angle measured by the magnetometer in the stationary state.
The establishing module 43 is configured to establish the local search space based on the initial calibration value and the neighboring value. The local search space includes a plurality of sets of calibration values.
The compensation calculating module 44 is configured to compensate and calculate the measured value for each calibration value set, so as to obtain a second heading angle in a stationary state after the motion state.
The determining module 45 is configured to determine a set of target calibration values according to each second heading angle and the first heading angle measured by the magnetometer in the stationary state, and take the set of target calibration values as an initial calibration value set of the gyroscope and the accelerometer in the stationary state before the next motion state, and return to the second obtaining module 42 to re-perform the step of obtaining the measured values of the gyroscope and the accelerometer at each moment in the next motion state.
According to the embodiment of the invention, the calibration values of the gyroscope and the accelerometer in the motion process are dynamically determined, and the real-time calibration is carried out before each motion state, so that the output precision of the wearable MEMS inertial sensor in the motion process is improved.
In one possible implementation manner, the determining module is specifically configured to compare each second heading angle with the first heading angle measured by the magnetometer in the static state, and determine, from each second heading angle, the second heading angle that has the smallest difference from the first heading angle. And taking the calibration value set corresponding to the second course angle with the smallest difference as a target calibration value set.
In one possible implementation manner, after the determining module, the adjusting module further includes: the adjusting module is used for judging whether the difference between the first course angle and the second course angle with the smallest difference is larger than a preset threshold value. And when the difference between the first course angle and the second course angle with the smallest difference is larger than a preset threshold value, adjusting each adjacent value of the initial calibration value based on a genetic algorithm to obtain an updated local search space. And re-executing the steps of compensating and resolving the measured value to obtain a second course angle in a static state after the motion state aiming at each calibration value set in the updated local search space until the difference between the first course angle and the second course angle with the smallest difference is not larger than a preset threshold value.
In one possible implementation manner, after the second acquisition module, the method further includes: and the real-time resolving module is used for compensating the measured values of the gyroscopes and the accelerometers at all times based on the initial calibration value set in the motion state to obtain compensated output values of the gyroscopes and the accelerometers at all times. And calculating based on the compensated output values of the gyroscope and the accelerometer at each moment to obtain real-time attitude angle, distance and speed information.
In one possible implementation, after determining the second heading angle that is the smallest difference from the first heading angle, the method further includes: and compensating the measured values of the gyroscopes and the accelerometers at each moment in the previous motion state based on the calibration value set corresponding to the second course angle with the smallest difference, and obtaining the compensated output values of the gyroscopes and the accelerometers at each moment. And calculating based on the compensated output values of the gyroscope and the accelerometer at each moment to obtain the attitude angle and the position of the current static state.
In one possible implementation, the initial set of calibration values includes zero offset and scale factors for each axis of the gyroscope and accelerometer.
Fig. 5 is a schematic diagram of an electronic device according to an embodiment of the present invention. As shown in fig. 5, the electronic apparatus 5 of this embodiment includes: a processor 50, a memory 51 and a computer program 52 stored in said memory 51 and executable on said processor 50. The processor 50, when executing the computer program 52, implements the steps of the various wearable MEMS inertial sensor calibration method embodiments described above, such as steps 201-205 shown in fig. 3. Alternatively, the processor 50, when executing the computer program 52, performs the functions of the modules/units of the apparatus embodiments described above, such as the functions of the modules 41 to 45 shown in fig. 4.
By way of example, the computer program 52 may be partitioned into one or more modules/units that are stored in the memory 51 and executed by the processor 50 to complete the present invention. The one or more modules/units may be a series of computer program instruction segments capable of performing the specified functions, which instruction segments are used to describe the execution of the computer program 52 in the electronic device 5. For example, the computer program 52 may be split into modules 41 to 45 shown in fig. 4.
The electronic device 5 may be a computing device such as a desktop computer, a notebook computer, a palm computer, a cloud server, etc. The electronic device 5 may include, but is not limited to, a processor 50, a memory 51. It will be appreciated by those skilled in the art that fig. 5 is merely an example of the electronic device 5 and is not meant to be limiting as the electronic device 5 may include more or fewer components than shown, or may combine certain components, or different components, e.g., the electronic device may further include an input-output device, a network access device, a bus, etc.
The processor 50 may be a central processing unit (Central Processing Unit, CPU), other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field-programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 51 may be an internal storage unit of the electronic device 5, such as a hard disk or a memory of the electronic device 5. The memory 51 may be an external storage device of the electronic device 5, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) or the like, which are provided on the electronic device 5. Further, the memory 51 may also include both an internal storage unit and an external storage device of the electronic device 5. The memory 51 is used for storing the computer program and other programs and data required by the electronic device. The memory 51 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus/electronic device and method may be implemented in other manners. For example, the apparatus/electronic device embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules/units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present invention may also be implemented by implementing all or part of the procedures in the method of the above embodiments, or by instructing the relevant hardware by a computer program, where the computer program may be stored in a computer readable storage medium, and the computer program may be executed by a processor, where the steps of each of the method embodiments of the wearable MEMS inertial sensor calibration method described above are implemented. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth.
The above embodiments are only for illustrating the technical solution of the present invention, and not for limiting the same; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention, and are intended to be included in the scope of the present invention.

Claims (10)

1. A method of calibrating a wearable MEMS inertial sensor, the inertial sensor comprising a gyroscope, an accelerometer, and a magnetometer; the method comprises the following steps:
acquiring an initial calibration value set of a gyroscope and an accelerometer in a static state before a motion state;
in the motion state, acquiring measured values of a gyroscope and an accelerometer at each moment, and in a static state after the motion state, acquiring a first course angle measured by a magnetometer in the static state;
establishing a local search space based on the initial calibration value and the adjacent value thereof; the local search space includes a plurality of sets of calibration values;
compensating and resolving the measured value for each calibration value set to obtain a second course angle in a static state after the motion state;
and determining a target calibration value set according to each second course angle and the first course angle measured by the magnetometer in the static state, taking the target calibration value set as an initial calibration value set of the gyroscope and the accelerometer in the static state before the next motion state, and re-executing the step of acquiring the measured values of the gyroscope and the accelerometer at each moment in the next motion state.
2. The method of calibrating a wearable MEMS inertial sensor of claim 1, wherein determining the set of target calibration values based on each of the second heading angles and the first heading angle measured by the magnetometer in a stationary state comprises:
comparing each second course angle with the first course angle measured by the magnetometer in a static state, and determining a second course angle with the smallest difference with the first course angle from each second course angle;
and taking the calibration value set corresponding to the second course angle with the smallest difference as the target calibration value set.
3. The method of calibrating a wearable MEMS inertial sensor of claim 2, further comprising, after determining the second heading angle that is least different from the first heading angle:
judging whether the difference between the first course angle and the second course angle with the smallest difference is larger than a preset threshold value or not;
when the difference between the first course angle and the second course angle with the smallest difference is larger than the preset threshold value, adjusting each adjacent value of the initial calibration value based on a genetic algorithm to obtain an updated local search space;
and re-executing the steps of compensating and resolving the measured value to obtain a second course angle in a static state after the motion state aiming at each calibration value set in the updated local search space until the difference between the first course angle and the second course angle with the smallest difference is not larger than the preset threshold value.
4. A method of calibrating a wearable MEMS inertial sensor according to any of claims 1 to 3, further comprising, after the motion state, obtaining measurements of the gyroscopes and accelerometers at each moment:
in a motion state, compensating measured values of the gyroscopes and the accelerometers at all times based on an initial calibration value set to obtain compensated output values of the gyroscopes and the accelerometers at all times;
and calculating based on the compensated output values of the gyroscope and the accelerometer at each moment to obtain real-time attitude angle, distance and speed information.
5. A method of calibrating a wearable MEMS inertial sensor according to claim 2 or 3, further comprising, after the determining the second heading angle that is least different from the first heading angle:
compensating measured values of the gyroscopes and the accelerometers at each moment in the previous motion state based on a calibration value set corresponding to the second course angle with the smallest difference, and obtaining compensated output values of the gyroscopes and the accelerometers at each moment;
and calculating based on the compensated output values of the gyroscope and the accelerometer at each moment to obtain the attitude angle and the position of the current static state.
6. The method of calibrating a wearable MEMS inertial sensor of claim 1, wherein the initial set of calibration values includes zero bias and scale factors for each axis of a gyroscope and an accelerometer.
7. A wearable MEMS inertial sensor calibration device, wherein the inertial sensor comprises a gyroscope, an accelerometer, and a magnetometer; the device comprises:
the first acquisition module is used for acquiring an initial calibration value set of the gyroscope and the accelerometer in a static state before a motion state;
the second acquisition module is used for acquiring measured values of the gyroscope and the accelerometer at each moment in the motion state, and acquiring a first course angle measured by the magnetometer in a static state after the motion state;
the establishing module is used for establishing a local search space based on the initial calibration value and the adjacent value thereof; the local search space includes a plurality of sets of calibration values;
the compensation resolving module is used for compensating and resolving the measured value for each calibration value set to obtain a second course angle in a static state after the motion state;
the determining module is used for determining a target calibration value set according to each second course angle and the first course angle measured by the magnetometer in the static state, taking the target calibration value set as an initial calibration value set of the gyroscope and the accelerometer in the static state before the next motion state, and returning to the second obtaining module to re-execute the step of obtaining the measured values of the gyroscope and the accelerometer at each moment in the next motion state.
8. The wearable MEMS inertial sensor calibration device of claim 7, wherein the determining module is specifically configured to compare each of the second heading angles with a first heading angle measured by the magnetometer in a stationary state, and determine a second heading angle from each of the second heading angles that has a smallest difference from the first heading angle;
and taking the calibration value set corresponding to the second course angle with the smallest difference as the target calibration value set.
9. An electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the wearable MEMS inertial sensor calibration method according to any of the preceding claims 1 to 6 when the computer program is executed.
10. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the wearable MEMS inertial sensor calibration method according to any of the preceding claims 1 to 6.
CN202311861523.0A 2023-12-29 2023-12-29 Wearable MEMS inertial sensor calibration method and device Pending CN117848324A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311861523.0A CN117848324A (en) 2023-12-29 2023-12-29 Wearable MEMS inertial sensor calibration method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311861523.0A CN117848324A (en) 2023-12-29 2023-12-29 Wearable MEMS inertial sensor calibration method and device

Publications (1)

Publication Number Publication Date
CN117848324A true CN117848324A (en) 2024-04-09

Family

ID=90543393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311861523.0A Pending CN117848324A (en) 2023-12-29 2023-12-29 Wearable MEMS inertial sensor calibration method and device

Country Status (1)

Country Link
CN (1) CN117848324A (en)

Similar Documents

Publication Publication Date Title
CN112577521B (en) Combined navigation error calibration method and electronic equipment
US9599634B2 (en) System and method for calibrating inertial measurement units
CN107636420B (en) Techniques for pedestrian dead reckoning
RU2597524C2 (en) Method and apparatus for classifying number of conditions of device
EP2807452A1 (en) In-use automatic calibration methodology for sensors in mobile devices
CN106289249A (en) For synthesizing the system and method that sensor signal generates
CN110954134B (en) Gyro offset correction method, correction system, electronic device, and storage medium
US10386203B1 (en) Systems and methods for gyroscope calibration
CN110109551B (en) Gesture recognition method, device, equipment and storage medium
US10309983B2 (en) Systems and methods for motion detection
CN109696178A (en) Offset correction device, offset correction program, pedestrian's dead-reckoning analyzer and recording medium
WO2022205623A1 (en) Zero-bias compensation method for inertial measurement sensor
CN110231592A (en) Indoor orientation method, device, computer readable storage medium and terminal device
US10670405B2 (en) Inertial measurement unit management with reduced rotational drift
US20150032409A1 (en) Method and apparatus for calculating azimuth
CN117848324A (en) Wearable MEMS inertial sensor calibration method and device
CN111382701A (en) Motion capture method, motion capture device, electronic equipment and computer-readable storage medium
KR101870542B1 (en) Method and apparatus of recognizing a motion
CN114019182B (en) Zero-speed state detection method and device and electronic equipment
US20170192521A1 (en) Context aware movement recognition system
CN115727871A (en) Track quality detection method and device, electronic equipment and storage medium
JP6147446B1 (en) Inertial sensor initialization using soft constraints and penalty functions
Mi et al. Low-cost MEMS gyroscope performance improvement under unknown disturbances through deep learning-based array
JP7120361B2 (en) Correction device, attitude calculation device, correction method, and program
CN117570999B (en) Attitude fusion method, system and computer readable medium for multiple star sensors

Legal Events

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