IP Library Granted Patent US 9,714,955
Granted Patent B2
US 9,714,955 · App. 13/767,838 · Granted Jul 25, 2017

Method for aligning a mobile device surface with the coordinate system of a sensor

Inventors: Mahesh Ramachandran (San Diego, CA); Arvind Ramanandan (San Diego, CA); Christopher Brunner (San Diego, CA); Murali Ramaswamy Chari (San Diego, CA)
Assignee: QUALCOMM Incorporated
G01P21/00G01C25/00G01C25/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,714,955
App. No.
13/767,838
Granted
Jul 25, 2017
Kind
B2
Abstract

An accelerometer in a mobile device is calibrated by taking multiple measurements of acceleration vectors when the mobile device is held stationary at different orientations with respect to a plane normal. A circle is calculated that fits respective tips of measured acceleration vectors in the accelerometer coordinate system. The radius of the circle and the lengths of the measured acceleration vectors are used to calculate a rotation angle for aligning the accelerometer coordinate system with the mobile device surface. A gyroscope in the mobile device is calibrated by taking multiple measurements of a rotation axis when the mobile device is rotated at different rates with respect to the rotation axis. A line is calculated that fits the measurements. The angle between the line and an axis of the gyroscope coordinate system is used to align the gyroscope coordinate system with the mobile device surface.

Claims (48)

1. A method for calibrating an accelerometer located within a mobile device, comprising:

receiving a plurality of measurements of acceleration vectors by a processor of the mobile device from the accelerometer, each of the measurements being taken when the mobile device is held stationary at a different orientation with respect to a normal of a plane on which the mobile device lies;

calculating a circle that fits respective tips of the measured acceleration vectors in an accelerometer coordinate system;

calculating an angle of rotation between the accelerometer coordinate system and a surface of the mobile device based on a radius of the circle and a length of the measured acceleration vectors to align the accelerometer coordinate system with the surface of the mobile device, wherein the angle of rotation is calculated in the presence of a bias, wherein the bias is measured by a distance between a center of the circle and an intersection point, at which the normal extending from an origin of the accelerometer coordinate system intersects a second plane containing the circle;

storing the angle of rotation in a memory of the mobile device; and

calibrating subsequent measurements of the accelerometer based at least in part on the stored angle of rotation in the memory; wherein the surface of the mobile device against which the accelerometer coordinate system is calibrated is the surface that faces and is in contact with the plane.

2. The method of claim 1 , wherein the plane is tilted with respect to a horizontal axis.

3. The method of claim 1 , wherein the plane is aligned to a horizontal axis.

4. The method of claim 1 , wherein each of the measurements is taken when the mobile device is held stationary after being rotated by an angle with respect to the normal of the plane.

5. The method of claim 1 , further comprising:

rotating a measured acceleration vector by the angle of rotation to transform the measured acceleration vector from the accelerometer coordinate system to a vector in a surface coordinate system defined by the surface of the mobile device; and

converting the vector in the surface coordinate system to a gyroscope coordinate system based on a rotational transformation between the surface coordinate system and the gyroscope coordinate system.

6. A mobile device comprising:

an accelerometer;

a processor coupled to the accelerometer and a memory, the processor configured to:

receive a plurality of measurements of acceleration from the accelerometer, each of the measurements being taken when the mobile device is held stationary at a different orientation with respect to a normal of a plane on which the mobile device lies;

calculate a circle that fits respective tips of measured acceleration vectors in an accelerometer coordinate system;

calculate an angle of rotation between the accelerometer coordinate system and a surface of the mobile device based on a radius of the circle and a length of the measured acceleration vectors to align the accelerometer coordinate system with the surface of the mobile device, wherein the angle of rotation is calculated in the presence of a bias, wherein the bias is measured by a distance between a center of the circle and an intersection point, at which the normal extending from an origin of the accelerometer coordinate system intersects a second plane containing the circle; and

store the angle of rotation in the memory; and

calibrate subsequent measurements of the accelerometer based at least in part on the stored angle of rotation in the memory; wherein the surface of the mobile device against which the accelerometer coordinate system is calibrated is the surface that faces and is in contact with the plane.

7. The mobile device of claim 6 , wherein each of the measurements is taken when the mobile device is held stationary after being rotated by an angle with respect to the normal of the plane.

8. The mobile device of claim 6 , further comprising:

a gyroscope coupled to the processor;

wherein the processor is further configured to:

rotate a measured acceleration vector by the angle of rotation to transform the measured acceleration vector from the accelerometer coordinate system to a vector in a surface coordinate system defined by the surface of the mobile device; and

convert the vector in the surface coordinate system to a gyroscope coordinate system based on a rotational transformation between the surface coordinate system and the gyroscope coordinate system.

9. A non-transitory computer program product implemented at a mobile device for calibrating an accelerometer located within the mobile device, comprising:

a computer-readable medium comprising code for:

receiving a plurality of measurements of acceleration vectors by a processor of the mobile device from the accelerometer, each of the measurements being taken when the mobile device is held stationary at a different orientation with respect to a normal of a plane on which the mobile device lies;

calculating a circle that fits respective tips of measured acceleration vectors in an accelerometer coordinate system;

calculating an angle of rotation between the accelerometer coordinate system and a surface of the mobile device based on a radius of the circle and a length of the measured acceleration vectors to align the accelerometer coordinate system with the surface of the mobile device, wherein the angle of rotation is calculated in the presence of a bias, wherein the bias is measured by a distance between a center of the circle and an intersection point, at which the normal extending from an origin of the accelerometer coordinate system intersects a second plane containing the circle;

storing the angle of rotation in a memory of the mobile device; and

calibrating subsequent measurements of the accelerometer based at least in part on the stored angle of rotation in the memory; wherein the surface of the mobile device against which the accelerometer coordinate system is calibrated is the surface that faces and is in contact with the plane.

10. The non-transitory computer program product of claim 9 , wherein each of the measurements is taken when the mobile device is held stationary after being rotated by an angle with respect to the normal of the plane.

11. The non-transitory computer program product of claim 9 , further comprising code for:

rotating a measured acceleration vector by the angle of rotation to transform the measured acceleration vector from the accelerometer coordinate system to a vector in a surface coordinate system defined by the surface of the mobile device; and

converting the vector in the surface coordinate system to a gyroscope coordinate system based on a rotational transformation between the surface coordinate system and the gyroscope coordinate system.

12. A mobile device comprising:

means for receiving a plurality of measurements of acceleration from an accelerometer, each of the measurements being taken when the mobile device is held stationary at a different orientation with respect to a normal of a plane on which the mobile device lies;

means for calculating a circle that fits respective tips of measured acceleration vectors in an accelerometer coordinate system;

means for calculating an angle of rotation between the accelerometer coordinate system and a surface of the mobile device based on a radius of the circle and a length of the measured acceleration vectors to align the accelerometer coordinate system with the surface of the mobile device, wherein the angle of rotation is calculated in the presence of a bias, wherein the bias is measured by a distance between a center of the circle and an intersection point, at which the normal extending from an origin of the accelerometer coordinate system intersects a second plane containing the circle;

means for storing the angle of rotation in a memory of the mobile device; and

means for calibrating subsequent measurements of the accelerometer based at least in part on the stored angle of rotation in the memory; wherein the surface of the mobile device against which the accelerometer coordinate system is calibrated is the surface that faces and is in contact with the plane.

13. The mobile device of claim 12 , wherein each of the measurements is taken when the mobile device is held stationary after being rotated by an angle with respect to the normal of the plane.

14. The mobile device of claim 12 , wherein means for calculating the angle of rotation further comprises means for calculating the angle of rotation in the presence of a bias, wherein the bias is measured by a distance between a center of the circle and an intersection point, at which the normal extending from an origin of the accelerometer coordinate system intersects a second plane containing the circle.

15. The mobile device of claim 12 , further comprising:

means for rotating a measured acceleration vector by the angle of rotation to transform the measured acceleration vector from the accelerometer coordinate system to a vector in a surface coordinate system defined by the surface of the mobile device; and

means for converting the vector in the surface coordinate system to a gyroscope coordinate system based on a rotational transformation between the surface coordinate system and the gyroscope coordinate system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2013
From: RAMACHANDRAN, MAHESH; RAMANANDAN, ARVIND; BRUNNER, CHRISTOPHER; CHARI, MURALI RAMASWAMY
To: QUALCOMM INCORPORATED
Reel/Frame 029950/0094 →
Continuity (2)
Provisional Application 61722084 · Nov 2, 2012
Related Publication 20140129170A1 · May 8, 2014