US20090093984A1 - Method and apparatus for calibrating gyro-sensor - Google Patents
Method and apparatus for calibrating gyro-sensor Download PDFInfo
- Publication number
- US20090093984A1 US20090093984A1 US11/524,397 US52439706A US2009093984A1 US 20090093984 A1 US20090093984 A1 US 20090093984A1 US 52439706 A US52439706 A US 52439706A US 2009093984 A1 US2009093984 A1 US 2009093984A1
- Authority
- US
- United States
- Prior art keywords
- gyro
- angular velocity
- characteristic equation
- temperature
- sensor
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C19/00—Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
Definitions
- the present invention relates to a method and apparatus for calibrating a gyro-sensor, and more particularly, to a method and apparatus for calibrating a gyro-sensor by which a gyro-sensor can be calibrated using data which is obtained by measuring an angular velocity and a gyro output value of a moving body equipped with the gyro-sensor.
- a gyro-sensor is one example of an inertial sensor.
- An inertial sensor senses the motion of a handheld terminal and may be configured with an accelerometer and a gyroscope.
- An accelerometer is a sensor that measures an acceleration of a moving object
- a gyroscope is a sensor that measures a rotational angular velocity of a moving object.
- Gyro-sensors which provide angular displacement and angular velocity information, have been widely adopted in various fields such as model airplane attitude control, and inertial navigation system (INS) for the guided control of ships, aircrafts and munitions.
- INS inertial navigation system
- gyro-sensors ranges across almost all existing industrial fields such as automobiles, ships, factory automation, marine exploration, and airspace exploration.
- Technology has been developed in earnest and has been continuously improved according to a demand for a small-sized, lightweight, less expensive, highly-efficient and precise gyro sensors.
- gyro-sensors can be classified into high-priced gyro-sensors and low-priced gyro-sensors. While ensuring excellent performance, high-priced gyro-sensors tend to be expensive and, as such, are not cost-effective when applied to mobile robots requiring cost competitiveness, e.g., robot vacuum cleaners. Thus, low-cost gyro-sensors are applied to such mobile robots. In order ensure satisfactory performance of a low-priced gyro-sensor even when it is applied to a robot vacuum cleaner, the low-priced gyro-sensor needs to be calibrated appropriately for achieving optimized performance.
- gyro-sensors may be calibrated when manufactured. However, calibrating each of a considerable number of gyro-sensors may involve an increase in the manufacturing cost, which is not cost-effective. In addition, since the gyro-sensors and circuits characteristics may vary due to environmental factors changing with time, the accuracy of the gyro-sensors is likely to degrade after an extended use of period, which is generally called aging.
- An aspect of the present invention provides a method and apparatus for calibrating a gyro-sensor, by which a gyro-sensor can be calibrated using data which is obtained by measuring an angular velocity and a gyro output value of a moving body equipped with the gyro-sensor.
- An aspect of the present invention also provides a method and apparatus for calibrating a gyro-sensor, by which a reduction of accuracy due to a characteristic curve of the gyro-sensor delicately varying over a change of temperatures.
- a method of calibrating a gyro-sensor including (a) measuring an angular velocity of a moving body and an average output value of the gyro-sensor when the moving body, equipped with the gyro-sensor, rotates, (b) obtaining data about a characteristic equation of the gyro sensor using the measured angular velocity and the average output value and storing the data, and (c) calibrating the gyro-sensor using the stored data about the characteristic equation.
- an apparatus for calibrating a gyro-sensor including a measurement module obtaining an angular velocity of a moving body and an average output value of the gyro-sensor when the moving body, equipped with the gyro-sensor, rotates, an operation module obtaining data about a characteristic equation of the gyro sensor using the obtained angular velocity and the average output value, a storage module storing the obtained data, and a calibration module calibrating the gyro-sensor using the stored data about the characteristic equation.
- a method of a method of enhancing an efficiency of location estimation of a mobile robot including measuring an angular velocity of the mobile robot via a gyro-sensor in the mobile robot and measuring an average output of the gyro-sensor at each of plural temperatures, obtaining a characteristic equation for each of the temperatures, each characteristic equation yielding a characteristic curve usable to estimate a location of the mobile robot in real time, and calibrating the gyro-sensor based on data of at least one of the plurality of characteristic equations corresponding to a current temperature.
- FIG. 1 is a block diagram of a gyro-sensor according to an embodiment of the present invention
- FIG. 2 is a flowchart illustrating a method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 3 is a detailed flowchart illustrating the measurement of an angular velocity and an output value of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 4 is a detailed flowchart illustrating the storing of a characteristic equation in the method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 5 is a detailed flowchart illustrating the calibration of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 6 is a diagram illustrating a characteristic curve derived from a gyro characteristic equation according to an exemplary embodiment of the present invention
- FIG. 7 is a diagram illustrating a method of measuring an angular velocity of a moving body using infrared rays according to an embodiment of the present invention.
- FIG. 8 is a diagram illustrating a method of measuring an angular velocity of a moving body using a plurality of hole sensors according to an embodiment of the present invention.
- FIG. 1 is a block diagram of a gyro-sensor according to an embodiment of the present invention.
- the gyro-sensor includes a measurement module 100 which measures an angular velocity and a gyro output value, an operation module 200 which obtains data about a characteristic curve, a storage module 300 which stores the data about the characteristic curve, and a calibration module 400 which calibrates the gyro-sensor.
- the measurement module 100 measures an angular velocity and a gyro output value of a moving body equipped with the gyro-sensor.
- the gyro output value (mV) of the gyro-sensor is an independent variable and the angular velocity (deg/sec) of the gyro-sensor is a dependent variable.
- the obtained angular velocity and output value are data for obtaining coefficients of the characteristic equation.
- the angular velocity ⁇ can be measured using a rotation time period T measured at a fixed location of the moving body by the equation:
- the rotation time period T is measured in one of the following two methods: a first method which is associated with the use of infrared transmission and reception units and a second method which is associated with the use of hole sensors which sense a magnetic field.
- FIG. 7 is a diagram illustrating a method of measuring an angular velocity of a moving body 710 using infrared rays according to an embodiment of the present invention.
- the measurement module 100 measures the angular velocity ⁇ of the moving body 710 equipped with an infrared reception unit 711 when the moving body 710 begins to rotate on a home base 720 having an infrared transmission unit 721 in a “START” state 730 , enters a “ROTATE” state 740 , and then rotates at a constant angular velocity.
- the measurement module 100 measures a first sensing time at which the infrared reception unit 711 senses for the first time infrared rays emitted by the infrared transmission unit 721 .
- the moving body 710 rotates once, and then, the measurement module 100 measures a second sensing time at which the infrared reception unit 711 senses for the second time infrared rays emitted by the infrared transmission unit 721 .
- a difference between the first sensing time and the second sensing time is the rotation time period T.
- the rotation time period T uses the rotation time period T to obtain the angular velocity w.
- Non-limiting examples of the “STOP ROTATING” state of the moving body 710 include a state immediately before the moving body 710 is separated from the home base 720 to perform a specified operation or a state immediately after the moving body 710 terminates a specified operation to return to the home base 720 .
- n angular velocities w can be measured by the equation:
- the measurement module 100 obtains an average output value of the gyro-sensor by integrating a plurality of gyro output values measured over the rotation period T between the first sensing time and the second sensing time.
- a set of n measurements of angular velocity and n average output values corresponding to the measurements of angular velocity are obtained by obtaining the average output value of the gyro-sensor n times while the measurement module 100 measures the angular velocity n times.
- the obtained set is used as data for obtaining coefficients of the gyro characteristic equation.
- FIG. 8 is a diagram illustrating a method of measuring an angular velocity of a moving body using a plurality of hole sensors according to an embodiment of the present invention.
- the measurement module 100 measures a first sensing time at which a permanent magnet 722 provided in the home base 720 is sensed by an nth sensor 712 _n among the plurality of hole sensors. Thereafter, the measurement module 100 measures a second sensing time at which the permanent magnet 722 is sensed by an (n+1)th sensor 712 _n+1. A difference between the first sensing time and the second sensing time is the rotation time period T. Using the rotation time period T, the angular velocity ⁇ can be obtained.
- a rotation time period T may be obtained at each angular velocity while varying angular velocity values measured at a variety of points of measurement time.
- n rotation time periods T is obtained by performing an iteration of the above-described operations while varying the angular velocity ⁇ n times, which is equal to the number of coefficients of the gyro characteristic equation, exclusive of the number of the constant term, i.e., one.
- n angular velocities ⁇ can be measured by the equation:
- the measurement module 100 obtains an average output value of the gyro-sensor by integrating the gyro output values measured over the rotation period T between the first sensing time and the second sensing time.
- a set of n measurements of angular velocity and n average output values corresponding to the measurements of angular velocity are obtained by obtaining the average output value of the gyro-sensor n times while the measurement module 100 measures the angular velocity n times.
- FIG. 6 which illustrates a characteristic curve derived from the gyro characteristic equation
- the characteristics of the curve shown in FIG. 6 can be expressed by:
- F ( x ) C 0 +C 1 x+C 2 x 2 + . . . +C n x n .
- the output value of the gyro sensor is set as an independent variable x and the an angular velocity is set as a dependent variable, and C 0 , C 1 , C 2 , . . . , C n are coefficients of the gyro characteristic equation. Since the gyro characteristic equation is an equation of an n-th degree, the number of the coefficients C 0 , C 1 , C 2 , . . . , C n is n+1 in total and n+1 coordinate values are necessary to obtain the n+1 coefficients.
- each tuple set consisting of gyro output values x, which are experimentally determined values, and measurements of angular velocity F(x), which are obtained based on the rotation time period measured in either way of using of infrared transmission and reception units or using of hole sensors sensing a magnetic field.
- the tuple set consisting of gyro output values x and measurements of angular velocity F(x) may also be obtained by installing a gyro-sensor at a rotation axis of a rotation motor in the moving body.
- the operation module 200 obtains data about the characteristic equation of the gyro-sensor based on the angular velocity and the average output value obtained by the above-described method.
- the operation module 200 substitutes tuple sets consisting of n measurements of angular velocity (deg/sec) and n average output values (mV) for the characteristic equation, thereby solving the simultaneous equations for obtaining coefficients C 1 , C 2 , . . . , C n , exclusive of a constant term C 0 among coefficients C 0 , C 1 , C 2 , . . . , C n of the characteristic equation of an n-th degree, as expressed in the above equation.
- the storage module 300 stores the data about the obtained coefficients of the characteristic equation, and the calibration module 400 converts the gyro output value into an angular velocity using the stored data for real-time calibration.
- the measurement module 100 indicates a value of the current temperature measured at a time at which a set of the angular velocity the average output value are obtained as a temperature index, obtains a set value at a specified temperature interval over a specified temperature range including the value of the current temperature. That is to say, the measurement module 100 obtains tuple sets consisting of n measurements of angular velocity (deg/sec) and n average output values(mV) measured at different temperatures at a specified interval within a specified temperature range and matches the obtained tuple sets with the temperatures measured when the respective ones of the tuple sets are obtained.
- the specified temperature range is a temperature environment in which the moving body can operate, by way of a non-limiting example, in the range of between about ⁇ 10° C. and about 40° C.
- the temperatures may be measured at a temperature interval of about 2° C. Since the gyro output value (x) is temperature-dependent, it is necessary to yield a set by as n measurements of angular velocity and n gyro output values to obtain as many data measures as possible, which means the temperature interval may set to be quite small, so that there are quite many temperature measurements available within the specified temperature range.
- the operation module 200 After obtaining the set values based on the measured temperatures of the specified interval, the operation module 200 obtains characteristic equations based on the set values using the respective measured temperatures as indexes. In detail, the operation module 200 obtains coefficients, i.e., C 1 , C 2 , . . . , C n , using a set of n measurements of angular velocity and n gyro output values and the constant term, i.e., C 0 , thereby providing data about the characteristic equations using the respective temperatures as indexes.
- coefficients i.e., C 1 , C 2 , . . . , C n
- the storage module 300 matches the data about the characteristic equation obtained in the above-described manner to the temperature indexes to then store the matched data, or stores the coefficients C 0 , C 1 , C 2 , . . . C n of the characteristic equation. If duplicate data about the characteristic equation are stored in the storage module 300 as the same temperature index, the storage module 300 updates the data about the characteristic equation using the most recently stored data.
- the calibration module 400 substitutes the gyro output value measured by the measurement module 100 for the characteristic equation stored in the storage module 300 to convert the gyro output value into a value of angular velocity, thereby calibrating the gyro-sensor in real time.
- the characteristic model can be expressed by:
- ⁇ tilde over ( ⁇ ) ⁇ z (1 +S z ) ⁇ z +M x ⁇ x +M y ⁇ y +B fz +B gx ⁇ x +B gy ⁇ y +B gz ⁇ z +n z
- the left side indicates the gyro output value reflecting various factors represented by terms in the right side in a case of using the z-axis of a mobile robot as a rotation axis.
- the last term (n z ) in the right side indicates a bias randomly varying over time and is a substantially uncalibratable term.
- a factor of XY coupling (M x ⁇ x +M y ⁇ y ), i.e., the sum of the second and third terms in the right side, indicates an error generated by rotation of the x-axis and the y-axis, which is trivial enough to be negligible compared to an error generated by rotation of the z-axis.
- a factor of g-sensitivity (B gx a x +B gy a y +B gz a z ), the sum of the fifth through seventh terms, indicates an error generated by acceleration applied to the gyro-sensor, which is also negligible.
- the fourth term (B fz ) in the right side indicates a constant bias, which does not vary over time but varies with a correlation with temperature, suggesting that temperature-dependent calibration is necessary.
- the calibration is performed in a “STOP ROTATING” state of the moving body, that is, in a state where the angular velocity is zero.
- the constant bias can be represented by a constant term C 0 in the above characteristic equation of the gyro-sensor.
- S z in the first term (1+S z ) ⁇ z is an scaling factor indicating the correlation between the angular velocity and the gyro output value, which delicately varies according to the angular velocity and temperature.
- the scaling factor can be represented by the remaining coefficients C 1 , C 2 , . . . , C n in the gyro characteristic equation, exclusive of the constant term C 0 .
- the first term and the fourth term are to be calibrated. Since the method of obtaining the constant term is the same as described above, a method of calibrating the angular velocity based on the gyro output value will now be described.
- a current temperature is measured at a time when the location of the moving body 710 is estimated by means of the gyro-sensor and it is detected whether or not there is data about the characteristic equation stored in a database of the storage module 300 using the measured current temperature as the temperature index. If there is corresponding data in the database, the data corresponding to the characteristic equation is detected. If not, data about two characteristic equations corresponding to a pair of upper and lower temperatures that are closest to the measured current temperature is detected. Alternatively, after detecting the two characteristic equations corresponding to the upper and lower temperatures that are closest to the measured current temperature, a characteristic equation corresponding to the measured current temperature may be obtained through interpolation.
- the calibration module 400 converts the gyro output value into the angular velocity using the data about the detected characteristic equation.
- the characteristic curve of the gyro-sensor can be adaptively calibrated in real time. If there is a temperature change not less than a specified temperature level, the calibrating operation may be performed again because the characteristic equation is changed due to the temperature change. In this case, it is necessary to detect a characteristic equation for a new temperature and convert a gyro output value into a new angular velocity value by substituting the gyro output value for the detected characteristic equation.
- the temperature change is preferably not less than ° C.
- a module means, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), which performs certain tasks.
- a module may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors.
- a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- the functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules.
- the components and modules may be implemented such that they execute one or more central processing units (CPUs) in a device.
- CPUs central processing units
- FIG. 2 is a flowchart illustrating a method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 3 is a detailed flowchart illustrating the measurement of an angular velocity and an output value of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 2 is a flowchart illustrating a method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 3 is a detailed flowchart illustrating the measurement of an angular velocity and an output value of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 1 is a flowchart illustrating a method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 3 is a detailed flowchart illustrating the measurement of an angular velocity and an output value of a
- FIG. 4 is a detailed flowchart illustrating the producing and storing of a characteristic equation in the method of calibrating a gyro-sensor according to an embodiment of the present invention
- FIG. 5 is a detailed flowchart illustrating the calibrating of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention.
- the measurement module 100 obtains an angular velocity ⁇ of the moving body equipped with the gyro-sensor and an average output value of the gyro-sensor.
- the angular velocity ⁇ can be obtained using a rotation time period T of the moving body when the moving body is at a fixed location, as indicated by the following equation:
- a method of obtaining the rotation time period T will be described in detail with reference to FIG. 3 .
- the moving body 710 having the infrared reception unit 711 is allowed to rotate on the home base 720 having the infrared transmission unit 721 at a constant angular velocity.
- the moving body 710 equipped with a plurality of hole sensors disposed in constant intervals is allowed to rotate at a constant angular velocity on the home base 720 having the permanent magnet 722 detecting the hole sensors.
- a first sensing time at which the infrared reception unit 711 senses for the first time infrared rays emitted by the infrared transmission unit 721 or at which the nth hole sensor 712 _n among the plurality of hole sensors is sensed by the permanent magnet 722 is measured.
- the moving body 720 rotates once, and then, a second sensing time at which the infrared reception unit 711 senses for the second time infrared rays emitted by the infrared transmission unit 721 or at which the (n+1)th hole sensor 712 _n+1 is sensed is measured.
- the moving body 720 is allowed to stop rotating, as indicated by “STOP” state, as shown in the lower right portion of FIG. 7 .
- the rotation time period T corresponding to a time taken for the moving body 710 to rotate once is obtained using a difference between the first sensing time and the second sensing time, and the angular velocity ⁇ is obtained using the rotation time period T, in operation S 213 .
- An average gyro output value is obtained by integrating a plurality of gyro output values, which are measured at a variety of points of measurement time ranging between the first sensing time and the second sensing time, in operation S 214 .
- the angular velocity is varied in operation S 216 to perform the iteration from operation S 211 to operations S 214 again.
- the iteration from operations S 211 to S 214 has been performed n times
- n measurements of angular velocity obtained from n rotation time periods are obtained and n gyro output values corresponding to the n measurements of angular velocity are also obtained, thus yielding a set of n gyro output values corresponding to the n measurements of angular velocity.
- each of the plurality of sets of measurements of angular velocity and gyro output values is matched to each of the plurality of temperatures. That is to say, That is to say, tuple sets consisting of n measurements of angular velocity (deg/sec) and n average output values(mV) measured at different temperatures at a specified interval within a specified temperature range are obtained and the obtained tuple sets are matched with the temperatures measured when the respective ones of the tuple sets are obtained. And, the matched temperature can serve as an index.
- the specified plurality may equal to a total number of coefficients of the gyro characteristic equation where the gyro output values are independent variables and the measurements of angular velocity are dependent variables.
- the specified temperature range may be between ⁇ 10° C. and 40° C.
- the specified temperature interval may be approximately 2° C.
- the gyro output values may be affected by a change in the temperature.
- the gyro output value is measured when the moving body 710 rotates at 0 [deg/sec], as indicated by a “STOP ROTATING” state 750 . Accordingly, like in operation S 215 of FIG. 3 , it is determined whether the iteration has been performed n times.
- Preferred examples of the “STOP ROTATING” state of the moving body 710 include a state immediately before the moving body 710 is separated from the home base to perform a specified operation, e.g., cleaning, or a state immediately after the moving body 710 terminates the specified operation to return to the home base 720 .
- the operation module 200 obtains data about a characteristic equation of the gyro sensor using the measured angular velocity and the average gyro output value.
- the storage module 300 stores the data about the characteristic equation obtained by the operation module 200 .
- the second and third operations will later be described in further detail with reference to FIG. 4 .
- the characteristic equation is produced by calculating values of the coefficients of the characteristic equation. If one or more characteristic equations for temperature indexes are necessary, characteristic equations for different temperatures may be produced in operation S 222 .
- the storage module 300 stores data about the produced characteristic equations in operation S 230 .
- the number of the coefficients of the characteristic equation i.e., C 0 , C 1 , C 2 , . . . , C n , is (n+1) in total and the coefficients vary according to temperatures. Accordingly, the coefficients can be obtained at different temperatures by substituting a set of (n+1) measurements of angular velocity and (n+1) average output values for the characteristic equation for each of the different temperatures. Based on the obtained coefficients, the characteristic equation can be produced to then be stored. Data about coefficients of the characteristic equation produced at different temperatures can be collected as a database.
- FIG. 5 illustrates a process of calibrating a gyro-sensor using the stored data about the characteristic equation for temperature indexes.
- the present embodiment is not limited to the calibration process using data about characteristic equations stored for the respective temperature indexes and the calibration process can be performed irrespective of temperature indexes, which is the same as described above.
- the process of calibrating a gyro-sensor will be described with regard to the use of the stored data about the characteristic equation for temperature indexes with reference to FIG. 5 .
- the gyro-sensor is calibrated in real time based on the data about the characteristic equation stored in the storage module 300 while estimating the location of the moving body 710 .
- a current temperature is measured in operation S 241 .
- operation S 243 if the data about the characteristic equation exists in the storage module 300 , the data about the characteristic equation is detected from the storage module 300 .
- the measurement module 100 measures the gyro output value at the current temperature in operation S 245 . Thereafter, the gyro output value measured at the current temperature is converted into an angular velocity with reference to the data about the characteristic equation detected from the storage module 300 . In operation S 246 , the gyro-sensor is calibrated in real time.
- operation S 247 it is determined whether there is a temperature change not less than a specified temperature level. If it is determined in operation S 247 that there is a temperature change not less than the specified temperature level, the process returns to operation S 241 . On the other hand, if it is determined in operation S 247 that there is no temperature change or a slight temperature change, the process returns to operation S 245 without detecting the characteristic equation from the storage module 300 , to then measure the gyro output value again.
- the specified temperature level may be approximately 2° C. because the characteristic equation is stored in the storage module 300 in a temperature interval of 2° C.
- the calibrating apparatus of the gyro-sensor is not limited to the illustrated embodiment and it will be apparent to those skilled in the art that the invention can also be applied to a computer readable recording medium having program codes recorded therein, the program codes for executing the above-described calibrating method without departing from the scope and spirit of the invention.
- data about a characteristic equation of the gyro-sensor which can be used to estimate the location of a moving body is detected in real time and an output value of the gyro-sensor is converted into an angular velocity to calibrate an offset of the gyro-sensor and a characteristic curve, thereby enhancing the accuracy of measuring the angular velocity of the gyro-sensor.
- the accuracy of measuring the angular velocity of the gyro-sensor can be enhanced at low cost, so that the invention can be applied to a mobile robot, such as a cleaning robot.
- embodiments of the present invention allow for continuous calibration, making it possible to reduce an error of a gyro-sensor which is generated after an extended use of time of the gyro-sensor and using the detected characteristic curve.
- the manufacturing cost can be reduced and the precision level of the gyro-sensor can be maintained irrespective of a change in the temperature.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Manufacturing & Machinery (AREA)
- Gyroscopes (AREA)
Abstract
Description
- This application is based on and claims priority from Korean Patent Application Nos. 10-2005-0087746 and 10-2006-0075221, respectively filed on Sep. 21, 2005 and Aug. 9, 2006, respectively, the disclosures of which are hereby incorporated herein by reference.
- 1. Field of the Invention
- The present invention relates to a method and apparatus for calibrating a gyro-sensor, and more particularly, to a method and apparatus for calibrating a gyro-sensor by which a gyro-sensor can be calibrated using data which is obtained by measuring an angular velocity and a gyro output value of a moving body equipped with the gyro-sensor.
- 2. Description of Related Art
- A gyro-sensor is one example of an inertial sensor. An inertial sensor senses the motion of a handheld terminal and may be configured with an accelerometer and a gyroscope. An accelerometer is a sensor that measures an acceleration of a moving object, while a gyroscope is a sensor that measures a rotational angular velocity of a moving object. Gyro-sensors, which provide angular displacement and angular velocity information, have been widely adopted in various fields such as model airplane attitude control, and inertial navigation system (INS) for the guided control of ships, aircrafts and munitions. In other words, the application of gyro-sensors ranges across almost all existing industrial fields such as automobiles, ships, factory automation, marine exploration, and airspace exploration. Technology has been developed in earnest and has been continuously improved according to a demand for a small-sized, lightweight, less expensive, highly-efficient and precise gyro sensors.
- From the viewpoint of manufacturing cost, gyro-sensors can be classified into high-priced gyro-sensors and low-priced gyro-sensors. While ensuring excellent performance, high-priced gyro-sensors tend to be expensive and, as such, are not cost-effective when applied to mobile robots requiring cost competitiveness, e.g., robot vacuum cleaners. Thus, low-cost gyro-sensors are applied to such mobile robots. In order ensure satisfactory performance of a low-priced gyro-sensor even when it is applied to a robot vacuum cleaner, the low-priced gyro-sensor needs to be calibrated appropriately for achieving optimized performance.
- First, gyro-sensors may be calibrated when manufactured. However, calibrating each of a considerable number of gyro-sensors may involve an increase in the manufacturing cost, which is not cost-effective. In addition, since the gyro-sensors and circuits characteristics may vary due to environmental factors changing with time, the accuracy of the gyro-sensors is likely to degrade after an extended use of period, which is generally called aging.
- To address such a problem, in a conventional method of calibrating in real time a gyro-sensor in a mobile robot disclosed in Korean Patent Publication No. 10-2004-0062038, entitled “Method of Compensating for Offset of Robot Cleaner,” an orientation error of a robot cleaner is compensated for by correcting an offset value of a gyro-sensor, thus minimizing the orientation error of the robot cleaner regardless of variations in the offset of the gyro-sensor. However, an offset of the gyro-sensor can be compensated for only in a stop mode and a characteristic curve based on a gyro characteristic equation cannot be calibrated.
- An aspect of the present invention provides a method and apparatus for calibrating a gyro-sensor, by which a gyro-sensor can be calibrated using data which is obtained by measuring an angular velocity and a gyro output value of a moving body equipped with the gyro-sensor.
- An aspect of the present invention also provides a method and apparatus for calibrating a gyro-sensor, by which a reduction of accuracy due to a characteristic curve of the gyro-sensor delicately varying over a change of temperatures.
- According to an aspect of the present invention, there is provided a method of calibrating a gyro-sensor, the method including (a) measuring an angular velocity of a moving body and an average output value of the gyro-sensor when the moving body, equipped with the gyro-sensor, rotates, (b) obtaining data about a characteristic equation of the gyro sensor using the measured angular velocity and the average output value and storing the data, and (c) calibrating the gyro-sensor using the stored data about the characteristic equation.
- According to another aspect of the present invention, there is provided an apparatus for calibrating a gyro-sensor, the apparatus including a measurement module obtaining an angular velocity of a moving body and an average output value of the gyro-sensor when the moving body, equipped with the gyro-sensor, rotates, an operation module obtaining data about a characteristic equation of the gyro sensor using the obtained angular velocity and the average output value, a storage module storing the obtained data, and a calibration module calibrating the gyro-sensor using the stored data about the characteristic equation.
- According to another aspect of the present invention, there is provided a method of a method of enhancing an efficiency of location estimation of a mobile robot, the method including measuring an angular velocity of the mobile robot via a gyro-sensor in the mobile robot and measuring an average output of the gyro-sensor at each of plural temperatures, obtaining a characteristic equation for each of the temperatures, each characteristic equation yielding a characteristic curve usable to estimate a location of the mobile robot in real time, and calibrating the gyro-sensor based on data of at least one of the plurality of characteristic equations corresponding to a current temperature.
- According to other aspects of the present invention, there are provided computer-readable storage media encoded with processing instructions for causing a processor to execute the aforementioned methods.
- Additional and/or other aspects and advantages of the present invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
- The above and/or other aspects and advantages of the present invention will become apparent and more readily appreciated from the following detailed description, taken in conjunction with the accompanying drawings of which:
-
FIG. 1 is a block diagram of a gyro-sensor according to an embodiment of the present invention; -
FIG. 2 is a flowchart illustrating a method of calibrating a gyro-sensor according to an embodiment of the present invention; -
FIG. 3 is a detailed flowchart illustrating the measurement of an angular velocity and an output value of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention; -
FIG. 4 is a detailed flowchart illustrating the storing of a characteristic equation in the method of calibrating a gyro-sensor according to an embodiment of the present invention; -
FIG. 5 is a detailed flowchart illustrating the calibration of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention; -
FIG. 6 is a diagram illustrating a characteristic curve derived from a gyro characteristic equation according to an exemplary embodiment of the present invention; -
FIG. 7 is a diagram illustrating a method of measuring an angular velocity of a moving body using infrared rays according to an embodiment of the present invention; and -
FIG. 8 is a diagram illustrating a method of measuring an angular velocity of a moving body using a plurality of hole sensors according to an embodiment of the present invention. - Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
- A method and apparatus for calibrating a gyro-sensor according to an embodiment of the invention will be described with reference to the accompanying drawings.
-
FIG. 1 is a block diagram of a gyro-sensor according to an embodiment of the present invention. Referring toFIG. 1 , the gyro-sensor includes ameasurement module 100 which measures an angular velocity and a gyro output value, anoperation module 200 which obtains data about a characteristic curve, astorage module 300 which stores the data about the characteristic curve, and acalibration module 400 which calibrates the gyro-sensor. - To obtain a characteristic equation of an n-th degree representing a characteristic curve of the gyro-sensor, the
measurement module 100 measures an angular velocity and a gyro output value of a moving body equipped with the gyro-sensor. In the characteristic curve of the gyro-sensor, the gyro output value (mV) of the gyro-sensor is an independent variable and the angular velocity (deg/sec) of the gyro-sensor is a dependent variable. The obtained angular velocity and output value are data for obtaining coefficients of the characteristic equation. - The angular velocity ω can be measured using a rotation time period T measured at a fixed location of the moving body by the equation:
-
- The rotation time period T is measured in one of the following two methods: a first method which is associated with the use of infrared transmission and reception units and a second method which is associated with the use of hole sensors which sense a magnetic field.
- In the first method, it is assumed that a moving body having an infrared reception unit rotates at a constant angular velocity on a home base having an infrared transmission unit, which is illustrated in
FIG. 7 .FIG. 7 is a diagram illustrating a method of measuring an angular velocity of a movingbody 710 using infrared rays according to an embodiment of the present invention. - Referring to
FIGS. 1 and 7 , themeasurement module 100 measures the angular velocity ω of the movingbody 710 equipped with aninfrared reception unit 711 when the movingbody 710 begins to rotate on ahome base 720 having aninfrared transmission unit 721 in a “START”state 730, enters a “ROTATE”state 740, and then rotates at a constant angular velocity. First, in the “ROTATE”state 740, themeasurement module 100 measures a first sensing time at which theinfrared reception unit 711 senses for the first time infrared rays emitted by theinfrared transmission unit 721. Thereafter, the movingbody 710 rotates once, and then, themeasurement module 100 measures a second sensing time at which theinfrared reception unit 711 senses for the second time infrared rays emitted by theinfrared transmission unit 721. A difference between the first sensing time and the second sensing time is the rotation time period T. Using the rotation time period T, the angular velocity w can be obtained. - The rotation time period T may be obtained at each angular velocity while varying angular velocity values measured at a variety of points of measurement time. Since the gyro characteristic equation is an equation of an n-th degree and (n+1) coefficients are available. A constant term corresponding to an off-set can be obtained by measuring a gyro output value in a “STOP ROTATING” state of the moving
body 710, that is, ω=0. Non-limiting examples of the “STOP ROTATING” state of the movingbody 710 include a state immediately before the movingbody 710 is separated from thehome base 720 to perform a specified operation or a state immediately after the movingbody 710 terminates a specified operation to return to thehome base 720. - Accordingly, an iteration of the above-described operations is performed while varying the angular velocity ωn times, which is equal to the number of coefficients of the gyro characteristic equation, exclusive of the number of the constant term, i.e., one, to obtain n rotation time periods T Also, n angular velocities w can be measured by the equation:
-
- In addition, the
measurement module 100 obtains an average output value of the gyro-sensor by integrating a plurality of gyro output values measured over the rotation period T between the first sensing time and the second sensing time. A set of n measurements of angular velocity and n average output values corresponding to the measurements of angular velocity are obtained by obtaining the average output value of the gyro-sensor n times while themeasurement module 100 measures the angular velocity n times. The obtained set is used as data for obtaining coefficients of the gyro characteristic equation. - In the second method in which an angular velocity and a gyro output value may be measured using a hole sensor which senses a magnetic field, it is assumed that a moving body equipped with a plurality of hole sensors disposed in constant intervals rotates at a constant angular velocity on a home base in which a permanent magnet is disposed, which is illustrated in
FIG. 8 .FIG. 8 is a diagram illustrating a method of measuring an angular velocity of a moving body using a plurality of hole sensors according to an embodiment of the present invention. - Referring to
FIGS. 1 and 8 , themeasurement module 100 measures a first sensing time at which apermanent magnet 722 provided in thehome base 720 is sensed by an nth sensor 712_n among the plurality of hole sensors. Thereafter, themeasurement module 100 measures a second sensing time at which thepermanent magnet 722 is sensed by an (n+1)thsensor 712_n+ 1. A difference between the first sensing time and the second sensing time is the rotation time period T. Using the rotation time period T, the angular velocity ω can be obtained. - A rotation time period T may be obtained at each angular velocity while varying angular velocity values measured at a variety of points of measurement time. n rotation time periods T is obtained by performing an iteration of the above-described operations while varying the angular velocity ωn times, which is equal to the number of coefficients of the gyro characteristic equation, exclusive of the number of the constant term, i.e., one. Also, n angular velocities ω can be measured by the equation:
-
- In addition, the
measurement module 100 obtains an average output value of the gyro-sensor by integrating the gyro output values measured over the rotation period T between the first sensing time and the second sensing time. A set of n measurements of angular velocity and n average output values corresponding to the measurements of angular velocity are obtained by obtaining the average output value of the gyro-sensor n times while themeasurement module 100 measures the angular velocity n times. - Referring to
FIG. 6 , which illustrates a characteristic curve derived from the gyro characteristic equation, the characteristics of the curve shown inFIG. 6 can be expressed by: -
F(x)=C 0 +C 1 x+C 2 x 2 + . . . +C n x n. - The output value of the gyro sensor is set as an independent variable x and the an angular velocity is set as a dependent variable, and C0, C1, C2, . . . , Cn are coefficients of the gyro characteristic equation. Since the gyro characteristic equation is an equation of an n-th degree, the number of the coefficients C0, C1, C2, . . . , Cn is n+1 in total and n+1 coordinate values are necessary to obtain the n+1 coefficients. (n+1) tuple sets are determined, each tuple set consisting of gyro output values x, which are experimentally determined values, and measurements of angular velocity F(x), which are obtained based on the rotation time period measured in either way of using of infrared transmission and reception units or using of hole sensors sensing a magnetic field.
- Alternatively, the tuple set consisting of gyro output values x and measurements of angular velocity F(x) may also be obtained by installing a gyro-sensor at a rotation axis of a rotation motor in the moving body.
- Referring to
FIGS. 1 and 6 , theoperation module 200 obtains data about the characteristic equation of the gyro-sensor based on the angular velocity and the average output value obtained by the above-described method. In detail, theoperation module 200 substitutes tuple sets consisting of n measurements of angular velocity (deg/sec) and n average output values (mV) for the characteristic equation, thereby solving the simultaneous equations for obtaining coefficients C1, C2, . . . , Cn, exclusive of a constant term C0 among coefficients C0, C1, C2, . . . , Cn of the characteristic equation of an n-th degree, as expressed in the above equation. Thestorage module 300 stores the data about the obtained coefficients of the characteristic equation, and thecalibration module 400 converts the gyro output value into an angular velocity using the stored data for real-time calibration. - In calibrating the gyro-sensor, however, consideration may be taken of the fact that coefficient values of the characteristic equation vary according to the current temperature at which the gyro-sensor operates. In this case, the characteristic equation may be obtained at different temperatures for storage. Next, a method of obtaining a plurality of characteristic equations varying according to temperatures will be described.
- The
measurement module 100 indicates a value of the current temperature measured at a time at which a set of the angular velocity the average output value are obtained as a temperature index, obtains a set value at a specified temperature interval over a specified temperature range including the value of the current temperature. That is to say, themeasurement module 100 obtains tuple sets consisting of n measurements of angular velocity (deg/sec) and n average output values(mV) measured at different temperatures at a specified interval within a specified temperature range and matches the obtained tuple sets with the temperatures measured when the respective ones of the tuple sets are obtained. - Here, the specified temperature range is a temperature environment in which the moving body can operate, by way of a non-limiting example, in the range of between about −10° C. and about 40° C. The temperatures may be measured at a temperature interval of about 2° C. Since the gyro output value (x) is temperature-dependent, it is necessary to yield a set by as n measurements of angular velocity and n gyro output values to obtain as many data measures as possible, which means the temperature interval may set to be quite small, so that there are quite many temperature measurements available within the specified temperature range.
- After obtaining the set values based on the measured temperatures of the specified interval, the
operation module 200 obtains characteristic equations based on the set values using the respective measured temperatures as indexes. In detail, theoperation module 200 obtains coefficients, i.e., C1, C2, . . . , Cn, using a set of n measurements of angular velocity and n gyro output values and the constant term, i.e., C0, thereby providing data about the characteristic equations using the respective temperatures as indexes. - The
storage module 300 matches the data about the characteristic equation obtained in the above-described manner to the temperature indexes to then store the matched data, or stores the coefficients C0, C1, C2, . . . Cn of the characteristic equation. If duplicate data about the characteristic equation are stored in thestorage module 300 as the same temperature index, thestorage module 300 updates the data about the characteristic equation using the most recently stored data. - When a characteristic curve may be calibrated in real time while the moving body performs an actual operation, the
calibration module 400 substitutes the gyro output value measured by themeasurement module 100 for the characteristic equation stored in thestorage module 300 to convert the gyro output value into a value of angular velocity, thereby calibrating the gyro-sensor in real time. For calibration of the gyro-sensor, it is necessary to examine a characteristic model of the gyro-sensor. The characteristic model can be expressed by: -
{tilde over (ω)}z=(1+S z)ωz +M xωx +M yωy +B fz +B gxαx +B gyαy +B gzαz +n z - The left side ({tilde over (ω)}z) indicates the gyro output value reflecting various factors represented by terms in the right side in a case of using the z-axis of a mobile robot as a rotation axis. The last term (nz) in the right side indicates a bias randomly varying over time and is a substantially uncalibratable term. A factor of XY coupling (Mxωx+Myωy), i.e., the sum of the second and third terms in the right side, indicates an error generated by rotation of the x-axis and the y-axis, which is trivial enough to be negligible compared to an error generated by rotation of the z-axis. A factor of g-sensitivity (Bgxax+Bgyay+Bgzaz), the sum of the fifth through seventh terms, indicates an error generated by acceleration applied to the gyro-sensor, which is also negligible.
- The fourth term (Bfz) in the right side indicates a constant bias, which does not vary over time but varies with a correlation with temperature, suggesting that temperature-dependent calibration is necessary. In this case, the calibration is performed in a “STOP ROTATING” state of the moving body, that is, in a state where the angular velocity is zero. The constant bias can be represented by a constant term C0 in the above characteristic equation of the gyro-sensor. Finally, Sz in the first term (1+Sz)ωz is an scaling factor indicating the correlation between the angular velocity and the gyro output value, which delicately varies according to the angular velocity and temperature. The scaling factor can be represented by the remaining coefficients C1, C2, . . . , Cn in the gyro characteristic equation, exclusive of the constant term C0.
- In the right side of the equation for the characteristic model, the first term and the fourth term are to be calibrated. Since the method of obtaining the constant term is the same as described above, a method of calibrating the angular velocity based on the gyro output value will now be described.
- First, when characteristic equations for temperature indexes are stored in the
storage module 300, a current temperature is measured at a time when the location of the movingbody 710 is estimated by means of the gyro-sensor and it is detected whether or not there is data about the characteristic equation stored in a database of thestorage module 300 using the measured current temperature as the temperature index. If there is corresponding data in the database, the data corresponding to the characteristic equation is detected. If not, data about two characteristic equations corresponding to a pair of upper and lower temperatures that are closest to the measured current temperature is detected. Alternatively, after detecting the two characteristic equations corresponding to the upper and lower temperatures that are closest to the measured current temperature, a characteristic equation corresponding to the measured current temperature may be obtained through interpolation. - When the
measurement module 100 measures the gyro output value of the movingbody 710 performing its operation at the current temperature, thecalibration module 400 converts the gyro output value into the angular velocity using the data about the detected characteristic equation. In such a manner, the characteristic curve of the gyro-sensor can be adaptively calibrated in real time. If there is a temperature change not less than a specified temperature level, the calibrating operation may be performed again because the characteristic equation is changed due to the temperature change. In this case, it is necessary to detect a characteristic equation for a new temperature and convert a gyro output value into a new angular velocity value by substituting the gyro output value for the detected characteristic equation. Here, the temperature change is preferably not less than ° C. - Meanwhile, the term ‘module’, as used in
FIG. 1 , means, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), which performs certain tasks. A module may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors. Thus, a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules. In addition, the components and modules may be implemented such that they execute one or more central processing units (CPUs) in a device. - An overall calibration procedure performed by a gyro-sensor according to an embodiment of the present invention will be described with reference to
FIG. 2 and various operations of the calibration method shown inFIG. 2 will be described in detail with reference toFIGS. 3 through 5 .FIG. 2 is a flowchart illustrating a method of calibrating a gyro-sensor according to an embodiment of the present invention,FIG. 3 is a detailed flowchart illustrating the measurement of an angular velocity and an output value of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention,FIG. 4 is a detailed flowchart illustrating the producing and storing of a characteristic equation in the method of calibrating a gyro-sensor according to an embodiment of the present invention, andFIG. 5 is a detailed flowchart illustrating the calibrating of a gyro-sensor in the method of calibrating a gyro-sensor according to an embodiment of the present invention. - Referring to
FIGS. 2-5 , as a first operation (S210 ofFIG. 2 ), themeasurement module 100 obtains an angular velocity ω of the moving body equipped with the gyro-sensor and an average output value of the gyro-sensor. The angular velocity ω can be obtained using a rotation time period T of the moving body when the moving body is at a fixed location, as indicated by the following equation: -
- A method of obtaining the rotation time period T will be described in detail with reference to
FIG. 3 . - In operation S211, when using infrared transmission, the moving
body 710 having theinfrared reception unit 711 is allowed to rotate on thehome base 720 having theinfrared transmission unit 721 at a constant angular velocity. Alternatively, when using hole sensors, the movingbody 710 equipped with a plurality of hole sensors disposed in constant intervals is allowed to rotate at a constant angular velocity on thehome base 720 having thepermanent magnet 722 detecting the hole sensors. - In operation S212, a first sensing time at which the
infrared reception unit 711 senses for the first time infrared rays emitted by theinfrared transmission unit 721 or at which the nth hole sensor 712_n among the plurality of hole sensors is sensed by thepermanent magnet 722 is measured. In operation S213, the movingbody 720 rotates once, and then, a second sensing time at which theinfrared reception unit 711 senses for the second time infrared rays emitted by theinfrared transmission unit 721 or at which the (n+1)th hole sensor 712_n+1 is sensed is measured. - Then, the moving
body 720 is allowed to stop rotating, as indicated by “STOP” state, as shown in the lower right portion ofFIG. 7 . The rotation time period T corresponding to a time taken for the movingbody 710 to rotate once is obtained using a difference between the first sensing time and the second sensing time, and the angular velocity ω is obtained using the rotation time period T, in operation S213. An average gyro output value is obtained by integrating a plurality of gyro output values, which are measured at a variety of points of measurement time ranging between the first sensing time and the second sensing time, in operation S214. - An iteration of the above-described operations is performed while varying the angular velocity ω. Since the gyro characteristic equation is an equation of an n-th degree and (n+1) coefficients, i.e., C0, C1, C2, . . . , Cn, are available, (n+1) measurements of angular velocity F(x) and a total of (n+1) gyro output values x are needed. Since the constant term C0 is obtained by measuring the gyro output value in a state where the moving
body 710 stops rotating, in operation S215, it is determined whether the iteration has been performed n times. If the iteration performed does not exceed n times, the angular velocity is varied in operation S216 to perform the iteration from operation S211 to operations S214 again. On the other hand, if the iteration from operations S211 to S214 has been performed n times, in S217, n measurements of angular velocity obtained from n rotation time periods are obtained and n gyro output values corresponding to the n measurements of angular velocity are also obtained, thus yielding a set of n gyro output values corresponding to the n measurements of angular velocity. - Meanwhile, in order to yield a plurality of sets of measurements of angular velocity and gyro output values for a plurality of temperatures of a specified temperature interval, in operation S218, each of the plurality of sets of measurements of angular velocity and gyro output values is matched to each of the plurality of temperatures. That is to say, That is to say, tuple sets consisting of n measurements of angular velocity (deg/sec) and n average output values(mV) measured at different temperatures at a specified interval within a specified temperature range are obtained and the obtained tuple sets are matched with the temperatures measured when the respective ones of the tuple sets are obtained. And, the matched temperature can serve as an index. Here, the specified plurality may equal to a total number of coefficients of the gyro characteristic equation where the gyro output values are independent variables and the measurements of angular velocity are dependent variables. In addition, the specified temperature range may be between −10° C. and 40° C. Further, the specified temperature interval may be approximately 2° C. As described above, the gyro output values may be affected by a change in the temperature. Thus, in order to obtain more data measurements at as many temperatures as possible, it is necessary to provide a set of (n+1) measurements of angular velocity and gyro output values corresponding to the (n+1) measurements of angular velocity at the respective temperatures of as a small temperature interval as possible.
- Meanwhile, in order to obtain an offset value, i.e., the contact C0 among the (n+1) coefficients, the gyro output value is measured when the moving
body 710 rotates at 0 [deg/sec], as indicated by a “STOP ROTATING”state 750. Accordingly, like in operation S215 ofFIG. 3 , it is determined whether the iteration has been performed n times. Preferred examples of the “STOP ROTATING” state of the movingbody 710 include a state immediately before the movingbody 710 is separated from the home base to perform a specified operation, e.g., cleaning, or a state immediately after the movingbody 710 terminates the specified operation to return to thehome base 720. - As a second operation (S220 of
FIG. 2 ), theoperation module 200 obtains data about a characteristic equation of the gyro sensor using the measured angular velocity and the average gyro output value. - As a third operation (S230 of
FIG. 2 ), thestorage module 300 stores the data about the characteristic equation obtained by theoperation module 200. The second and third operations will later be described in further detail with reference toFIG. 4 . - In operation S221, the characteristic equation is produced by calculating values of the coefficients of the characteristic equation. If one or more characteristic equations for temperature indexes are necessary, characteristic equations for different temperatures may be produced in operation S222. The
storage module 300 stores data about the produced characteristic equations in operation S230. In operation S231, it is determined whether duplicate data about the characteristic equations are stored in thestorage module 300 using one and the same temperature as the temperature index. If not, the process returns to operation S230. conversely, in operation S232, if duplicate data about the characteristic equations are stored in thestorage module 300 using the same temperature as the temperature index, updating is performed on data that has been most recently stored in thestorage module 300. - The number of the coefficients of the characteristic equation, i.e., C0, C1, C2, . . . , Cn, is (n+1) in total and the coefficients vary according to temperatures. Accordingly, the coefficients can be obtained at different temperatures by substituting a set of (n+1) measurements of angular velocity and (n+1) average output values for the characteristic equation for each of the different temperatures. Based on the obtained coefficients, the characteristic equation can be produced to then be stored. Data about coefficients of the characteristic equation produced at different temperatures can be collected as a database.
- As a fourth operation (S240 of
FIG. 2 ), thecalibration module 400 calibrates the gyro-sensor using the data about the characteristic equation, which will be described in further detail with reference toFIG. 5 .FIG. 5 illustrates a process of calibrating a gyro-sensor using the stored data about the characteristic equation for temperature indexes. The present embodiment is not limited to the calibration process using data about characteristic equations stored for the respective temperature indexes and the calibration process can be performed irrespective of temperature indexes, which is the same as described above. However, for brevity, the process of calibrating a gyro-sensor will be described with regard to the use of the stored data about the characteristic equation for temperature indexes with reference toFIG. 5 . - The gyro-sensor is calibrated in real time based on the data about the characteristic equation stored in the
storage module 300 while estimating the location of the movingbody 710. Referring toFIG. 5 , in operation S241, while the movingbody 710 moves and estimates its location, a current temperature is measured. In operation S242, it is determined whether or not the data about the characteristic equation exists in thestorage module 300 using the current temperature as the temperature index. In operation S243, if the data about the characteristic equation exists in thestorage module 300, the data about the characteristic equation is detected from thestorage module 300. On the other hand, if it is determined in operation S242 that the data about the characteristic equation does not exist in thestorage module 300, the data corresponding to a pair of upper and lower temperatures that are closest to the current temperature in operation S244, which is because a characteristic equation corresponding to the current temperature can be obtained through interpolation based on the two detected data about the characteristic equation. - Meanwhile, in order to estimate a current location of the moving
body 710 using the gyro-sensor, themeasurement module 100 measures the gyro output value at the current temperature in operation S245. Thereafter, the gyro output value measured at the current temperature is converted into an angular velocity with reference to the data about the characteristic equation detected from thestorage module 300. In operation S246, the gyro-sensor is calibrated in real time. - In operation S247, it is determined whether there is a temperature change not less than a specified temperature level. If it is determined in operation S247 that there is a temperature change not less than the specified temperature level, the process returns to operation S241. On the other hand, if it is determined in operation S247 that there is no temperature change or a slight temperature change, the process returns to operation S245 without detecting the characteristic equation from the
storage module 300, to then measure the gyro output value again. Here, the specified temperature level may be approximately 2° C. because the characteristic equation is stored in thestorage module 300 in a temperature interval of 2° C. - Meanwhile, the calibrating apparatus of the gyro-sensor according to the above-described embodiments of the present invention is not limited to the illustrated embodiment and it will be apparent to those skilled in the art that the invention can also be applied to a computer readable recording medium having program codes recorded therein, the program codes for executing the above-described calibrating method without departing from the scope and spirit of the invention.
- According to the above-described embodiments of the present invention, data about a characteristic equation of the gyro-sensor, which can be used to estimate the location of a moving body is detected in real time and an output value of the gyro-sensor is converted into an angular velocity to calibrate an offset of the gyro-sensor and a characteristic curve, thereby enhancing the accuracy of measuring the angular velocity of the gyro-sensor.
- In addition, the accuracy of measuring the angular velocity of the gyro-sensor can be enhanced at low cost, so that the invention can be applied to a mobile robot, such as a cleaning robot.
- Further, embodiments of the present invention allow for continuous calibration, making it possible to reduce an error of a gyro-sensor which is generated after an extended use of time of the gyro-sensor and using the detected characteristic curve.
- In addition, since a highly accurate calibrating process is not necessary to perform in the manufacture of the gyro-sensor, the manufacturing cost can be reduced and the precision level of the gyro-sensor can be maintained irrespective of a change in the temperature.
- Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Claims (46)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2005-0087746 | 2005-09-21 | ||
KR20050087746 | 2005-09-21 | ||
KR1020060075221A KR101231209B1 (en) | 2005-09-21 | 2006-08-09 | Method and apparatus for calibrating gyro-sensor |
KR10-2006-0075221 | 2006-08-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090093984A1 true US20090093984A1 (en) | 2009-04-09 |
US7526398B1 US7526398B1 (en) | 2009-04-28 |
Family
ID=37973170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/524,397 Active 2027-04-13 US7526398B1 (en) | 2005-09-21 | 2006-09-21 | Method and apparatus for calibrating gyro-sensor |
Country Status (2)
Country | Link |
---|---|
US (1) | US7526398B1 (en) |
JP (1) | JP2007086076A (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080249732A1 (en) * | 2007-04-04 | 2008-10-09 | Samsung Electronics Co., Ltd. | System, method and medium calibrating gyrosensors of mobile robots |
US20110172820A1 (en) * | 2008-07-01 | 2011-07-14 | Kim Do-Hyung | Apparatus and method for correcting error of gyro sensor in mobile robot |
US20110301900A1 (en) * | 2010-06-04 | 2011-12-08 | Apple Inc. | Gyro zero turn rate offset correction over temperature in a personal mobile device |
US20120106829A1 (en) * | 2010-11-03 | 2012-05-03 | Tae-Kyeong Lee | Robot cleaner and controlling method of the same |
CN103017745A (en) * | 2011-09-27 | 2013-04-03 | 上海航天控制工程研究所 | Method for using micromechanical gyroscope (MEMS) (Micro-electromechanical System) in deep space exploration |
US20130238237A1 (en) * | 2010-10-13 | 2013-09-12 | Ari Abramson Liani | Multiple data sources pedestrian navigation system |
CN103676761A (en) * | 2013-11-13 | 2014-03-26 | 上海诸光机械有限公司 | Control method of attitude instrument calibration device |
US20140172197A1 (en) * | 2012-12-13 | 2014-06-19 | Brian L. Ganz | Method and system for controlling a vehicle with a smartphone |
US20150114082A1 (en) * | 2013-10-24 | 2015-04-30 | Mtd Products, Inc. | Methods and apparatus for increasing accuracy and reliability of gyrosopic sensors |
EP2738518A3 (en) * | 2012-11-29 | 2016-08-31 | Tamagawa Seiki Co., Ltd. | Inertia sensor and method for reducing operation error of the same |
CN106643684A (en) * | 2016-10-19 | 2017-05-10 | 北京七维航测科技股份有限公司 | Double-axis digital gyroscope and gyroscope multi-level error compensation method |
CN106908153A (en) * | 2017-01-16 | 2017-06-30 | 中国计量大学 | A kind of method of surface of revolution infrared measurement of temperature amendment |
US9855489B2 (en) * | 2011-05-15 | 2018-01-02 | Acton, Inc. | Wearable mobility device |
CN111637901A (en) * | 2020-04-28 | 2020-09-08 | 北京控制工程研究所 | Multi-gyroscope fault diagnosis and reconstruction method based on non-homogeneous equation solution |
CN115599080A (en) * | 2021-07-07 | 2023-01-13 | 苏州中德睿博智能科技有限公司(Cn) | Device for improving angular motion measurement precision of ground autonomous mobile robot, application and measurement method |
US20230107423A1 (en) * | 2021-09-29 | 2023-04-06 | Qualcomm Incorporated | Pedestrian sensor accuracy with minimal dependence on magnetometer |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552781B2 (en) | 2004-10-20 | 2009-06-30 | Black & Decker Inc. | Power tool anti-kickback system with rotational rate sensor |
FR2910615B1 (en) * | 2006-12-20 | 2009-02-06 | Sagem Defense Securite | METHOD OF CALIBRATING THE SCALE FACTOR OF AN AXISYMETRIC VIBRATION GYROMETER |
US9475180B2 (en) | 2010-01-07 | 2016-10-25 | Black & Decker Inc. | Power tool having rotary input control |
US9266178B2 (en) | 2010-01-07 | 2016-02-23 | Black & Decker Inc. | Power tool having rotary input control |
US8418778B2 (en) | 2010-01-07 | 2013-04-16 | Black & Decker Inc. | Power screwdriver having rotary input control |
JP5071533B2 (en) * | 2010-05-19 | 2012-11-14 | 株式会社デンソー | Current position detection device for vehicle |
KR101229571B1 (en) | 2011-08-02 | 2013-02-04 | 전자부품연구원 | Sensor callibration system and method |
US10071824B2 (en) | 2012-02-08 | 2018-09-11 | Alan D Reth | Method and apparatus for spacecraft gyroscope scale factor calibration |
EP2631035B1 (en) | 2012-02-24 | 2019-10-16 | Black & Decker Inc. | Power tool |
US10589413B2 (en) | 2016-06-20 | 2020-03-17 | Black & Decker Inc. | Power tool with anti-kickback control system |
WO2018081795A1 (en) | 2016-10-31 | 2018-05-03 | Zipline Medical, Inc. | Systems and methods for monitoring physical therapy of the knee and other joints |
GB2574074B (en) | 2018-07-27 | 2020-05-20 | Mclaren Applied Tech Ltd | Time synchronisation |
CA3134052A1 (en) | 2019-03-21 | 2020-09-24 | Sharkninja Operating Llc | Adaptive sensor array system and method |
GB2588236B (en) | 2019-10-18 | 2024-03-20 | Mclaren Applied Ltd | Gyroscope bias estimation |
USD1053901S1 (en) | 2021-11-05 | 2024-12-10 | Howmedica Osteonics Corp. | Display screen or portion thereof with graphical user interface |
USD1067239S1 (en) | 2021-11-05 | 2025-03-18 | Howmedica Osteonics Corp. | Display screen or portion thereof with animated graphical user interface |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4507737A (en) * | 1981-10-20 | 1985-03-26 | Lear Siegler, Inc. | Heading reference and land navigation system |
US5699256A (en) * | 1994-06-02 | 1997-12-16 | Matsushita Electric Industrial Co., Ltd. | Offset-drift correcting device for gyro-sensor |
US20050183501A1 (en) * | 2003-10-20 | 2005-08-25 | Honda Motor Co., Ltd. | Inertia sensor unit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62254212A (en) | 1986-04-28 | 1987-11-06 | Hitachi Ltd | Self-traveling robot |
KR930001826B1 (en) | 1990-05-03 | 1993-03-13 | 삼성전자 주식회사 | Implementing the secretion function of the parallel phone |
KR100486505B1 (en) | 2002-12-31 | 2005-04-29 | 엘지전자 주식회사 | Gyro offset compensation method of robot cleaner |
-
2006
- 2006-09-21 US US11/524,397 patent/US7526398B1/en active Active
- 2006-09-21 JP JP2006255296A patent/JP2007086076A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4507737A (en) * | 1981-10-20 | 1985-03-26 | Lear Siegler, Inc. | Heading reference and land navigation system |
US5699256A (en) * | 1994-06-02 | 1997-12-16 | Matsushita Electric Industrial Co., Ltd. | Offset-drift correcting device for gyro-sensor |
US20050183501A1 (en) * | 2003-10-20 | 2005-08-25 | Honda Motor Co., Ltd. | Inertia sensor unit |
US7155974B2 (en) * | 2003-10-20 | 2007-01-02 | Honda Motor Co., Ltd. | Inertia sensor unit |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135562B2 (en) * | 2007-04-04 | 2012-03-13 | Samsung Electronics Co., Ltd. | System, method and medium calibrating gyrosensors of mobile robots |
US20080249732A1 (en) * | 2007-04-04 | 2008-10-09 | Samsung Electronics Co., Ltd. | System, method and medium calibrating gyrosensors of mobile robots |
US9222801B2 (en) * | 2008-07-01 | 2015-12-29 | Microinfinity, Inc. | Apparatus and method for correcting error of gyro sensor in mobile robot |
US20110172820A1 (en) * | 2008-07-01 | 2011-07-14 | Kim Do-Hyung | Apparatus and method for correcting error of gyro sensor in mobile robot |
US20110301900A1 (en) * | 2010-06-04 | 2011-12-08 | Apple Inc. | Gyro zero turn rate offset correction over temperature in a personal mobile device |
US8577633B2 (en) * | 2010-06-04 | 2013-11-05 | Apple Inc. | Gyro zero turn rate offset correction over temperature in a personal mobile device |
US20130238237A1 (en) * | 2010-10-13 | 2013-09-12 | Ari Abramson Liani | Multiple data sources pedestrian navigation system |
US20120106829A1 (en) * | 2010-11-03 | 2012-05-03 | Tae-Kyeong Lee | Robot cleaner and controlling method of the same |
US8705842B2 (en) * | 2010-11-03 | 2014-04-22 | Lg Electronics Inc. | Robot cleaner and controlling method of the same |
US9855489B2 (en) * | 2011-05-15 | 2018-01-02 | Acton, Inc. | Wearable mobility device |
CN103017745A (en) * | 2011-09-27 | 2013-04-03 | 上海航天控制工程研究所 | Method for using micromechanical gyroscope (MEMS) (Micro-electromechanical System) in deep space exploration |
EP2738518A3 (en) * | 2012-11-29 | 2016-08-31 | Tamagawa Seiki Co., Ltd. | Inertia sensor and method for reducing operation error of the same |
US20140172197A1 (en) * | 2012-12-13 | 2014-06-19 | Brian L. Ganz | Method and system for controlling a vehicle with a smartphone |
US9569954B2 (en) * | 2012-12-13 | 2017-02-14 | Brian L. Ganz | Method and system for controlling a vehicle with a smartphone |
US20150114082A1 (en) * | 2013-10-24 | 2015-04-30 | Mtd Products, Inc. | Methods and apparatus for increasing accuracy and reliability of gyrosopic sensors |
US10132647B2 (en) * | 2013-10-24 | 2018-11-20 | Mtd Products Inc | Methods and apparatus for increasing accuracy and reliability of gyrosopic sensors |
CN103676761A (en) * | 2013-11-13 | 2014-03-26 | 上海诸光机械有限公司 | Control method of attitude instrument calibration device |
CN106643684A (en) * | 2016-10-19 | 2017-05-10 | 北京七维航测科技股份有限公司 | Double-axis digital gyroscope and gyroscope multi-level error compensation method |
CN106908153A (en) * | 2017-01-16 | 2017-06-30 | 中国计量大学 | A kind of method of surface of revolution infrared measurement of temperature amendment |
CN111637901A (en) * | 2020-04-28 | 2020-09-08 | 北京控制工程研究所 | Multi-gyroscope fault diagnosis and reconstruction method based on non-homogeneous equation solution |
CN115599080A (en) * | 2021-07-07 | 2023-01-13 | 苏州中德睿博智能科技有限公司(Cn) | Device for improving angular motion measurement precision of ground autonomous mobile robot, application and measurement method |
US20230107423A1 (en) * | 2021-09-29 | 2023-04-06 | Qualcomm Incorporated | Pedestrian sensor accuracy with minimal dependence on magnetometer |
US11809639B2 (en) * | 2021-09-29 | 2023-11-07 | Qualcomm Incorporated | Pedestrian sensor accuracy with minimal dependence on magnetometer |
Also Published As
Publication number | Publication date |
---|---|
US7526398B1 (en) | 2009-04-28 |
JP2007086076A (en) | 2007-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7526398B1 (en) | Method and apparatus for calibrating gyro-sensor | |
US8135562B2 (en) | System, method and medium calibrating gyrosensors of mobile robots | |
EP1941236B1 (en) | Systems and methods for reducing vibration-induced errors in inertial sensors | |
US8915116B2 (en) | Systems and method for gyroscope calibration | |
US8185309B2 (en) | Enhanced inertial system performance | |
EP1310770B1 (en) | Method, device and system for calibrating angular rate measurement sensors | |
US8718963B2 (en) | System and method for calibrating a three-axis accelerometer | |
US20120278024A1 (en) | Position estimation apparatus and method using acceleration sensor | |
US11073407B2 (en) | Electronic device and pose-calibration method thereof | |
US20120215477A1 (en) | Accelerometer and Automatic Calibration of Same | |
EP3491334A2 (en) | Method and system for calibrating components of an inertial measurement unit (imu) using scene-captured data | |
JP2003506702A (en) | Vibration compensation for sensor | |
CN111076722B (en) | Attitude estimation method and device based on self-adaptive quaternion | |
CN113091770B (en) | Zero offset compensation method of inertial measurement sensor | |
CN101685308A (en) | Robot state perception system | |
CN112304337B (en) | Motion angle estimation method and system based on gyroscope and accelerometer | |
CN117589163A (en) | Multi-sensor combination navigation method and device | |
CN108450007B (en) | High-Performance Inertial Measurement Using Redundant Arrays of Inexpensive Inertial Sensors | |
KR101231209B1 (en) | Method and apparatus for calibrating gyro-sensor | |
CN113434806B (en) | Robust adaptive multi-model filtering method | |
KR20070043009A (en) | Method and apparatus for calibrating the rotational relationship between two motion sensors of a sensor system | |
JP3367461B2 (en) | Moving body attitude angle detection device | |
CN114964214B (en) | Extended Kalman filtering attitude calculation method of attitude heading reference system | |
JP5190134B2 (en) | Angular velocity detection method and apparatus | |
US20240068815A1 (en) | Evaluation device and method for operating a sensor system equipped with a magnetic sensor and at least one inertial sensor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHOI, KI-WAN;LEE, HYOUNG-KI;MYEONG, HYEON;AND OTHERS;REEL/FRAME:018333/0901 Effective date: 20060921 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
CC | Certificate of correction | ||
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |