EP3218674A1 - Extended kalman filter based autonomous magnetometer calibration - Google Patents

Extended kalman filter based autonomous magnetometer calibration

Info

Publication number
EP3218674A1
EP3218674A1 EP14906042.8A EP14906042A EP3218674A1 EP 3218674 A1 EP3218674 A1 EP 3218674A1 EP 14906042 A EP14906042 A EP 14906042A EP 3218674 A1 EP3218674 A1 EP 3218674A1
Authority
EP
European Patent Office
Prior art keywords
magnetometer
gyroscope
sensor data
calibration
calibrated
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.)
Granted
Application number
EP14906042.8A
Other languages
German (de)
French (fr)
Other versions
EP3218674A4 (en
EP3218674B1 (en
Inventor
Ke HAN
He HAN
Zhifeng Wang
Feng Xu
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of EP3218674A1 publication Critical patent/EP3218674A1/en
Publication of EP3218674A4 publication Critical patent/EP3218674A4/en
Application granted granted Critical
Publication of EP3218674B1 publication Critical patent/EP3218674B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/38Testing, calibrating, or compensating of compasses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/56Turn-sensitive devices using vibrating masses, e.g. vibratory angular rate sensors based on Coriolis forces
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/0023Electronic aspects, e.g. circuits for stimulation, evaluation, control; Treating the measured signals; calibration
    • G01R33/0035Calibration of single magnetic sensors, e.g. integrated calibration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/02Measuring direction or magnitude of magnetic fields or magnetic flux
    • G01R33/022Measuring gradient
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/02Measuring direction or magnitude of magnetic fields or magnetic flux
    • G01R33/028Electrodynamic magnetometers

Definitions

  • Embodiments generally relate to magnetometer calibration. More particularly, embodiments relate to extended Kalman filter (EKF) based autonomous magnetometer calibration.
  • EKF extended Kalman filter
  • Magnetometers may generally be used to measure the strength and direction of the magnetic fields.
  • miniaturized magnetometers may be used as compasses in handheld devices such as smart phones and tablet computers.
  • the sensitivity of miniaturized magnetometers to other magnetic objects may have a negative impact on accuracy.
  • magnetized ferromagnetic components mounted on nearby printed circuit boards (PCBs) may produce a “hard-iron effect” on a magnetometer in a handheld device.
  • a “soft-iron effect” may result from the Earth’s magnetic field inducing an interfering magnetic field onto normally un-magnetized ferromagnetic components of nearby PCBs. Both the hard-iron effect and the soft-iron effect may cause the measurements of the magnetometer to form an ellipsoid in three dimensional (3D) space rather than a sphere.
  • FIG. 1 is an illustration of an example of a magnetometer calibration environment according to an embodiment
  • FIGs. 2 and 3 are flowcharts of examples of methods of operating a calibration apparatus according to embodiments
  • FIG. 4 is a block diagram of an example of a system according to an embodiment.
  • FIG. 5 is an illustration of an example of a calibration result according to an embodiment.
  • a magnetometer 10 e.g., implemented in a microelectrical mechanical system/MEMS chip
  • the magnetometer 10 is mounted to a printed circuit board (PCB) 12, which also includes one or more hard-iron effect components 14 (e.g., speaker magnets) and one or more soft-iron effect components 16 (e.g., electromagnetic interference/EMI shields, screws, battery contacts) .
  • the hard-iron effect components 14 may be magnetized ferromagnetic components that impact the measurement accuracy of the magnetometer 10.
  • the soft-iron effect components 16 may be normally un-magnetized ferromagnetic components that also impact the measurement accuracy of the magnetometer 10 due to an interfering magnetic field that is induced on the soft-iron effect components 16 by a geomagnetic field 18.
  • the illustrated magnetometer 10 is coupled to a calibration apparatus 20 that uses sensor data from the magnetometer 10, sensor data from a gyroscope 22 and an extended Kalman filter (EKF) to calibrate the magnetometer 10.
  • EKF extended Kalman filter
  • the calibration apparatus 20 may provide a unique technical application of two observations: 1) In the same location, the magnitude of the environmental magnetic field is constant, regardless of the device’s orientation; and 2) The change of a calibrated magnetometer measurement aligns with the change of the device orientation, which may be measured via a gyroscope. More particularly, both the hard-iron effect and the soft-iron effect may be determined and/or quantified in real time based on the two observations.
  • the illustrated approach enables effective calibration for small and unevenly distributed measurement data sets without inconvenient or complex gestures being required from the user.
  • the illustrated solution may enable automatic triggering of calibration operations that run in the background (e.g., are transparent to the user) .
  • FIG. 2 shows a method 24 of operating a calibration apparatus.
  • the method 24 may generally be implemented in a calibration apparatus such as the calibration apparatus 20 (FIG. 1) , already discussed. More particularly, the method 24 may be implemented as one or more modules in a set of logic instructions stored in a machine-or computer-readable storage medium such as random access memory (RAM) , read only memory (ROM) , programmable ROM (PROM) , firmware, flash memory, etc., in configurable logic such as, for example, programmable logic arrays (PLAs) , field programmable gate arrays (FPGAs) , complex programmable logic devices (CPLDs) , in fixed-functionality hardware logic using circuit technology such as, for example, application specific integrated circuit (ASIC) , complementary metal oxide semiconductor (CMOS) or transistor-transistor logic (TTL) technology, or any combination thereof.
  • ASIC application specific integrated circuit
  • CMOS complementary metal oxide semiconductor
  • TTL transistor-transistor logic
  • Illustrated processing block 26 provides for obtaining first sensor data associated with a gyroscope, wherein second sensor data associated with a magnetometer may be obtained at block 28.
  • Block 30 may use the first sensor data, the second sensor data and an EKF to calibrate the magnetometer.
  • block 30 may include determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the EKF. More particularly, block 30 may use a magnetometer measurement model that is written as,
  • B p is the magnetometer sensor measurement
  • A is the rotation matrix of the device from the Earth coordinate to a body coordinate
  • B is the magnetic field in the Earth coordinate. By definition, it may be [0, by, bz], wherein by and bz may be calculated from a test location in accordance with the Earth’s magnetic field model;
  • b sensor is the measurement bias of the magnetometer (it may be a constant value) ;
  • is the measurement error of the magnetometer (it may be modeled by white noise) .
  • magnetometers may be impacted by the hard-iron and soft-iron effect. Considering these interferences, the measurement model may be re-written as,
  • W is a three-by-three symmetric matrix that includes the non-orthogonal error matrix W nonOrth , the gain error matrix W gain , and the soft-iron effect matrix W soft ;
  • b is the three-by-one hard-iron matrix that includes a bias b sensor from the sensor, and the hard-iron effect b PCB from the printed circuit board.
  • the above-equation may be a general expression defining the locus of the vector B p lying on the surface of an ellipsoid with a center at b. Therefore, ellipsoid fitting algorithms can be applied to obtain the calibration parameters W and b.
  • a k and A k+1 are the rotation matrix A at times k and k+1;
  • B cal, k and B cal, k+1 are calibrated magnetometer measurements at time k and k+1;
  • ⁇ x , ⁇ y , ⁇ z are a three-axis calibrated gyroscope measurement
  • dt is the time interval between time k and k+1.
  • EKF Extended Kalman Filter
  • a Kalman filter state may be defined as,
  • W 11 –W 23 are elements of the soft-iron matrix W.
  • the state transition model may therefore be written as,
  • ⁇ x, k , ⁇ x, k , ⁇ x, k are calibrated gyroscope values at time k;
  • ⁇ ⁇ is the measurement noise of the calibrated gyroscope.
  • the observation model may therefore be written as,
  • B p, k+1 is the un-calibrated magnetometer measurement at time k+1.
  • EKF equations may be applied to determine the calibrated magnetometer measurement, the soft-iron matrix and the hard-iron vector.
  • all calibrated magnetometer measurements may be located on a sphere surface. Accordingly, the standard deviation of the magnitude of magnetometer measurements may be used to conduct a calibration quality analysis,
  • the quality index may be transferred to an angular measurement error by,
  • FIG. 5 shows a calibration result 27 from a daily usage scenario.
  • a calibration data set 29 is collected during typical pick-up and put-down motions with respect to a device (e.g., over a relatively short timeframe such as, for example, 5s) and the calibration data set 29 is used to determine calibration parameters for the magnetometer.
  • the remaining points in the illustrated view represent a test data set captured during a Figure 8 motion (e.g., over a longer timeframe such as, for example, 30s) .
  • the test data set aligns well with a calibrated sphere 31 even though the motions of the calibration data set 29 involve minimal rotational movement and cover only a small area in the calibration space.
  • the method 32 may generally be implemented in a calibration apparatus such as, for example, the calibration apparatus 20 (FIG. 1) , already discussed. More particularly, the method 32 may be implemented as one or more modules in a set of logic instructions stored in a machine-or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality hardware logic using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.
  • a machine-or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc.
  • configurable logic such as, for example, PLAs, FPGAs, CPLDs
  • circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.
  • Illustrated processing block 34 determines whether a calibration has been started manually (e.g., in response to a user request) . If not, a calibrated magnetometer sensor data stream may be read at block 36, wherein the quality index of the calibrated magnetometer sensor may be computed at block 38. Block 38 might involve the use of an expression such as, for example, Equation (14) , already discussed. A determination may be made at block 40 as to whether the measurement quality of the magnetometer is poor (e.g., has fallen below a particular threshold) . If not, the reading of the magnetometer sensor data stream may be repeated at block 36.
  • illustrated block 42 activates a gyroscope and increases the sampling rate of the magnetometer.
  • maintaining the gyroscope in a powered off state when the magnetometer is not being calibrated may conserve power and/or extend battery life.
  • the magnetometer may be operated at a relatively low sampling rate (e.g., 1Hz) during normal operation or when determining whether to automatically trigger a calibration, and operated a higher sampling rate (e.g., 100Hz) during calibration. Such an approach may further conserve power and/or extend battery life while ensuring optimal accuracy.
  • An extended Kalman filter may be initialized at block 44, wherein illustrated block 46 reads the calibrated magnetometer sensor data stream.
  • a determination may be made at block 48 as to whether the device (e.g., the handheld device and/or system containing the magnetometer and gyroscope) has started rotational movement. If not, block 48 may be repeated.
  • block 50 may read the un-calibrated magnetometer sensor data stream (e.g., sensor data without calibration parameters being applied to the magnetometer) at time k.
  • illustrated block 52 provides for reading the gyroscope sensor data stream at time k.
  • the gyroscope sensor data stream may be either calibrated or un-calibrated.
  • An EKF prediction may be conducted at block 54, wherein the EKF may be updated/corrected at block 56.
  • block 56 might also include calibrating an offset of the gyroscope.
  • An un-calibrated gyroscope may have a linear state transition model that enables it to be automatically calibrated along with the magnetometer. Such an approach may yield even better performance. More particularly, a state vector may be selected as,
  • b ⁇ is the offset vector of the gyroscope measurement.
  • the state transition module may be written as,
  • b xw, k , b yw, k , b zw, k are elements of b ⁇ at time k;
  • ⁇ b is the offset instability noise of b ⁇ .
  • the observation model may be the same as Equation (13) .
  • the EKF may be applied to the gyroscope calibration process.
  • Block 58 may compute a quality index with the calibration data/parameters obtained from blocks 54 and 56.
  • Block 58 may therefore involve the use of an expression such as, for example, Equation (14) , already discussed.
  • Illustrated block 60 determines whether the quality of the new calibration parameters is sufficiently good or a timeout has occurred. If not, block 50 may be repeated. If either the quality of the new calibration parameters is sufficiently good or a timeout has occurred, a determination may be made at block 62 as to whether the calibration is to stop. If not, block 64 may output the calibrated magnetometer measurement from the EKF (e.g., having relatively low measurement noise) and return to block 50. If the calibration is to be stopped, illustrated block 66 reads the calibrated magnetometer sensor data stream (e.g., with the old calibration parameters) and illustrated block 68 computes the quality index of the calibrated magnetometer. Additionally, the un-calibrated magnetometer sensor data stream may be read at block 70, wherein illustrated block 72 provides for applying the new calibration parameters and calculating the quality index.
  • EKF e.g., having relatively low measurement noise
  • block 76 may update and store the newly calculated calibration parameters. Additionally, illustrated block 78 deactivates the gyroscope and reduces the sampling rate of the magnetometer. If it is determined at block 74 that better quality does not result from the new calibration parameters, block 74 may repeat initialization of the EKF at block 44.
  • FIG. 4 shows a geomagnetic field measurement system 80.
  • the illustrated system 80 may be part of a mobile device such as, for example, a notebook computer, tablet computer, convertible tablet, smart phone, personal digital assistant (PDA) , mobile Internet device (MID) , wearable computer, media player, etc., or any combination thereof.
  • the system 80 may include a magnetometer 82, a gyroscope 84, a host processor 86 (e.g., central processing unit/CPU) and an integrated sensor apparatus 88.
  • the system 80 may also include one or more circuit boards having one or more hard-iron effect components such as, for example, the hard-iron effect components 14 (FIG. 1) , and/or one or more soft-iron effect components such as, for example, the soft-iron effect components 16 (FIG. 1) .
  • the illustrated integrated sensor apparatus 88 which may generally operate continuously under relatively low power, includes a gyroscope monitor 90 to obtain first sensor data associated with the gyroscope 84 and a magnetometer monitor 92 to obtain second sensor data associated with the magnetometer 82.
  • the gyroscope 84 may either maintain a uniform sampling rate or use high precision timestamps in order to ensure calibration accuracy.
  • the illustrated magnetometer 82 stores the second sensor data to a data buffer 93.
  • a calibrator 94 (94a-94c) may use the first sensor data, the second sensor data and an EKF to calibrate the magnetometer 82.
  • the illustrated calibrator 94 uses an EKF calibration component 94a to perform core calibration computations, a measurement quality assessor 94b to determine whether calibrated magnetometer measurements are sufficiently good/accurate, and an EKF controller 94c.
  • the illustrated calibration component 94a stores the results of the core calibrations to the data buffer 93 as well as to magnetometer storage 96.
  • the EKF controller 94c may enable/activate the EKF calibration component 94a if the magnetometer measurement quality is poor, disable/deactivate the EKF calibration component 94a if the calibration result is acceptable or a calibration timeout has occurred, and restart the EKF calibration component 94a if the calibration results are worse than with previous calibration parameters.
  • the magnetometer storage 96 may store magnetometer calibration parameters such as, for example, the soft-iron matrix W and the hard-iron vector b, already discussed.
  • Gyroscope storage 98 may optionally store gyroscope calibration parameters such as, for example, the gyroscope measurement offset.
  • the calibrator 94 may calibrate (as shown by dashed lines) an offset of the gyroscope 84 when the gyroscope 84 is un-calibrated.
  • the illustrated apparatus 88 also includes a magnetometer controller 100 to increase the sampling rate of the magnetometer 82 before obtaining the second sensor data and decrease the sampling rate of the magnetometer 82 after calibration of the magnetometer 82.
  • the apparatus 88 further includes a gyroscope controller 102 to activate the gyroscope 84 before obtaining the first sensor data and deactivate the gyroscope 84 after calibration of the magnetometer 82.
  • a motion detector 104 may detect rotation events associated with the magnetometer 82, wherein the second sensor data is obtained in response to the rotation events.
  • Example 1 may include a geomagnetic field measurement system comprising a magnetometer, a gyroscope, a circuit board including one or more hard-iron effect components and one or more soft-iron effect components, and an integrated sensor apparatus comprising a gyroscope monitor to obtain first sensor data associated with the gyroscope, a magnetometer monitor to obtain second sensor data associated with the magnetometer, and a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • a geomagnetic field measurement system comprising a magnetometer, a gyroscope, a circuit board including one or more hard-iron effect components and one or more soft-iron effect components
  • an integrated sensor apparatus comprising a gyroscope monitor to obtain first sensor data associated with the gyroscope, a magnetometer monitor to obtain second sensor data associated with the magnetometer, and a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 2 may include the system of Example 1, wherein the integrated sensor apparatus further includes a magnetometer controller to increase a sampling rate of the magnetometer before obtaining the second sensor data and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 3 may include the system of Example 1, wherein the integrated sensor apparatus further includes a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  • the integrated sensor apparatus further includes a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  • Example 4 may include the system of Example 1, wherein the gyroscope is a calibrated gyroscope.
  • Example 5 may include the system of Example 1, wherein the gyroscope is an un-calibrated gyroscope, and wherein the calibrator is to calibrate an offset of the gyroscope.
  • Example 6 may include the system of any one of Examples 1 to 5, wherein the calibrator is to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 7 may include a calibration apparatus comprising a gyroscope monitor to obtain first sensor data associated with a gyroscope, a magnetometer monitor to obtain second sensor data associated with a magnetometer and a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • a calibration apparatus comprising a gyroscope monitor to obtain first sensor data associated with a gyroscope, a magnetometer monitor to obtain second sensor data associated with a magnetometer and a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 8 may include the apparatus of Example 7, further including a magnetometer controller to increase a sampling rate of the magnetometer before obtaining the second sensor data and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 9 may include the apparatus of Example 7, further including a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  • Example 10 may include the apparatus of Example 7, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  • Example 11 may include the apparatus of Example 7, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, and wherein the calibrator is to calibrate an offset of the gyroscope.
  • Example 12 may include the apparatus of any one of Examples 7 to 11, wherein the calibrator is to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 13 may include a method of operating a calibration apparatus, comprising obtaining first sensor data associated with a gyroscope, obtaining second sensor data associated with a magnetometer and using the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 14 may include the method of Example 13, further including increasing a sampling rate of the magnetometer before obtaining the second sensor data, and decreasing the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 15 may include the method of Example 13, further including activating the gyroscope before obtaining the first sensor data, and deactivating the gyroscope after calibration of the magnetometer.
  • Example 16 may include the method of Example 13, wherein the first sensor data is obtained from a calibrated gyroscope.
  • Example 17 may include the method of Example 13, wherein the first sensor data is obtained from an un-calibrated gyroscope, the method further including calibrating an offset of the gyroscope.
  • Example 18 may include the method of any one of Examples 13 to 17, further including determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 19 may include at least one computer readable storage medium comprising a set of instructions which, when executed by a computing device, cause the computing device to obtain first sensor data associated with a gyroscope, obtain second sensor data associated with a magnetometer and use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 20 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to increase a sampling rate of the magnetometer before obtaining the second sensor data, and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 21 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to activate the gyroscope before obtaining the first sensor data, and deactivate the gyroscope after calibration of the magnetometer.
  • Example 22 may include the at least one computer readable storage medium of Example 19, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  • Example 23 may include the at least one computer readable storage medium of Example 19, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, and wherein the instructions, when executed, cause a computing device to calibrate an offset of the gyroscope.
  • Example 24 may include the at least one computer readable storage medium of any one of Examples 19 to 23, wherein the instructions, when executed, cause a computing device to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 25 may include a calibration apparatus comprising means for obtaining first sensor data associated with a gyroscope, means for obtaining second sensor data associated with a magnetometer, and means for using the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 26 may include the apparatus of Example 25, further including means for increasing a sampling rate of the magnetometer before obtaining the second sensor data, and means for decreasing the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 27 may include the apparatus of Example 25, further including means for activating the gyroscope before obtaining the first sensor data, and means for deactivating the gyroscope after calibration of the magnetometer.
  • Example 28 may include the apparatus of Example 25, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  • Example 29 may include the apparatus of Example 25, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, the apparatus further including means for calibrating an offset of the gyroscope.
  • Example 30 may include the apparatus of any one of Examples 25 to 29, further including means for determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • techniques may provide magnetometer calibration that works well with insufficient and unevenly distributed data. Additionally, the calibration may be conducted based on small motions such as, for example, walking with, picking up and/or putting down the device containing the magnetometer. Techniques may also provide for magnetometer calibration in the background, with parameters being updated autonomously (e.g., without prompting the user to perform awkward, inconvenient or complex gestures) . Moreover, calibration results and parameters (e.g., hard-iron vectors, soft-iron matrices) may be output quickly (e.g., with minimal rotation) . The magnetometer calibration may also work well with both calibrated gyroscopes and un-calibrated gyroscopes. Additionally, during calibration, computations may be evenly distributed into every sample due to EKF computations being the same in each iteration.
  • Embodiments are applicable for use with all types of semiconductor integrated circuit ( “IC” ) chips.
  • IC semiconductor integrated circuit
  • Examples of these IC chips include but are not limited to processors, controllers, chipset components, programmable logic arrays (PLAs) , memory chips, network chips, systems on chip (SoCs) , SSD/NAND controller ASICs, and the like.
  • PLAs programmable logic arrays
  • SoCs systems on chip
  • SSD/NAND controller ASICs solid state drive/NAND controller ASICs
  • signal conductor lines are represented with lines. Some may be different, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner.
  • Any represented signal lines may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
  • Example sizes/models/values/ranges may have been given, although embodiments are not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured.
  • well known power/ground connections to IC chips and other components may or may not be shown within the figures, for simplicity of illustration and discussion, and so as not to obscure certain aspects of the embodiments. Further, arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the embodiment is to be implemented, i.e., such specifics should be well within purview of one skilled in the art.
  • Coupled may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections.
  • first may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated.
  • a list of items joined by the term “one or more of” may mean any combination of the listed terms.
  • the phrases “one or more of A, B or C” may mean A, B, C; A and B; A and C; B and C; or A, B and C.

Abstract

Systems and methods may provide for obtaining first sensor data associated with a gyroscope (22) and obtaining second sensor data associated with a magnetometer (10). Additionally, the first sensor data, the second sensor data and an extended Kalman filter may be used to calibrate the magnetometer (10). In one example, a sampling rate of the magnetometer (10) is increased before obtaining the second sensor data and the sampling rate of the magnetometer (10) is decreased after calibration of the magnetometer(10).

Description

    EXTENDED KALMAN FILTER BASED AUTONOMOUS MAGNETOMETER CALIBRATION TECHNICAL FIELD
  • Embodiments generally relate to magnetometer calibration. More particularly, embodiments relate to extended Kalman filter (EKF) based autonomous magnetometer calibration.
  • BACKGROUND
  • Magnetometers may generally be used to measure the strength and direction of the magnetic fields. In particular, miniaturized magnetometers may be used as compasses in handheld devices such as smart phones and tablet computers. The sensitivity of miniaturized magnetometers to other magnetic objects, however, may have a negative impact on accuracy. For example, magnetized ferromagnetic components mounted on nearby printed circuit boards (PCBs) may produce a “hard-iron effect” on a magnetometer in a handheld device. Moreover, a “soft-iron effect” may result from the Earth’s magnetic field inducing an interfering magnetic field onto normally un-magnetized ferromagnetic components of nearby PCBs. Both the hard-iron effect and the soft-iron effect may cause the measurements of the magnetometer to form an ellipsoid in three dimensional (3D) space rather than a sphere.
  • While conventional “ellipsoid fitting” solutions may attempt to determine optimized calibration parameters for the magnetometer in order to reposition raw measurement points from the surface of an ellipsoid to the surface of a sphere, there remains considerable room for improvement. For example, if the measurement data set from the magnetometer is either small or unevenly distributed, “overfitting” may occur, which can in turn worsen the calibration results. Additionally, conventional ellipsoid fitting solutions may prompt the user of the device to perform awkward, inconvenient and/or complex gestures such as “Figure 8” motions with the handheld device. Moreover, conventional ellipsoid fitting solutions may rely upon manual triggering, which can further have a negative impact on the user experience.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The various advantages of the embodiments will become apparent to one skilled in the art by reading the following specification and appended claims, and by referencing the following drawings, in which:
  • FIG. 1 is an illustration of an example of a magnetometer calibration environment according to an embodiment;
  • FIGs. 2 and 3 are flowcharts of examples of methods of operating a calibration apparatus according to embodiments;
  • FIG. 4 is a block diagram of an example of a system according to an embodiment; and
  • FIG. 5 is an illustration of an example of a calibration result according to an embodiment.
  • DESCRIPTION OF EMBODIMENTS
  • Turning now to FIG. 1, an environment is shown in which a magnetometer 10 (e.g., implemented in a microelectrical mechanical system/MEMS chip) is calibrated autonomously. In the illustrated example, the magnetometer 10 is mounted to a printed circuit board (PCB) 12, which also includes one or more hard-iron effect components 14 (e.g., speaker magnets) and one or more soft-iron effect components 16 (e.g., electromagnetic interference/EMI shields, screws, battery contacts) . The hard-iron effect components 14 may be magnetized ferromagnetic components that impact the measurement accuracy of the magnetometer 10. The soft-iron effect components 16 may be normally un-magnetized ferromagnetic components that also impact the measurement accuracy of the magnetometer 10 due to an interfering magnetic field that is induced on the soft-iron effect components 16 by a geomagnetic field 18. The illustrated magnetometer 10 is coupled to a calibration apparatus 20 that uses sensor data from the magnetometer 10, sensor data from a gyroscope 22 and an extended Kalman filter (EKF) to calibrate the magnetometer 10.
  • As will be discussed in greater detail, the calibration apparatus 20 may provide a unique technical application of two observations: 1) In the same location, the magnitude of the environmental magnetic field is constant, regardless of the device’s orientation;  and 2) The change of a calibrated magnetometer measurement aligns with the change of the device orientation, which may be measured via a gyroscope. More particularly, both the hard-iron effect and the soft-iron effect may be determined and/or quantified in real time based on the two observations. As a result, the illustrated approach enables effective calibration for small and unevenly distributed measurement data sets without inconvenient or complex gestures being required from the user. Indeed, the illustrated solution may enable automatic triggering of calibration operations that run in the background (e.g., are transparent to the user) .
  • FIG. 2 shows a method 24 of operating a calibration apparatus. The method 24 may generally be implemented in a calibration apparatus such as the calibration apparatus 20 (FIG. 1) , already discussed. More particularly, the method 24 may be implemented as one or more modules in a set of logic instructions stored in a machine-or computer-readable storage medium such as random access memory (RAM) , read only memory (ROM) , programmable ROM (PROM) , firmware, flash memory, etc., in configurable logic such as, for example, programmable logic arrays (PLAs) , field programmable gate arrays (FPGAs) , complex programmable logic devices (CPLDs) , in fixed-functionality hardware logic using circuit technology such as, for example, application specific integrated circuit (ASIC) , complementary metal oxide semiconductor (CMOS) or transistor-transistor logic (TTL) technology, or any combination thereof. Illustrated processing block 26 provides for obtaining first sensor data associated with a gyroscope, wherein second sensor data associated with a magnetometer may be obtained at block 28. Block 30 may use the first sensor data, the second sensor data and an EKF to calibrate the magnetometer.
  • As will be discussed in greater detail, block 30 may include determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the EKF. More particularly, block 30 may use a magnetometer measurement model that is written as,
  • Bp=AB+bsensor+ε       (1)
  • In which,
  • Bp is the magnetometer sensor measurement;
  • A is the rotation matrix of the device from the Earth coordinate to a body coordinate;
  • B is the magnetic field in the Earth coordinate. By definition, it may be [0, by, bz], wherein by and bz may be calculated from a test location in accordance with the Earth’s magnetic field model;
  • bsensor is the measurement bias of the magnetometer (it may be a constant value) ;
  • ε is the measurement error of the magnetometer (it may be modeled by white noise) .
  • Soft-and Hard-Iron Effect:
  • As already discussed, magnetometers may be impacted by the hard-iron and soft-iron effect. Considering these interferences, the measurement model may be re-written as,
  • Bp=WAB+b+εm      (2)
  • In which,
  • W=WnonOrthWgainWsoft      (3)
  • b=bsensor+bPCB       (4)
  • Where, W is a three-by-three symmetric matrix that includes the non-orthogonal error matrix WnonOrth, the gain error matrix Wgain, and the soft-iron effect matrix Wsoft; b is the three-by-one hard-iron matrix that includes a bias bsensor from the sensor, and the hard-iron effect bPCB from the printed circuit board.
  • With equation (2) , if W and b are known, a calibrated measurement may be readily defined as,
  • Bcal=AB=W-1 (Bp-b)      (5)
  • Observation #1–Constant Magnitude:
  • As already noted, an observation may be made that in the same location, the magnitude of the environmental magnetic field is constant, regardless of the device’s orientation. Therefore, the following equation may be formulated,
  • Bcal TBcal= (Bp-b) T (W-1TW-1 (Bp-b) =constant  (6)
  • The above-equation may be a general expression defining the locus of the vector Bp lying on the surface of an ellipsoid with a center at b. Therefore, ellipsoid fitting algorithms can be applied to obtain the calibration parameters W and b.
  • Observation #2–Gyroscope Alignment:
  • Because conventional ellipsoid fitting techniques may have practical limitations, another observation may be made that the change of a calibrated magnetometer measurement aligns with the change of the device orientation, which may be measured via a gyroscope. Therefore, the following equation may be formulated,
  • In which,
  • Ak and Ak+1 are the rotation matrix A at times k and k+1;
  • Bcal, k and Bcal, k+1 are calibrated magnetometer measurements at time k and k+1;
  • ωx, ωy, ωz, are a three-axis calibrated gyroscope measurement; and
  • dt is the time interval between time k and k+1.
  • Extended Kalman Filter (EKF) Calibration:
  • With observation #1 and observation #2, a Kalman filter state may be defined as,
  • In which, W11–W23 are elements of the soft-iron matrix W. The state transition model may therefore be written as,
  • W=constant       (11)
  • b=constant       (12)
  • In which,
  • ωx, k, ωx, k, ωx, k, are calibrated gyroscope values at time k; and
  • εω is the measurement noise of the calibrated gyroscope.
  • The observation model may therefore be written as,
  • Bp, k+1=WBcal, k+1+b+εm      (13)
  • In which Bp, k+1 is the un-calibrated magnetometer measurement at time k+1.
  • With the linear state transition equations (10)-(12) and the non-linear observation function (13) , EKF equations may be applied to determine the calibrated magnetometer measurement, the soft-iron matrix and the hard-iron vector.
  • Measurement Quality Assessments:
  • After an ideal calibration, all calibrated magnetometer measurements may be located on a sphere surface. Accordingly, the standard deviation of the magnitude of magnetometer measurements may be used to conduct a calibration quality analysis,
  • Approximately, the quality index may be transferred to an angular measurement error by,
  • Error≈asin (Quality_Index)     (15)
  • FIG. 5 shows a calibration result 27 from a daily usage scenario. In the illustrated example, a calibration data set 29 is collected during typical pick-up and put-down motions with respect to a device (e.g., over a relatively short timeframe such as, for example, 5s) and the calibration data set 29 is used to determine calibration parameters for the magnetometer. The remaining points in the illustrated view represent a test data set captured during a Figure 8 motion (e.g., over a longer timeframe such as, for example, 30s) . Of particular note is that the test data set aligns well with a calibrated sphere 31 even though the motions of the calibration data set 29 involve minimal rotational movement and cover only a small area in the calibration space.
  • Turning now to FIG. 3, a more detailed method 32 of calibrating magnetometers is shown. The method 32 may generally be implemented in a calibration apparatus such as, for example, the calibration apparatus 20 (FIG. 1) , already discussed. More particularly, the method 32 may be implemented as one or more modules in a set of logic instructions stored in a machine-or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality hardware logic using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.
  • Illustrated processing block 34 determines whether a calibration has been started manually (e.g., in response to a user request) . If not, a calibrated magnetometer sensor  data stream may be read at block 36, wherein the quality index of the calibrated magnetometer sensor may be computed at block 38. Block 38 might involve the use of an expression such as, for example, Equation (14) , already discussed. A determination may be made at block 40 as to whether the measurement quality of the magnetometer is poor (e.g., has fallen below a particular threshold) . If not, the reading of the magnetometer sensor data stream may be repeated at block 36. If either the measurement quality of the magnetometer is poor or a calibration has been started manually, illustrated block 42 activates a gyroscope and increases the sampling rate of the magnetometer. In this regard, maintaining the gyroscope in a powered off state when the magnetometer is not being calibrated may conserve power and/or extend battery life. Additionally, the magnetometer may be operated at a relatively low sampling rate (e.g., 1Hz) during normal operation or when determining whether to automatically trigger a calibration, and operated a higher sampling rate (e.g., 100Hz) during calibration. Such an approach may further conserve power and/or extend battery life while ensuring optimal accuracy.
  • An extended Kalman filter (EKF) may be initialized at block 44, wherein illustrated block 46 reads the calibrated magnetometer sensor data stream. A determination may be made at block 48 as to whether the device (e.g., the handheld device and/or system containing the magnetometer and gyroscope) has started rotational movement. If not, block 48 may be repeated. Once rotation is detected, block 50 may read the un-calibrated magnetometer sensor data stream (e.g., sensor data without calibration parameters being applied to the magnetometer) at time k. In addition, illustrated block 52 provides for reading the gyroscope sensor data stream at time k. As will be discussed in greater detail, the gyroscope sensor data stream may be either calibrated or un-calibrated. An EKF prediction may be conducted at block 54, wherein the EKF may be updated/corrected at block 56. In the case of an un-calibrated gyroscope, block 56 might also include calibrating an offset of the gyroscope.
  • EKF Calibration Considering Gyroscope Bias:
  • An un-calibrated gyroscope may have a linear state transition model that enables it to be automatically calibrated along with the magnetometer. Such an approach may yield even better performance. More particularly, a state vector may be selected as,
  • xk= [Bcal, k W11 W22 W33 W12 W13 W23 b bω]    (16)
  • In which, bω is the offset vector of the gyroscope measurement.
  • Accordingly, the state transition module may be written as,
  • W=constant       (18)
  • b=constant       (19)
  • bω=εb        (20)
  • In which,
  • bxw, k, byw, k, bzw, k, are elements of bω at time k; and
  • εb is the offset instability noise of bω.
  • The observation model may be the same as Equation (13) . With the above models, the EKF may be applied to the gyroscope calibration process.
  • Block 58 may compute a quality index with the calibration data/parameters obtained from blocks 54 and 56. Block 58 may therefore involve the use of an expression such as, for example, Equation (14) , already discussed.
  • Illustrated block 60 determines whether the quality of the new calibration parameters is sufficiently good or a timeout has occurred. If not, block 50 may be repeated. If either the quality of the new calibration parameters is sufficiently good or a timeout has occurred, a determination may be made at block 62 as to whether the calibration is to stop. If not, block 64 may output the calibrated magnetometer measurement from the EKF (e.g., having relatively low measurement noise) and return to block 50. If the calibration is to be stopped, illustrated block 66 reads the calibrated magnetometer sensor data stream (e.g., with the old calibration parameters) and illustrated block 68 computes the quality index of the calibrated magnetometer. Additionally, the un-calibrated magnetometer sensor data stream may be read at block 70, wherein illustrated block 72 provides for applying the new calibration parameters and calculating the quality index.
  • If it is determined at block 74 that better quality results from the new calibration parameters, block 76 may update and store the newly calculated calibration parameters. Additionally, illustrated block 78 deactivates the gyroscope and reduces the sampling rate  of the magnetometer. If it is determined at block 74 that better quality does not result from the new calibration parameters, block 74 may repeat initialization of the EKF at block 44.
  • FIG. 4 shows a geomagnetic field measurement system 80. The illustrated system 80 may be part of a mobile device such as, for example, a notebook computer, tablet computer, convertible tablet, smart phone, personal digital assistant (PDA) , mobile Internet device (MID) , wearable computer, media player, etc., or any combination thereof. The system 80 may include a magnetometer 82, a gyroscope 84, a host processor 86 (e.g., central processing unit/CPU) and an integrated sensor apparatus 88. The system 80 may also include one or more circuit boards having one or more hard-iron effect components such as, for example, the hard-iron effect components 14 (FIG. 1) , and/or one or more soft-iron effect components such as, for example, the soft-iron effect components 16 (FIG. 1) .
  • The illustrated integrated sensor apparatus 88, which may generally operate continuously under relatively low power, includes a gyroscope monitor 90 to obtain first sensor data associated with the gyroscope 84 and a magnetometer monitor 92 to obtain second sensor data associated with the magnetometer 82. The gyroscope 84 may either maintain a uniform sampling rate or use high precision timestamps in order to ensure calibration accuracy. The illustrated magnetometer 82 stores the second sensor data to a data buffer 93. Additionally, a calibrator 94 (94a-94c) may use the first sensor data, the second sensor data and an EKF to calibrate the magnetometer 82. More particularly, the illustrated calibrator 94 uses an EKF calibration component 94a to perform core calibration computations, a measurement quality assessor 94b to determine whether calibrated magnetometer measurements are sufficiently good/accurate, and an EKF controller 94c. The illustrated calibration component 94a stores the results of the core calibrations to the data buffer 93 as well as to magnetometer storage 96. The EKF controller 94c may enable/activate the EKF calibration component 94a if the magnetometer measurement quality is poor, disable/deactivate the EKF calibration component 94a if the calibration result is acceptable or a calibration timeout has occurred, and restart the EKF calibration component 94a if the calibration results are worse than with previous calibration parameters.
  • The magnetometer storage 96 may store magnetometer calibration parameters such as, for example, the soft-iron matrix W and the hard-iron vector b, already discussed. Gyroscope storage 98 may optionally store gyroscope calibration parameters such as, for example, the gyroscope measurement offset. In this regard, the calibrator 94 may calibrate (as shown by dashed lines) an offset of the gyroscope 84 when the gyroscope 84 is un-calibrated. The illustrated apparatus 88 also includes a magnetometer controller 100 to increase the sampling rate of the magnetometer 82 before obtaining the second sensor data and decrease the sampling rate of the magnetometer 82 after calibration of the magnetometer 82. In one example, the apparatus 88 further includes a gyroscope controller 102 to activate the gyroscope 84 before obtaining the first sensor data and deactivate the gyroscope 84 after calibration of the magnetometer 82. Additionally, a motion detector 104 may detect rotation events associated with the magnetometer 82, wherein the second sensor data is obtained in response to the rotation events.
  • Additional Notes and Examples:
  • Example 1 may include a geomagnetic field measurement system comprising a magnetometer, a gyroscope, a circuit board including one or more hard-iron effect components and one or more soft-iron effect components, and an integrated sensor apparatus comprising a gyroscope monitor to obtain first sensor data associated with the gyroscope, a magnetometer monitor to obtain second sensor data associated with the magnetometer, and a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 2 may include the system of Example 1, wherein the integrated sensor apparatus further includes a magnetometer controller to increase a sampling rate of the magnetometer before obtaining the second sensor data and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 3 may include the system of Example 1, wherein the integrated sensor apparatus further includes a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  • Example 4 may include the system of Example 1, wherein the gyroscope is a calibrated gyroscope.
  • Example 5 may include the system of Example 1, wherein the gyroscope is an un-calibrated gyroscope, and wherein the calibrator is to calibrate an offset of the gyroscope.
  • Example 6 may include the system of any one of Examples 1 to 5, wherein the calibrator is to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 7 may include a calibration apparatus comprising a gyroscope monitor to obtain first sensor data associated with a gyroscope, a magnetometer monitor to obtain second sensor data associated with a magnetometer and a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 8 may include the apparatus of Example 7, further including a magnetometer controller to increase a sampling rate of the magnetometer before obtaining the second sensor data and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 9 may include the apparatus of Example 7, further including a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  • Example 10 may include the apparatus of Example 7, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  • Example 11 may include the apparatus of Example 7, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, and wherein the calibrator is to calibrate an offset of the gyroscope.
  • Example 12 may include the apparatus of any one of Examples 7 to 11, wherein the calibrator is to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 13 may include a method of operating a calibration apparatus, comprising obtaining first sensor data associated with a gyroscope, obtaining second sensor data associated with a magnetometer and using the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 14 may include the method of Example 13, further including increasing a sampling rate of the magnetometer before obtaining the second sensor data, and decreasing the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 15 may include the method of Example 13, further including activating the gyroscope before obtaining the first sensor data, and deactivating the gyroscope after calibration of the magnetometer.
  • Example 16 may include the method of Example 13, wherein the first sensor data is obtained from a calibrated gyroscope.
  • Example 17 may include the method of Example 13, wherein the first sensor data is obtained from an un-calibrated gyroscope, the method further including calibrating an offset of the gyroscope.
  • Example 18 may include the method of any one of Examples 13 to 17, further including determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 19 may include at least one computer readable storage medium comprising a set of instructions which, when executed by a computing device, cause the computing device to obtain first sensor data associated with a gyroscope, obtain second sensor data associated with a magnetometer and use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 20 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to increase a sampling rate of the magnetometer before obtaining the second sensor data, and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 21 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to activate the gyroscope before obtaining the first sensor data, and deactivate the gyroscope after calibration of the magnetometer.
  • Example 22 may include the at least one computer readable storage medium of Example 19, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  • Example 23 may include the at least one computer readable storage medium of Example 19, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, and wherein the instructions, when executed, cause a computing device to calibrate an offset of the gyroscope.
  • Example 24 may include the at least one computer readable storage medium of any one of Examples 19 to 23, wherein the instructions, when executed, cause a computing device to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Example 25 may include a calibration apparatus comprising means for obtaining first sensor data associated with a gyroscope, means for obtaining second sensor data associated with a magnetometer, and means for using the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  • Example 26 may include the apparatus of Example 25, further including means for increasing a sampling rate of the magnetometer before obtaining the second sensor data, and means for decreasing the sampling rate of the magnetometer after calibration of the magnetometer.
  • Example 27 may include the apparatus of Example 25, further including means for activating the gyroscope before obtaining the first sensor data, and means for deactivating the gyroscope after calibration of the magnetometer.
  • Example 28 may include the apparatus of Example 25, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  • Example 29 may include the apparatus of Example 25, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, the apparatus further including means for calibrating an offset of the gyroscope.
  • Example 30 may include the apparatus of any one of Examples 25 to 29, further including means for determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  • Thus, techniques may provide magnetometer calibration that works well with insufficient and unevenly distributed data. Additionally, the calibration may be conducted based on small motions such as, for example, walking with, picking up and/or putting down the device containing the magnetometer. Techniques may also provide for magnetometer calibration in the background, with parameters being updated autonomously (e.g., without prompting the user to perform awkward, inconvenient or complex gestures) . Moreover, calibration results and parameters (e.g., hard-iron vectors, soft-iron matrices) may be output quickly (e.g., with minimal rotation) . The  magnetometer calibration may also work well with both calibrated gyroscopes and un-calibrated gyroscopes. Additionally, during calibration, computations may be evenly distributed into every sample due to EKF computations being the same in each iteration.
  • Embodiments are applicable for use with all types of semiconductor integrated circuit ( “IC” ) chips. Examples of these IC chips include but are not limited to processors, controllers, chipset components, programmable logic arrays (PLAs) , memory chips, network chips, systems on chip (SoCs) , SSD/NAND controller ASICs, and the like. In addition, in some of the drawings, signal conductor lines are represented with lines. Some may be different, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a circuit. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
  • Example sizes/models/values/ranges may have been given, although embodiments are not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the figures, for simplicity of illustration and discussion, and so as not to obscure certain aspects of the embodiments. Further, arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the embodiment is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments, it should be apparent to one skilled in the art that embodiments can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.
  • The term “coupled” may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections. In addition, the terms “first” , “second” , etc. may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated.
  • As used in this application and in the claims, a list of items joined by the term “one or more of” may mean any combination of the listed terms. For example, the phrases “one or more of A, B or C” may mean A, B, C; A and B; A and C; B and C; or A, B and C.
  • Those skilled in the art will appreciate from the foregoing description that the broad techniques of the embodiments can be implemented in a variety of forms. Therefore, while the embodiments have been described in connection with particular examples thereof, the true scope of the embodiments should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims.

Claims (25)

  1. A geomagnetic field measurement system comprising:
    a magnetometer;
    a gyroscope;
    a circuit board including one or more hard-iron effect components and one or more soft-iron effect components; and
    an integrated sensor apparatus comprising,
    a gyroscope monitor to obtain first sensor data associated with the gyroscope,
    a magnetometer monitor to obtain second sensor data associated with the magnetometer, and
    a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  2. The system of claim 1, wherein the integrated sensor apparatus further includes a magnetometer controller to increase a sampling rate of the magnetometer before obtaining the second sensor data and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  3. The system of claim 1, wherein the integrated sensor apparatus further includes a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  4. The system of claim 1, wherein the gyroscope is a calibrated gyroscope.
  5. The system of claim 1, wherein the gyroscope is an un-calibrated gyroscope, and wherein the calibrator is to calibrate an offset of the gyroscope.
  6. The system of any one of claims 1 to 5, wherein the calibrator is to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  7. Acalibration apparatus comprising:
    a gyroscope monitor to obtain first sensor data associated with a gyroscope;
    a magnetometer monitor to obtain second sensor data associated with a magnetometer; and
    a calibrator to use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  8. The apparatus of claim 7, further including a magnetometer controller to increase a sampling rate of the magnetometer before obtaining the second sensor data and decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  9. The apparatus of claim 7, further including a gyroscope controller to activate the gyroscope before obtaining the first sensor data and deactivate the gyroscope after calibration of the magnetometer.
  10. The apparatus of claim 7, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  11. The apparatus of claim 7, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, and wherein the calibrator is to calibrate an offset of the gyroscope.
  12. The apparatus of any one of claims 7 to 11, wherein the calibrator is to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  13. Amethod of operating a calibration apparatus, comprising:
    obtaining first sensor data associated with a gyroscope;
    obtaining second sensor data associated with a magnetometer; and
    using the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  14. The method of claim 13, further including:
    increasing a sampling rate of the magnetometer before obtaining the second sensor data; and
    decreasing the sampling rate of the magnetometer after calibration of the magnetometer.
  15. The method of claim 13, further including:
    activating the gyroscope before obtaining the first sensor data; and
    deactivating the gyroscope after calibration of the magnetometer.
  16. The method of claim 13, wherein the first sensor data is obtained from a calibrated gyroscope.
  17. The method of claim 13, wherein the first sensor data is obtained from an un-calibrated gyroscope, the method further including calibrating an offset of the gyroscope.
  18. The method of any one of claims 13 to 17, further including determining one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  19. At least one computer readable storage medium comprising a set of instructions which, when executed by a computing device, cause the computing device to:
    obtain first sensor data associated with a gyroscope;
    obtain second sensor data associated with a magnetometer;
    use the first sensor data, the second sensor data and an extended Kalman filter to calibrate the magnetometer.
  20. The at least one computer readable storage medium of claim 19, wherein the instructions, when executed, cause a computing device to:
    increase a sampling rate of the magnetometer before obtaining the second sensor data; and
    decrease the sampling rate of the magnetometer after calibration of the magnetometer.
  21. The at least one computer readable storage medium of claim 19, wherein the instructions, when executed, cause a computing device to:
    activate the gyroscope before obtaining the first sensor data; and
    deactivate the gyroscope after calibration of the magnetometer.
  22. The at least one computer readable storage medium of claim 19, wherein the first sensor data is to be obtained from a calibrated gyroscope.
  23. The at least one computer readable storage medium of claim 19, wherein the first sensor data is to be obtained from an un-calibrated gyroscope, and wherein the instructions, when executed, cause a computing device to calibrate an offset of the gyroscope.
  24. The at least one computer readable storage medium of any one of claims 19 to 23, wherein the instructions, when executed, cause a computing device to determine one or more soft-iron calibration parameters and one or more hard-iron calibration parameters for the extended Kalman filter.
  25. A calibration apparatus comprising means for performing the method of any one of claims 13 to 17.
EP14906042.8A 2014-11-11 2014-11-11 Extended kalman filter based autonomous magnetometer calibration Active EP3218674B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/090817 WO2016074153A1 (en) 2014-11-11 2014-11-11 Extended kalman filter based autonomous magnetometer calibration

Publications (3)

Publication Number Publication Date
EP3218674A1 true EP3218674A1 (en) 2017-09-20
EP3218674A4 EP3218674A4 (en) 2018-07-04
EP3218674B1 EP3218674B1 (en) 2021-06-23

Family

ID=55953559

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14906042.8A Active EP3218674B1 (en) 2014-11-11 2014-11-11 Extended kalman filter based autonomous magnetometer calibration

Country Status (7)

Country Link
US (1) US11047682B2 (en)
EP (1) EP3218674B1 (en)
JP (1) JP6495444B2 (en)
KR (1) KR102351946B1 (en)
CN (1) CN107003144B (en)
TW (1) TWI586984B (en)
WO (1) WO2016074153A1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2524802B (en) * 2014-04-03 2018-11-07 Nokia Technologies Oy A magnetometer apparatus and associated methods
KR20160136928A (en) * 2015-05-21 2016-11-30 삼성전자주식회사 Method for calibrating geomagnetic sensor and Electronic device using the same
US10339708B2 (en) 2016-11-01 2019-07-02 Google Inc. Map summarization and localization
CN106595712A (en) * 2016-12-22 2017-04-26 四川纳杰微电子技术有限公司 Novel micromechanical gyroscope orthoronal error compensation structure
KR102580071B1 (en) * 2017-01-06 2023-09-18 아이디에이치엘 홀딩스, 인크. Method, apparatus and system for gyroscope scale calibration
NO345247B1 (en) * 2017-04-19 2020-11-16 Trisense As Valve position transmitter, and a method for monitoring and determining valve position of a valve.
FR3069649B1 (en) * 2017-07-26 2021-01-01 Sysnav CALIBRATION PROCESS OF A MAGNETOMETER
US11340249B2 (en) * 2017-12-25 2022-05-24 Casio Computer Co., Ltd. Electronic device, calibration control method, and storage medium storing program
WO2020005580A1 (en) * 2018-06-25 2020-01-02 Gatekeeper Systems, Inc. Dual magnetometer calibration
CN109031164B (en) * 2018-07-11 2019-11-26 中国科学院地质与地球物理研究所 A kind of Back end data processing system for magnetometer device
JP7070484B2 (en) * 2019-03-20 2022-05-18 カシオ計算機株式会社 Calibration methods and programs for wearable devices, electronic watches, and magnetic sensors
CN112653249B (en) * 2019-10-10 2023-06-06 北京小米移动软件有限公司 Wireless charging system, charging area determining method and device and electronic equipment
DE102021200763A1 (en) 2021-01-28 2022-07-28 Robert Bosch Gesellschaft mit beschränkter Haftung Apparatus and method for adjusting calibration parameters and sensor system
KR20220124023A (en) * 2021-03-02 2022-09-13 삼성전자주식회사 Electronic device and operation method of electronic device for calibrating geomagnetic sensor
CN116997770A (en) * 2021-04-21 2023-11-03 杜比实验室特许公司 Calibration of magnetometers
US11809639B2 (en) * 2021-09-29 2023-11-07 Qualcomm Incorporated Pedestrian sensor accuracy with minimal dependence on magnetometer
KR20230069775A (en) 2021-11-12 2023-05-19 삼성전자주식회사 Method of calibrating magnetometer and magnetometer calibration device performing the same
CN114279426B (en) * 2021-12-30 2023-12-15 杭州电子科技大学 Six-axis optimized magnetometer online calibration method
CN115655310B (en) * 2022-10-26 2024-04-05 荣耀终端有限公司 Data calibration method, electronic device and readable storage medium

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4347730A (en) * 1979-01-22 1982-09-07 The United States Of America As Represented By The Secretary Of The Army Method and apparatus for calibrating gyroscopically-stabilized, magnetically-slaved heading reference system
US4327498A (en) * 1980-03-17 1982-05-04 Sperry Corporation Magnetic compass compensation system
JPS60122311A (en) * 1983-12-06 1985-06-29 Mitsubishi Electric Corp Detector for direction of moving body
JPS60122311U (en) * 1984-01-09 1985-08-17 小西 栄子 Waist rest that doubles as a shoulder rest
JPS6172618U (en) * 1984-10-19 1986-05-17
JPH06288776A (en) * 1992-04-20 1994-10-18 Sumitomo Electric Ind Ltd Azimuth detecting device
JPH095104A (en) * 1995-06-23 1997-01-10 Nippon Telegr & Teleph Corp <Ntt> Method and apparatus for measurement of three-dimensional attitude angle of moving body
US7451549B1 (en) * 2006-08-09 2008-11-18 Pni Corporation Automatic calibration of a three-axis magnetic compass
US8146401B2 (en) 2008-09-17 2012-04-03 Bae Systems Information And Electronic Systems Integration Inc. Method and apparatus for in-flight calibration of gyroscope using magnetometer reference
FR2943233B1 (en) * 2009-03-18 2013-10-11 Imra Europe Sas METHOD FOR MONITORING A BIOLOGICAL PARAMETER OF A PERSON USING BAYESIAN NON-LINEAR FILTRATION
CN101782391A (en) 2009-06-22 2010-07-21 北京航空航天大学 Attitude estimation method of maneuvering acceleration-assisted extended Kalman filter (EKF) attitude and heading reference system (AHRS)
US8108171B2 (en) * 2009-09-14 2012-01-31 Honeywell International, Inc. Systems and methods for calibration of gyroscopes and a magnetic compass
US8825426B2 (en) 2010-04-09 2014-09-02 CSR Technology Holdings Inc. Method and apparatus for calibrating a magnetic sensor
KR20130143576A (en) * 2010-10-01 2013-12-31 힐크레스트 래보래토리스, 인크. Apparatuses and methods for estimating the yaw angle of a device in a gravitational reference system using measurements of motion sensors and a magnetometer attached to the device
US9140590B2 (en) * 2011-02-09 2015-09-22 Texas Instruments Incorporated System and method of power-saving in MEMS sensor applications
US8463569B2 (en) * 2011-03-21 2013-06-11 Caterpillar Trimble Control Technologies Llc Method of operating a magnetic compass on a machine
US8862419B2 (en) * 2011-04-19 2014-10-14 Honeywell International Inc. Crane jib attitude and heading reference system calibration and initialization
JP5866893B2 (en) * 2011-09-07 2016-02-24 ヤマハ株式会社 Geomagnetic measuring device
US8768647B1 (en) * 2011-09-21 2014-07-01 The United States Of America As Represented By The Secretary Of The Navy High accuracy heading sensor for an underwater towed array
CN102445200B (en) 2011-09-30 2014-06-04 南京理工大学 Microminiature personal combined navigation system as well as navigating and positioning method thereof
US9495018B2 (en) * 2011-11-01 2016-11-15 Qualcomm Incorporated System and method for improving orientation data
US9546883B2 (en) * 2011-11-11 2017-01-17 Qualcomm Incorporated Sensor auto-calibration
US9410809B2 (en) * 2011-12-16 2016-08-09 Microsoft Technology Licensing, Llc Applying a correct factor derivative method for determining an orientation of a portable electronic device based on sense gravitation component linear accelerate filter data obtained
US9459276B2 (en) * 2012-01-06 2016-10-04 Sensor Platforms, Inc. System and method for device self-calibration
US20130253880A1 (en) * 2012-03-25 2013-09-26 Benjamin E. Joseph Managing Power Consumption of a Device with a Gyroscope
US9030192B2 (en) * 2012-05-31 2015-05-12 Blackberry Limited System and method for calibrating a magnetometer on a mobile device
US9207079B2 (en) * 2012-06-21 2015-12-08 Innovative Solutions & Support, Inc. Method and system for compensating for soft iron magnetic disturbances in a heading reference system
WO2014022664A2 (en) * 2012-08-02 2014-02-06 Memsic, Inc. Method and apparatus for data fusion of a three axis magnetometer and three axis accelerometer
CN103105176B (en) * 2012-10-24 2015-08-05 清华大学深圳研究生院 A kind of motion tracking system based on MEMS sensor and method
US9161172B2 (en) * 2012-11-06 2015-10-13 Qualcomm Incorporated Map-based adaptive sampling of orientation sensors for positioning
US9599634B2 (en) * 2012-12-03 2017-03-21 Vibrado Technologies, Inc. System and method for calibrating inertial measurement units
WO2014134710A1 (en) * 2013-03-05 2014-09-12 Trusted Positioning Inc. Method and apparatus for fast magnetometer calibration
US9500464B2 (en) * 2013-03-12 2016-11-22 Adidas Ag Methods of determining performance information for individuals and sports objects
US10132829B2 (en) * 2013-03-13 2018-11-20 Invensense, Inc. Heading confidence interval estimation
US20150019159A1 (en) * 2013-07-15 2015-01-15 Honeywell International Inc. System and method for magnetometer calibration and compensation
US20160178657A9 (en) * 2013-12-23 2016-06-23 InvenSense, Incorporated Systems and methods for sensor calibration
US9863867B2 (en) * 2014-02-23 2018-01-09 PNI Sensor Corporation Automatically updating hard iron and soft iron coefficients of a magnetic sensor
CN103900613B (en) * 2014-03-31 2016-08-17 哈尔滨工程大学 A kind of MEMS system error estimation based on magnetometer N rank away from detection
GB2524802B (en) * 2014-04-03 2018-11-07 Nokia Technologies Oy A magnetometer apparatus and associated methods

Also Published As

Publication number Publication date
CN107003144A (en) 2017-08-01
TW201629517A (en) 2016-08-16
EP3218674A4 (en) 2018-07-04
CN107003144B (en) 2020-11-03
EP3218674B1 (en) 2021-06-23
JP6495444B2 (en) 2019-04-03
US11047682B2 (en) 2021-06-29
US20170343349A1 (en) 2017-11-30
TWI586984B (en) 2017-06-11
JP2017538919A (en) 2017-12-28
KR20170080602A (en) 2017-07-10
WO2016074153A1 (en) 2016-05-19
KR102351946B1 (en) 2022-01-14

Similar Documents

Publication Publication Date Title
US11047682B2 (en) Extended Kalman filter based autonomous magnetometer calibration
US20190242952A1 (en) Compensating for Distortion in an Electromagnetic Tracking System
KR101485142B1 (en) Method and system for a self-calibrated multi-magnetometer platform
CN107005951A (en) Selectivity ratios absorptivity is adjusted
US20150285835A1 (en) Systems and methods for sensor calibration
WO2004003476A1 (en) Azimuth measuring device and azimuth measuring method
US7921572B2 (en) Accuracy indications for an electronic compass in a portable device
US10185401B2 (en) Determination of cursor position on remote display screen based on bluetooth angle of arrival
CN107076873A (en) Lightning monitoring system, method and apparatus
US10309983B2 (en) Systems and methods for motion detection
EP3091335A1 (en) Calibration of temperature effect on magnetometer
TW201502553A (en) Dynamically calibrating magnetic sensors
KR20150022265A (en) inertial measurement unit and method for calibrating the same
US20200166343A1 (en) Method and device for magnetic field measurement by magnetometers
US10545197B2 (en) Self-calibrating system architecture for magnetic distortion compensation
US20170220133A1 (en) Accurately positioning instruments
Dan et al. Application Of Strongly Tracking Kalman Filter In MEMS Gyroscope Bias Compensation
CN112179343A (en) Magnet positioning system and method
CN114137447B (en) Method and device for compensating swing noise of magnetic gradiometer, electronic device and storage medium
CN108627151B (en) Rotation angle measuring device and method based on inertia measuring unit and electronic equipment
JP2013190377A (en) State detection device, electronic apparatus, measurement system and program
US11112283B2 (en) Offline sensor calibration

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20170410

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20180605

RIC1 Information provided on ipc code assigned before grant

Ipc: G01R 33/022 20060101ALI20180529BHEP

Ipc: G01C 17/38 20060101ALI20180529BHEP

Ipc: G01C 25/00 20060101AFI20180529BHEP

Ipc: G01R 33/00 20060101ALI20180529BHEP

Ipc: G01C 19/56 20120101ALI20180529BHEP

Ipc: G01R 33/028 20060101ALI20180529BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20190326

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20210113

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: NL

Ref legal event code: FP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602014078372

Country of ref document: DE

Ref country code: AT

Ref legal event code: REF

Ref document number: 1404677

Country of ref document: AT

Kind code of ref document: T

Effective date: 20210715

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210923

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1404677

Country of ref document: AT

Kind code of ref document: T

Effective date: 20210623

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210924

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210923

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211025

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602014078372

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20220324

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20211111

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211111

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211130

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20211130

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211130

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211130

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211111

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211111

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211130

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20141111

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230518

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210623

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20230915

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20230919

Year of fee payment: 10