WO2013143126A1 - Étalonnage de gyroscope - Google Patents

Étalonnage de gyroscope Download PDF

Info

Publication number
WO2013143126A1
WO2013143126A1 PCT/CN2012/073330 CN2012073330W WO2013143126A1 WO 2013143126 A1 WO2013143126 A1 WO 2013143126A1 CN 2012073330 W CN2012073330 W CN 2012073330W WO 2013143126 A1 WO2013143126 A1 WO 2013143126A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile device
gyroscope
rotation matrices
rotation
calibration parameters
Prior art date
Application number
PCT/CN2012/073330
Other languages
English (en)
Inventor
Qingxuan Yang
Edward Y. Chang
Original Assignee
Google Inc.
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 Google Inc. filed Critical Google Inc.
Priority to PCT/CN2012/073330 priority Critical patent/WO2013143126A1/fr
Publication of WO2013143126A1 publication Critical patent/WO2013143126A1/fr
Priority to US14/722,754 priority patent/US20150260545A1/en

Links

Classifications

    • 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

Definitions

  • Certain embodiments of the disclosure relate to the gyroscope calibration. More specifically, certain embodiments of the disclosure relate to a method and system for a non-intrusive parallel surface calibration for gyroscopes in a mobile device.
  • Changes in temperature may affect a gyroscope's signal error characteristics.
  • the temperature changes that occur as a user travels between indoor and outdoor locations may result in a need to calibrate the gyroscope.
  • gyroscope calibration may need to be performed often.
  • a system and/or method are provided in which, in a mobile device comprising a gyroscope, multiple rotation matrices are determined based on outputs produced by the gyroscope, each of the rotation matrices corresponding to a chain of rotations that occur when the mobile device is picked up from a first surface and placed down on a second surface substantially parallel to the first surface.
  • One or more calibration parameters are determined based on the rotation matrices.
  • Subsequent outputs produced by the gyroscope are adjusted based on the one or more calibration parameters.
  • FIGS. 1 A and 1 B are each a diagram that illustrates rotations of a mobile device that result from user actions.
  • FIG. 2 is a diagram that illustrates the rotations that occur when a mobile device is picked up and placed down on parallel surfaces multiple times.
  • FIG. 3 is a block diagram that illustrates an example of a mobile device architecture.
  • FIG. 4 is a flow chart that illustrates examples of steps related to user actions with a mobile device.
  • FIG. 5 is a flow chart that illustrates examples of steps for a non-intrusive calibration of a gyroscope in a mobile device.
  • FIG. 6 is a flow chart that illustrates examples of steps for the computation of calibration parameters.
  • FIG. 7 is a flow chart that illustrates other examples of steps for a non-intrusive calibration of a gyroscope in a mobile device.
  • Certain embodiments of the disclosure may be found in a method and system for a non-intrusive parallel surface calibration for gyroscopes in a mobile device.
  • Various embodiments of the disclosure provide for determining multiple rotation matrices based on readings from a gyroscope in a mobile device. Each of these rotation matrices corresponds to a chain of rotations that occur when the mobile device is picked up from a surface and later placed down on any substantially parallel surface. In some instances, three or more rotation matrices can be determined.
  • Calibration parameters such as scaling factors, for example, can be computed from the rotation matrices and can be used to adjust subsequent readings from the gyroscope.
  • An eigenvector can be determined or computed for each of the rotation matrices and those eigenvectors can then be used to obtain the calibration parameters through an optimization process.
  • the gyroscope calibration can be triggered by a change in the temperature of the mobile device.
  • a mobile device is not in motion all of the time. For example, a mobile device is at times rested or placed on a desk, a charging station, or some other flat surface. These surfaces are typically parallel or substantially parallel to each other.
  • the rotations in the chain of rotations can be characterized or represented by a rotation matrix or by a rotation vector.
  • This rotation matrix has a corresponding rotation axis that is perpendicular or normal to the flat surface on which the mobile device is rested.
  • the rotation axis of that rotation matrix is the eigenvector or characteristic vector of that rotation matrix.
  • the mobile device can be picked up from a flat surface and placed back down on the same or other flat surface multiple times. It is therefore possible to obtain a rotation matrix, and a corresponding eigenvector, for each of these instances. Since the surfaces are parallel or substantially parallel to each other, the eigenvectors for each of the rotation matrices are expected to be the same or substantially the same. Any discrepancies between eigenvectors can be attributed to the noise characteristics of the gyroscope in the mobile device. The effects of the noise characteristics can be at least partially compensated, offset, or removed by obtaining a set of parameters or factors that can transform or adjust the eigenvectors in such a manner that they are all the same or substantially the same. These parameters or factors can be used to calibrate future readings produced by the gyroscope.
  • FIGS. 1 A and 1 B are each a diagram that illustrates rotations of a mobile device that result from user actions, in accordance with an embodiment.
  • a mobile device 100 that is initially resting on a surface 1 10.
  • the surface 1 10 can be the top of a desk or table, a charging station, or some other flat surface.
  • the mobile device 100 can have an attitude or orientation A, which indicates how the mobile device 1 10 is placed on the surface 1 10.
  • the mobile device 100 can be picked up by a user from its initial placement on the surface 1 10 and be subsequently placed down on a surface 120.
  • the surface 120 can also be the top of a desk or table, a charging station, or some other flat surface.
  • the surface 120 is parallel or substantially parallel to the surface 1 10. In some instances, the surface 120 can be the same as the surface 1 10.
  • the mobile device 100 can have an attitude or orientation B, which indicates how the mobile device 1 10 is place on the surface 1 10.
  • the orientation of the mobile device 100 when in its final placement (B) can be different from the orientation when in its initial or reference placement (A).
  • the user can pick up the mobile device 1 00 from the surface 1 10 to perform any one of a variety of activities before placing the mobile device 100 back down on the surface 120.
  • the user can pick up the mobile device 100 to place a call, browse the web, run an application, send a message, play games, get directions or instructions, take pictures, or watch videos.
  • These examples are illustrative of some of the activities that can be performed by a user with the mobile device 100. Whichever activity the user chooses to perform with the mobile device 100, and even when no action is taken beyond moving the mobile device 100, there are typically a number of rotations to the mobile device 100 that occur in connection with the user's actions or movements. This series or sequence of rotations can be referred to as a chain of rotations or a rotation chain.
  • the chain of rotations that can occur when moving the mobile device 100 from its initial placement to its final placement can be represented by a single rotation about a fixed axis.
  • FIG. 1 B there is shown a rotation axis, axis, and a rotation degree, ⁇ , which represent the chain of rotations that occur when moving the mobile device 100 from its orientation A on the surface 1 10 to its orientation B on the surface 120.
  • the rotation axis and the rotation degree are equivalent to using a single rotation about a fixed axis to represent the chain of rotations. Additional aspects regarding the relationship between the attitude or orientation and rotations of the mobile device 100 are provided below.
  • the attitude or orientation of the mobile device 100 can be represented by an orientation matrix, M.
  • the orientation matrix can be used to represent a current orientation of the mobile device 100.
  • a rotation such as the rotation of the mobile device 100 from its orientation A on the surface 110 to its orientation B on the surface 120, can be represented by a rotation vector, vector rotation , which is itself represented by the rotation axis and the rotation degree shown in FIG. 1B.
  • the rotation axis shown in FIG. 1 B corresponds to the eigenvector or characteristic vector of the rotation matrix that represents the chain of rotations that occur when the mobile device 100 is moved from its orientation A on the surface 1 10 to its orientation B on the surface 120.
  • the mobile device 100 can be operable to determine when it was placed on the surface 1 10 and when it was placed on the surface 120.
  • FIG. 2 is a diagram that illustrates the rotations that occur when a mobile device is picked up and placed down on parallel surfaces multiple times, in accordance with an embodiment.
  • the mobile device 100 at an initial or reference placement on a surface 200 and having an orientation C.
  • a user can pick up the mobile device 100 and place it down on a surface 210 after some activity.
  • the surface 210 can be a flat surface that is parallel or substantially parallel to the surface 200.
  • the mobile device 100 can have an orientation D.
  • a first rotation matrix, M can be used to represent or characterize the chain of rotations that occur between the mobile device 1 00 being picked up from the surface 200 and subsequently being placed down on the surface 210.
  • the mobile device 100 can be operable to determine when it was placed on the surface 200 and when it was placed on the surface 210. For example, the mobile device 100 can determine that at a time T 2 it was placed down on the surface 200 and that at a time T 2 it was placed down on the surface 210.
  • the mobile device 100 can include a gyroscope (such as gyroscope 332, Fig. 3) and the signals or readings produced by the gyroscope between the times Tj and T 2 can be collected to determine the first rotation matrix.
  • the same user or another user can pick up the mobile device 1 00 from the surface 210 and place it down on a surface 220 after some activity.
  • the surface 220 can be a flat surface that is parallel or substantially parallel to the surface 200.
  • the mobile device 100 can have an orientation E.
  • a second rotation matrix, M 2 can be used to represent or characterize the chain of rotations that occur between the mobile device 100 being picked up from the surface 210 and subsequently being placed down on the surface 220. To determine the second rotation matrix, the mobile device 100 can be operable to determine when it was placed on the surface 2100 and when it was placed on the surface 220.
  • the mobile device 100 can determine that at the time T 2 it was placed down on the surface 210 and that at a time T 3 it was placed down on the surface 220. Readings from the gyroscope in the mobile device 100 produced between the times T 2 and T 3 can be collected to determine the second rotation matrix.
  • a similar approach as described above can be used to determine a third rotation matrix, M 3 , a fourth rotation matrix, M 4 , and a fifth rotation matrix, M 5 .
  • the mobile device 100 can be picked up from the surface 220 and can be placed down on a surface 230 with an orientation F after some user activity.
  • the mobile device 100 can determine that at the time T 3 it was placed down on the surface 220 and that at a time T 4 it was placed down on the surface 230. Readings from the gyroscope in the mobile device 100 produced between the times T 3 and T 4 can be collected to determine the third rotation matrix.
  • the mobile device 100 can be picked up from the surface 230 and can be placed down on a surface 240 with an orientation G after some user activity.
  • the mobile device 100 can determine that at the time T 4 it was placed down on the surface 230 and that at a time T 5 it was placed down on the surface 240. Readings from the gyroscope in the mobile device 100 produced between the times T 4 and T 5 can be collected to determine the fourth rotation matrix.
  • the mobile device 100 can be picked up from the surface 240 and can be placed down on a surface 250 with an orientation H after some user activity.
  • the mobile device 100 can determine that at the time T 5 it was placed down on the surface 240 and that at a time T 6 it was placed down on the surface 250. Readings from the gyroscope in the mobile device 100 produced between the times T 5 and T 6 can be collected to determine the fourth rotation matrix.
  • the surfaces 230, 240, and 250 described above can be flat surfaces that are parallel or substantially parallel to the surface 200.
  • the various orientations described above with respect to FIG. 2 can be different from each other and are merely provided to illustrate that a change in orientation can result from the chain of rotations that occur when the mobile device 100 is picked up from a flat surface and subsequently placed down on a parallel or substantially parallel surface.
  • the rotation matrices can be determined by the mobile device 100 in response to a trigger or some other internal signal that indicates that a calibration process for the gyroscope is to take place.
  • a gyroscope calibration can be initiated when a temperature of the mobile device 100 increases or decreases by a certain, pre-determined amount. For example, an increase or decrease of 2°C, 3 °C, 5°C, 7°C, 10 °C, 15°C, or 20 °C can prompt the mobile device 100 to initiate a gyroscope calibration process.
  • the mobile device 100 can be operable to collect and process the appropriate information and/or readings (e.g., gyroscope readings, temperature readings) to determine the rotation matrices that are going to be used to compute a current set of calibration parameters.
  • appropriate information and/or readings e.g., gyroscope readings, temperature readings
  • the mobile device 100 can begin to collect and process the appropriate information and/or readings to determine the next set of rotation matrices that are going to be used to compute the next set of calibration parameters.
  • FIG. 3 is a block diagram that illustrates an example of a mobile device architecture, in accordance with an embodiment. Referring to FIG. 3, there is shown the mobile device 100 having a processor module 310, a memory module 320, and a sensor module 330.
  • the sensor module 330 can have a gyroscope 332, a temperature sensor 334, and other sensing devices 336, 338. Each of these devices can be a separate integrated circuit (IC), although two or more of these devices can be included in the same IC.
  • the gyroscope 332 can be operable to generate or produce outputs (e.g., readings, signals) that provide motion information of the mobile device 100.
  • the motion information can include, but need not be limited to, rotation information.
  • the gyroscope 332 can provide three-dimensional motion information of the mobile device 100. In some embodiments of the disclosure, more than one gyroscope can be used, where each of the gyroscopes provides motion information for a particular dimension.
  • the outputs from the gyroscope 332 can include a bias reading.
  • the temperature sensor 334 can be operable to generate or produce outputs (e.g., readings, signals) that provide temperature information of the mobile device 100.
  • the sensor devices 336, 338 can include other sensors such as accelerometers, for example.
  • the sensor devices 336, 338 can be operable to detect whether the mobile device 100 is in a static or stationary position, such as when the mobile device 100 is placed on a flat surface.
  • the sensing devices 336, 338 can be operable to generate or produce outputs (e.g., readings, signals) that indicate when the mobile device 100 is placed in a static or stationary position.
  • the processor module 310 can have multiple ICs 312, 314 that can be operable to perform data processing.
  • the ICs 312 can include a central processing unit (CPUs), a digital signal processor (DSP), and/or other processing hardware devices.
  • the processor module 310 can also include an operating system, firmware, and/or other suitable software, code, or application that allow the ICs 312, 314 to perform data processing and/or computations for the calibration of the gyroscope 332.
  • the ICs 312, 314 can be operable to collect and process readings from the gyroscope 332, collect and process readings from the temperature sensor 334, collect and process readings from the sensor devices 336 , 338, determine rotation matrices, determine rotation vectors, determine eigenvectors, perform optimization operations, determine calibration parameters, and/or adjust readings from the gyroscope 332.
  • the memory module 320 can have multiple ICs 322, 324 that can be operable to store data, including data for the calibration of the gyroscope 332.
  • the ICs 322, 324 can be operable to store readings from the gyroscope 332, readings from the temperature sensor 334, readings from the sensor devices 336 , 338, data generated from the determination of rotation matrices, data generated from the determination of rotation vectors, data generated from the determination of eigenvectors, data generated from optimization operations, calibration parameters, and/or to adjusted readings from the gyroscope 332.
  • Each of the processor module 310, the memory module 320, and the sensor module 330 includes suitable logic, circuitry, code, and/or interfaces to communicate data or other information within themselves and with each other.
  • FIG. 4 is a flow chart that illustrates examples of steps related to user actions with a mobile device, in accordance with an embodiment.
  • a flow chart 400 that describes the placement of a mobile device, such as the mobile device 100, on multiple parallel surfaces as illustrated in the example described above with respect to FIG. 1 A.
  • the mobile device 100 can remain static or stationary on a flat, initial surface after being placed down on that surface by a user.
  • the mobile device 100 can determine that it is in a static position based on readings provided by sensors in the sensor module 330.
  • the placing down of the mobile device 100 on the initial surface can start the collection of the readings produced by the gyroscope 332. While those readings can be collected when the mobile device 100 is still static, the readings collected will reflect that no rotations are yet taking place. Bias readings produced by the gyroscope 332 can be obtained when the mobile device 100 is static. The bias readings can be stored in the memory module 320. The calibration of the gyroscope 332 can be initiated from a change in temperature in the mobile device 100 that is detected by the temperature sensor 334. [0046] At step 420, the mobile device 100 is picked up by a user to perform certain actions.
  • the user performs those actions and the mobile device 100 moves accordingly.
  • the sequence or chain of rotations that occur in connection with the motions of the mobile device 100 can be detected by the gyroscope 332.
  • the gyroscope 332 can generate readings of those rotations and those readings can be stored in the memory module 320 for later use in the computation of a rotation matrix corresponding to the chain of rotations in step 430.
  • the user can place the mobile phone 100 down on any flat surface that is parallel or substantially parallel to the initial surface in step 410. In some instances, the flat surface in step 440 can be the same flat surface as in step 410.
  • the mobile phone 100 can detect that it is in a static or stationary position and can complete the collection of gyroscope readings for use in the computation of the rotation matrix corresponding to the chain of rotations in step 430.
  • the mobile device 100 can determine that it is in a static position based on readings provided by sensors in the sensor module 330.
  • FIG. 4 describes a single set of actions and, consequently, a single chain of rotations, with the mobile device 100 to produce one rotation matrix as illustrated in FIG. 2. Nevertheless, additional sets of actions can be performed and their corresponding rotation matrices can be determined in a similar manner to obtain a sufficient number of rotation matrices to determine the calibration parameters for the gyroscope 332.
  • FIG. 5 is a flow chart that illustrates examples of steps for a non-intrusive calibration of a gyroscope in a mobile device, in accordance with an embodiment.
  • a flow chart 500 that describes the placement of a mobile device, such as the mobile device 100, on multiple parallel surfaces as illustrated in the example described above with respect to FIG. 2.
  • the mobile device 100 can remain static or stationary on a flat, initial surface after being placed down on that surface by a user.
  • the mobile device 100 can determine that it is in a static position based on readings provided by sensors in the sensor module 330.
  • the placing down of the mobile device 100 on the initial surface can start the collection of the readings produced by the gyroscope 332.
  • the calibration of the gyroscope 332 can be initiated from a change in temperature in the mobile device 100 that is detected by the temperature sensor 334. While those readings can be collected when the mobile device 100 is still static, the readings collected will reflect that no rotations are yet taking place. Bias readings produced by the gyroscope 332, however, can be obtained when the mobile device 100 is static.
  • the bias readings can be stored in the memory module 320.
  • the mobile device 100 is picked up by a user to perform certain actions.
  • the sequence or chain of rotations that occur in connection with the motions of the mobile device 100 that result from the user's actions can be detected by the gyroscope 332.
  • the readings produced by the gyroscope 332 can be collected and stored in the memory module 320.
  • the mobile phone 100 can detect that it is in a static or stationary position and can complete the collection of gyroscope readings.
  • the mobile device 100 can determine that it is in a static position based on readings provided by sensors in the sensor module 330.
  • the processor module 310 in the mobile device 100 can be used to obtain the collected readings from the memory module 320 and to determine a current rotation matrix corresponding to the chain of rotations taking place before the mobile device 100 was last placed down on a flat surface.
  • the mobile device 100 can determine whether additional rotation matrices are needed to compute the calibration parameters for the gyroscope 332. When additional rotation matrices are needed, the process can return to step 530 where a new set of gyroscope readings can be collected when the mobile phone 100 is picked up again by a user. When no additional rotation matrices are needed, the process can proceed to step 560. While three or more rotation matrices can be sufficient to generate the calibration parameters, at least five rotation matrices can be typically used to generate the calibration parameters. [0054] At step 560, the processor module 310 can determine the calibration parameters based on gyroscope readings, including bias readings, and the rotation matrices.
  • the calibration parameters can be determined by using a parallel surface calibration algorithm that is described in more detail below.
  • the calibration parameters can be stored in the memory module 320 and can be associated with the temperature reading that triggered or initiated the gyroscope calibration process.
  • subsequent gyroscope readings can be calibrated by using the calibration parameters stored in the memory module 320. For example, when the calibration parameters are scaling factors, the readings produce by the gyroscope 332 can be multiplied by the appropriate scaling factor for calibration.
  • the rotation matrices used in the gyroscope calibration process can trace the attitude or orientation of the mobile device 100 as it is rotated through a chain of rotations.
  • the following expression can be used to determine the new attitude (orientation matrix) of the mobile device 100:
  • the readings from the gyroscope 332 can be used to calculate the rotation axis and the rotation degree described above with respect to FIG. 1 B.
  • the rotation axis and the rotation degree can be obtained from the following expressions: , . reading modc0 p e
  • At represents an incremental time corresponding to the readings of the gyroscope 332.
  • the gyroscope 332 is typically an IC that is positioned within the mobile device 100 such that the back cover of the mobile device 100 is parallel to the surface of the gyroscope 332. That is, when the mobile device 100 is placed on a flat surface, the rotation axis of the mobile device 100 is the same as the coordinate that is normal to the surface of the IC having the gyroscope 332. Accordingly, the readings from the gyroscope 332 when the mobile device 100 is placed on flat surfaces (e.g., start surface, end surface) are expected to produce the same rotation axis as illustrated by the following expression:
  • X is the identical vector and the modulus of X is equal to 1 . Because X is the identical vector, all chains of rotations that take place when the mobile device 100 is picked up and placed down multiple times are to produce the same rotation axis or same eigenvector. Any discrepancies between eigenvectors can be attributed to the noise characteristics of the gyroscope 332 in the mobile device 100 and need to be corrected by a gyroscope calibration process.
  • the noise or error signals of the gyroscope 332 can be described by some parameters.
  • the parallel surface calibration algorithm includes the calculation of the parameters that correspond to the noise or error signals of the gyroscope 332 and then using those parameters to calibrate subsequent or future outputs (e.g., readings, signals) from the gyroscope 332.
  • One approach is to use a linear error model to represent the errors in the readings from the gyroscope 332.
  • the linear error model uses the following expressions: lvalue ' y value > lvalue ) — a ' (13) ⁇ reading » y reading » ⁇ -reading ) — ⁇ ' 3- ⁇ (14)
  • a ⁇ r - b) o f )
  • b a bias reading from the gyroscope 332
  • the operator o denotes a Hadamard product, which takes two vectors with the same dimensions and produces another vector where each element /) ' is the product of the elements /) ' of the original two vectors.
  • the bias from the gyroscope 332 can be obtained when the mobile device 100 is in a static or stationary position and can be subtracted in real time.
  • the remaining parameters from the linear error model that are needed are the scaling factors, .
  • the rotation matrix and the eigenvector of At can be described by the following expressions:
  • each « is expected to be the same unless they differ as a result of the noise or error characteristics of the gyroscope 332.
  • An average axis vector can be defined by the following expression:
  • the processor module 310 can be used to perform a downhill-simplex optimization method to determine the scaling factors or scaling parameters. These parameters, once determined, can be stored in the memory module 320 and can be used as calibration parameters to adjust future readings from the gyroscope 332.
  • FIG. 6 is a flow chart that illustrates examples of steps for the computation of calibration parameters, in accordance with an embodiment.
  • the processor module 310 in the mobile device 100 can determine an eigenvector, w ; , for each of the rotation matrices that are to be used for computing the calibration parameters. While three or more rotation matrices and corresponding eigenvectors can be used, a typical gyroscope calibration process can use at least five rotation matrices and corresponding eigenvectors.
  • the processor module 310 can be operable to perform the calculations corresponding to equations (18) or (19), for example, to obtain the eigenvectors.
  • the processor module 310 can determine the scaling factors that minimize the eigenvector variance.
  • the eigenvector variance can be minimized by maximizing where each of the eigenvectors was determined in step 610.
  • processor module 310 can obtain the scaling factors by performing an optimization operation to maximize the eigenvector variance, such as the downhill-simplex optimization method, for example. Once obtained, the scaling factors can be stored in the memory module 320. At step 630, the scaling factors can be used as calibration parameters to calibrate subsequent or future outputs (e.g., readings, signals) from the gyroscope 332.
  • FIG. 7 is a flow chart that illustrates other examples of steps for a non-intrusive calibration of a gyroscope in a mobile device, in accordance with an embodiment.
  • the processor module 310 can generate a calibration trigger signal in response to a change in temperature of the mobile device 100.
  • the change in temperature can be detected from readings provided by the temperature sensor 334 and processed by the processor module 310. For example, an increase or decrease of 2 °C, 3 °C, 5°C, 7°C, 10 °C, 15°C, or 20 °C can prompt the mobile device 100 to initiate a gyroscope calibration process.
  • These changes in temperature are provided by way of illustration and not of limitation. Other threshold values can be used as changes in temperature that can prompt the mobile device 100 to initiate a gyroscope calibration process.
  • the processor module 310 can determine multiple rotation matrices based on outputs from the gyroscope 332.
  • the outputs can include rotation speed vector readings and bias readings, for example.
  • the processor module 310 can determine one or more calibration parameters, such as scaling factors, for example, based on the rotation matrices.
  • the processor module 310 can compute eigenvectors from the rotation matrices and use the eigenvectors in an optimization process to obtain the calibration parameters.
  • the calibration parameters can be used to adjust subsequent or future outputs (e.g., readings, signals) from the gyroscope 332.
  • the mobile device 100 with the gyroscope 332 can determine more than one rotation matrix based on outputs or readings produced by the gyroscope 332.
  • Each of rotation matrices corresponds to a chain of rotations that occur when the mobile device 100 is picked up from a first surface and placed down on a second surface that is substantially parallel to the first surface.
  • the first and second surfaces can be the same surface. While the number of rotation matrices that are determined by the mobile device 100 for calibration of the gyroscope 332 can be three or more, using at least five rotation matrices can be a typical approach.
  • the mobile device 100 can determine one or more calibration parameters (e.g., scaling factors) based on the rotation matrices. The mobile device 100 may then adjust subsequent outputs or readings produced by the gyroscope 332 based on the calibration parameters. Once determined, the calibration parameters can be stored in the memory module 320.
  • calibration parameters e.g., scaling factors
  • the mobile device 100 can initiate a calibration process for the gyroscope 332 in response to changes in temperature. For example, the mobile device 100 can determine the rotation matrices after a temperature corresponding to the mobile device 100 changes by an amount larger than a threshold amount.
  • the temperature sensor 334 can produce a reading of the temperature used by the mobile device 100 to initiate the calibration of the gyroscope 332.
  • the temperature reading or value that prompted the start of the calibration process can be stored in the memory module 320, where it can be associated with the calibration parameters.
  • the mobile device 100 can determine an eigenvector or a characteristic vector for each of the rotation matrices and can determine the calibration parameters based on an optimization of the eigenvectors.
  • a bias reading made by the gyroscope 332 when the mobile device 100 is in a stationary position e.g., resting on a flat surface
  • the optimization can be based on a downhill-simplex method, for example. Other methods, however, can also be used for the optimization of the eigenvectors.
  • Another embodiment of the disclosure may provide a non-transitory machine and/or computer readable storage and/or media, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for a non-intrusive parallel surface calibration of a gyroscope in a mobile device.
  • the present disclosure may be realized in hardware, software, or a combination of hardware and software.
  • the present disclosure may be realized in a centralized fashion in at least one computer system; or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited.
  • a typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
  • the present disclosure may also be embedded in a computer program product, which includes all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods.
  • Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Gyroscopes (AREA)

Abstract

La présente invention concerne un procédé et un système pour un étalonnage de surfaces parallèles sans intrusion pour des gyroscopes dans un dispositif mobile. Dans un dispositif mobile comportant un gyroscope, de nombreuses matrices de rotations peuvent être déterminées sur la base de relevés provenant du gyroscope. Chacune de ces matrices de rotations correspond à une chaîne de rotations qui se produisent lorsque le dispositif mobile est retiré d'une surface, puis replacé sur une surface quelconque sensiblement parallèle. Dans certains cas, trois matrices de rotations ou plus peuvent être déterminées. Les paramètres d'étalonnage peuvent être calculés à partir des matrices de rotations et peuvent être utilisés pour ajuster des relevés ultérieurs du gyroscope. Un vecteur propre peut être déterminé pour chacune des matrices de rotations et ces vecteurs propres peuvent être utilisés pour obtenir les paramètres d'étalonnage par le biais d'un procédé d'optimisation. L'étalonnage de gyroscope peut être déclenché par une variation de la température du dispositif mobile.
PCT/CN2012/073330 2012-03-30 2012-03-30 Étalonnage de gyroscope WO2013143126A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2012/073330 WO2013143126A1 (fr) 2012-03-30 2012-03-30 Étalonnage de gyroscope
US14/722,754 US20150260545A1 (en) 2012-03-30 2015-05-27 Gyroscope calibration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/073330 WO2013143126A1 (fr) 2012-03-30 2012-03-30 Étalonnage de gyroscope

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US201214387012A A-371-Of-International 2012-03-30 2012-03-30
US14/722,754 Continuation US20150260545A1 (en) 2012-03-30 2015-05-27 Gyroscope calibration

Publications (1)

Publication Number Publication Date
WO2013143126A1 true WO2013143126A1 (fr) 2013-10-03

Family

ID=49258111

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/073330 WO2013143126A1 (fr) 2012-03-30 2012-03-30 Étalonnage de gyroscope

Country Status (1)

Country Link
WO (1) WO2013143126A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2644079C1 (ru) * 2014-03-14 2018-02-07 Нортроп Грумман Литеф Гмбх Способ оптимизации времени включения кориолисова гироскопа и кориолисов гироскоп, подходящий для этого
US11099014B2 (en) * 2016-10-18 2021-08-24 Sony Semiconductor Solutions Corporation Chip module, signal processing method, and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1630525A2 (fr) * 2004-08-27 2006-03-01 Robert Bosch GmbH Procédé d'étalonnage d'un gyroscope d'un module de localisation dans un système mobile
RU2280840C2 (ru) * 2004-10-27 2006-07-27 Военная академия Ракетных войск стратегического назначения имени Петра Великого Способ калибровки гироскопов
US20110066395A1 (en) * 2009-09-14 2011-03-17 Honeywell International Inc. Systems and methods for gyroscope calibration
CN102252692A (zh) * 2011-04-29 2011-11-23 北京星网宇达科技开发有限公司 一种基于旋转机构的陀螺与加速度相关漂移的标定与补偿方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1630525A2 (fr) * 2004-08-27 2006-03-01 Robert Bosch GmbH Procédé d'étalonnage d'un gyroscope d'un module de localisation dans un système mobile
RU2280840C2 (ru) * 2004-10-27 2006-07-27 Военная академия Ракетных войск стратегического назначения имени Петра Великого Способ калибровки гироскопов
US20110066395A1 (en) * 2009-09-14 2011-03-17 Honeywell International Inc. Systems and methods for gyroscope calibration
CN102252692A (zh) * 2011-04-29 2011-11-23 北京星网宇达科技开发有限公司 一种基于旋转机构的陀螺与加速度相关漂移的标定与补偿方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2644079C1 (ru) * 2014-03-14 2018-02-07 Нортроп Грумман Литеф Гмбх Способ оптимизации времени включения кориолисова гироскопа и кориолисов гироскоп, подходящий для этого
US10260901B2 (en) 2014-03-14 2019-04-16 Northrop Grumman Litef Gmbh Method for optimizing the switch-on time of a coriolis gyroscope and coriolis gyroscope suitable thereof
US11099014B2 (en) * 2016-10-18 2021-08-24 Sony Semiconductor Solutions Corporation Chip module, signal processing method, and electronic equipment

Similar Documents

Publication Publication Date Title
CN109959381B (zh) 一种定位方法、装置、机器人及计算机可读存储介质
US10595784B2 (en) Object pose measurement system based on MEMS IMU and method thereof
CN112744313B (zh) 一种机器人状态估计方法、装置、可读存储介质及机器人
CN109668553A (zh) 基于惯性的导航设备和基于相对预积分的惯性导航方法
JP5084303B2 (ja) 移動体姿勢計測装置
US20150260545A1 (en) Gyroscope calibration
CN112536796B (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
CN112731953A (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
TWI387775B (zh) 定位系統與定位方法
KR101503046B1 (ko) 다축 감지 장치 및 이의 교정 방법
EP2972683B1 (fr) Étalonnage dynamique de capteurs magnétiques
CA3086559C (fr) Procede de prediction d'un mouvement d'un objet, procede d'etalonnage d'un modele de mouvement, procede de deduction d'une quantite predefinie et procede de generation d'une vue d e realite virtuelle
CN110986928A (zh) 光电吊舱三轴陀螺仪漂移实时修正方法
JP5511088B2 (ja) 自律測位に用いる重力ベクトルを補正する携帯装置、プログラム及び方法
CN109866217B (zh) 机器人里程定位方法、装置、终端设备及计算机存储介质
WO2013143126A1 (fr) Étalonnage de gyroscope
KR101297317B1 (ko) 동작 추적을 위한 모션 센서의 교정 방법
CN117268431A (zh) 角度传感器自动标定方法、装置和系统
CN115919250A (zh) 一种人体动态关节角测量系统
CN109591051A (zh) 复合机器人作业精度补偿方法、系统及存储介质
CN106931965B (zh) 一种确定终端姿态的方法及装置
CN109814714B (zh) 运动传感器的安装姿态确定方法、装置以及存储介质
CN107356786B (zh) 加速度计的校准方法和装置、计算机可读存储介质
US11620846B2 (en) Data processing method for multi-sensor fusion, positioning apparatus and virtual reality device
CN108762527A (zh) 一种识别定位方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12872483

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12872483

Country of ref document: EP

Kind code of ref document: A1