IP Library Granted Patent US 8,223,121
Granted Patent B2
US 8,223,121 · App. 12/338,996 · Granted Jul 17, 2012

Host system and method for determining an attitude of a device undergoing dynamic acceleration

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 8,223,121
App. No.
12/338,996
Granted
Jul 17, 2012
Kind
B2
Abstract

A system and a method for determining an attitude of a device undergoing dynamic acceleration is presented. A first attitude measurement is calculated based on a magnetic field measurement received from a magnetometer of the device and a first acceleration measurement received from a first accelerometer of the device. A second attitude measurement is calculated based on the magnetic field measurement received from the magnetometer of the device and a second acceleration measurement received from a second accelerometer of the device. A correction factor is calculated based at least in part on a difference of the first attitude measurement and the second attitude measurement. The correction factor is then applied to the first attitude measurement to produce a corrected attitude measurement for the device.

Claims (62)

1. A method for determining an attitude of a device undergoing dynamic acceleration, comprising:

at a host system:

receiving a first multi-dimensional acceleration measurement from a first accelerometer of the device;

receiving a second multi-dimensional acceleration measurement from a second accelerometer of the device, wherein the device includes two or more multi-dimensional accelerometers including at least the first accelerometer and the second accelerometer;

receiving a first magnetic field measurement from a first magnetometer, wherein the device includes one or more magnetometers including at least the first magnetometer; and

calculating the attitude of the device based on the first and the second accelerometer measurements and the first magnetometer measurement and a distance between the first accelerometer and the second accelerometer.

2. The method of claim 1 , wherein the method is performed during dynamic acceleration of the device, the method including determining a correction factor that substantially corrects for attitude determination errors associated with the dynamic acceleration, and performing a computation using the correction factor to produce a dynamic-acceleration-corrected attitude measurement for the device.

3. The method of claim 2 , wherein the correction factor is based on at least the first and the second acceleration measurements.

4. The method of claim 2 , wherein the correction factor is based on at least the separation between the first and the second accelerometers.

5. The method of claim 2 , wherein the correction factor includes a scaling factor that is based at least in part on a distance from the first accelerometer and a pivot origin, and a distance from the second accelerometer and the pivot origin.

6. The method of claim 1 , including receiving signals from the device indicating that one or more buttons on the device have been pressed.

7. The method of claim 1 , including receiving signals from the device indicating that a user of the device has performed one or more gestures.

8. The method of claim 1 , wherein the first acceleration measurement, the second acceleration measurement, and the first magnetic field measurement are performed substantially simultaneously.

9. The method of claim 1 , including using the attitude to position a cursor displayed on a user interface of the host system.

10. The method of claim 9 , including determining a gesture that is being performed by a user of the device.

11. The method of claim 10 , wherein the gesture includes a sequence of changes in attitude of the device over a contiguous period of time.

12. The method of claim 10 , wherein the gesture includes a combination of a sequence of changes in attitude of the device and one or more buttons being pressed on the device over a contiguous period of time.

13. The method of claim 10 ,

wherein the gesture corresponds to a command to the host system; and

wherein determination of the gesture is based on one or more positions of the cursor in the user interface selected from the group consisting of a beginning position of the gesture occurring with the cursor positioned within a first predefined proximity of an object in the user interface, an end of the gesture occurring with the cursor positioned with a second predefined proximity of the object in the user interface, or both the beginning and end of the gesture occurring with the cursor positioned within the first and second proximities of the object, respectively.

14. The method of claim 1 , wherein the device includes a multi-dimensional pointing device.

15. The method of claim 1 , wherein the first accelerometer is selected from the group consisting of:

a 2-axis accelerometer that measures a magnitude and a direction of an acceleration force in two dimensions; and

a 3-axis accelerometer that measures a magnitude and a direction of an acceleration force in three dimensions.

16. The method of claim 1 , wherein the second accelerometer is selected from the group consisting of:

a 2-axis accelerometer that measures a magnitude and a direction of an acceleration force in two dimensions; and

a 3-axis accelerometer that measures a magnitude and a direction of an acceleration force in three dimensions.

17. The method of claim 1 , wherein the first magnetometer is selected from the group consisting of:

a 2-axis magnetometer that measures a magnitude and a direction of a magnetic field in two dimensions; and

a 3-axis magnetometer that measures a magnitude and a direction of a magnetic field in three dimensions.

18. A system, comprising:

a receiver for receiving measurements from a multi-dimensional pointing device;

one or more processors;

memory; and

one or more programs stored in the memory for execution by the one or more processors, the one or more programs comprising instructions to:

receive a first multi-dimensional acceleration measurement from a first accelerometer of the device;

receive a second multi-dimensional acceleration measurement from a second accelerometer of the device, wherein the device includes two or more multi-dimensional accelerometers including at least the first accelerometer and the second accelerometer;

receive a first magnetic field measurement from a first magnetometer, wherein the device includes one or more magnetometers including at least the first magnetometer; and

calculate an attitude of the device based on the first and the second accelerometer measurements and the first magnetometer measurement and a distance between the first accelerometer and the second accelerometer.

19. The system of claim 18 , further comprising instructions for:

determining a correction factor that substantially corrects for attitude determination errors associated with dynamic acceleration of the device; and

performing a computation using the correction factor to produce a dynamic-acceleration-corrected attitude measurement for the device.

20. The system of claim 19 , wherein the correction factor is based on at least the first and the second acceleration measurements.

21. The system of claim 19 , wherein the correction factor includes a scaling factor that is based at least in part on a distance from the first accelerometer and a pivot origin, and a distance from the second accelerometer and the pivot origin.

22. The system of claim 18 , further comprising instructions for using the attitude to position a cursor displayed on a user interface of the system.

23. The system of claim 22 , further comprising instructions for determining a gesture that is being performed by a user of the device.

24. The system of claim 23 , wherein the gesture includes a sequence of changes in attitude of the device over a contiguous period of time.

25. The system of claim 23 , wherein the gesture includes a combination of a sequence of changes in attitude of the device and one or more buttons being pressed on the device over a contiguous period of time.

26. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions to:

receive a first multi-dimensional acceleration measurement from a first accelerometer of the device;

receive a second multi-dimensional acceleration measurement from a second accelerometer of the device, wherein the device includes two or more multi-dimensional accelerometers including at least the first accelerometer and the second accelerometer;

receive a first magnetic field measurement from a first magnetometer, wherein the device includes one or more magnetometers including at least the first magnetometer; and

calculate an attitude of the device based on the first and the second accelerometer measurements and the first magnetometer measurement and a distance between the first accelerometer and the second accelerometer.

27. The non-transitory computer readable storage medium of claim 26 , further comprising instructions to:

determine a correction factor that substantially corrects for attitude determination errors associated with dynamic acceleration of the device; and

perform a computation using the correction factor to produce a dynamic-acceleration-corrected attitude measurement for the device.

28. The non-transitory computer readable storage medium of claim 27 , wherein the correction factor is based on at least the first and the second acceleration measurements.

29. The non-transitory computer readable storage medium of claim 27 , wherein the correction factor includes a scaling factor that is based at least in part on a distance from the first accelerometer and a pivot origin, and a distance from the second accelerometer and the pivot origin.

30. The non-transitory computer readable storage medium of claim 26 , further comprising instructions to use the attitude to position a cursor displayed on a user interface of the system.

31. The non-transitory computer readable storage medium of claim 30 , further comprising instructions to determine a gesture that is being performed by a user of the device.

32. The non-transitory computer readable storage medium of claim 31 , wherein the gesture includes a sequence of changes in attitude of the device over a contiguous period of time.

33. The non-transitory computer readable storage medium of claim 31 , wherein the gesture includes a combination of a sequence of changes in attitude of the device and one or more buttons being pressed on the device over a contiguous period of time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2024
From: KNOWLES ELECTRONICS, LLC
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 066216/0590 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2023
From: SENSOR PLATFORMS, INC.
To: KNOWLES ELECTRONICS, LLC
Reel/Frame 065901/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2009
From: SHAW, KEVIN A.; CHEN, IAN
To: SENSOR PLATFORMS, INC.
Reel/Frame 022118/0270 →