IP Library Granted Patent US 10,120,463
Granted Patent B2
US 10,120,463 · App. 15/796,058 · Granted Nov 6, 2018

Determining forward pointing direction of a handheld device

Inventors: Matthew G. Liberty (Olney, MD); Bryan A. Cook (Silver Spring, MD)
Assignee: IDHL Holdings, Inc.
G06F3/0346G06F3/017G06F3/0383G06F17/16G08C17/02G08C23/04H04N5/4403G06F2203/0384G08C2201/32H04N2005/4428
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 10,120,463
App. No.
15/796,058
Granted
Nov 6, 2018
Kind
B2
Abstract

A forward pointing direction associated with a handheld device is estimated or determined by, for example, calculating a center of rotation of the device. A resultant combined or selected bias estimate may then be used to compensate the biased output of the sensor in, e.g., a 3D pointing device.

Claims (191)

1. An apparatus for determining a forward pointing direction of a device having a user interface, the apparatus comprising:

an accelerometer for sensing an acceleration of the device and outputting at least one acceleration output;

at least one sensor for sensing rotation of the device and outputting at least one angular velocity output; and

a processor configured to process the acceleration output and the at least one angular velocity output to calculate a center of rotation of the device and determine the forward pointing direction of the device based on the determined center of rotation of the device.

2. The apparatus of claim 1 wherein the processor determines the forward pointing direction of the device as the vector from the center of rotation to the device.

3. The device of claim 1 wherein the calculation of the center of rotation of the device is further based on a gravitational constant.

4. The apparatus of claim 3 , wherein the calculation of the center of rotation of the device uses:

an angular velocity matrix based upon the angular velocity output;

an angular acceleration matrix based upon the angular velocity output;

a direction cosine matrix based upon the angular velocity matrix and the angular acceleration matrix for defining the device frame of reference relative to an earth frame of reference; and

a linear acceleration based on the acceleration output.

5. The apparatus of claim 1 wherein the processing comprises converting raw sensor data into International System (SI) unit data and wherein the SI unit data is filtered to remove undesirable sensor characteristics comprising at least one of variable bias offset, cross-axis effects, scale variations, non-linearities, temperature effects and aging effects.

6. The apparatus of claim 5 further comprising a radio frequency (RF) transmitter communicatively connected to the processing unit, wherein the RF transmitter is configured to transmit the forward pointing direction.

7. The apparatus of claim 1 wherein the at least one sensor is a rotational sensor.

8. The apparatus of claim 1 wherein the at least one sensor is a gyroscope.

9. The apparatus of claim 1 wherein said at least one sensor is a magnetometer.

10. The apparatus of claim 4 further comprising a magnetometer, wherein the processor is further configured to use the magnetometer to improve calculation of the direction cosine matrix.

11. The apparatus of claim 1 wherein the processor is further configured to adjust a position of an object on the user interface based on said calculation.

12. A method for determining a forward pointing direction of a device, the method comprising:

collecting data associated with the device's acceleration and rotation while the device is in motion; and

calculating of a center of rotation of the device based on the collected data and determining the forward pointing direction of the device based on the calculated center of rotation of the device.

13. The method of claim 12 further comprising:

filtering the data to remove at least one sensor characteristic from a group of sensor characteristics comprising variable bias offset, cross-axis effects, scale variations, non-linearities, temperature effects and aging effects.

14. The method of claim 12 wherein the calculating of the center of rotation of the device comprises calculating:

b

c

=

(

b

Ω

.

+

Ω

2

b

)

(

b

a

-

Q

B

U

u

g

)

,

where:

b Ω 2 is an angular acceleration matrix associated with the device in a body frame of reference, b Ω 2 is a square of an angular velocity matrix associated with the device in the body frame of reference, b α is a linear acceleration associated with the device in the body frame of reference,

Q

B

U

is a direction cosine matrix defining the body frame of reference relative to a user frame of reference and u g is earth's gravitational constant associated with the user frame of reference.

15. The method of claim 14 wherein the b Ω 2 is:

b

Ω

.

=

(

0

-

ω

.

z

b

ω

.

y

b

ω

.

z

b

0

-

ω

.

x

b

-

ω

.

y

b

ω

.

x

b

0

)

,

where:

b ω x is the x component of the angular acceleration of the device in the body frame of reference, b ω x is the y component of the angular acceleration of the device in the body frame of reference and b ω x is the z component of the angular acceleration of the device in the body frame of reference.

16. The method of claim 14 wherein the b Ω 2 is:

Ω

2

b

=

(

-

ω

y

2

b

-

ω

z

2

b

ω

z

b

ω

y

b

ω

z

b

ω

z

b

ω

x

b

ω

y

b

-

ω

z

2

b

-

ω

z

2

b

ω

y

b

ω

z

b

ω

x

b

ω

z

b

ω

y

b

ω

z

b

-

ω

z

2

b

-

ω

y

2

b

)

,

where:

b ω x is the x component of the angular velocity of the device in the body frame of reference, b ω y is the y component of the angular velocity of the device in the body frame of reference and b ω x is the z component of the angular velocity of the device in the body frame of reference.

17. The method of claim 14 wherein multiple calculations of the device's center of rotation vector are combined to optimize the center of rotation vector calculation.

18. The method of claim 17 wherein the center of rotation vector calculation result is offset based on an offset value of an accelerometer, associated with the device, from a center of the device.

19. The method of claim 12 wherein the calculating a center of rotation of the device comprises calculating:

b c =(( b {dot over (Ω)} 2 + b Ω 2 2 )−( I+ b Ω T Δt )( b {dot over (Ω)} 1 + b Ω 1 2 )) −1 ( b a 2 −( I+ b Ω T Δt ) b a 1 ), where:

b Ω 2 is an angular acceleration matrix of a first sample associated with the device in a body frame of reference, b Ω 2 is an angular acceleration matrix of a second sample associated with the device in a body frame of reference, b Ω 1 2 is the square of the angular velocity matrix of the first sample associated with the device in the body frame of reference, b Ω 2 2 is the square of the angular velocity matrix of the second sample associated with the device in the body frame of reference, b a 1 is a linear acceleration of the first sample associated with the device in the body frame of reference, b a 2 is a linear acceleration of the second sample associated with the device in the body frame of reference, b Ω T Δt is the average angular velocity between the first sample and the second sample and I is an identity matrix.

20. The method of claim 12 further comprising:

adjusting a position of an object on a user interface of the device based on said calculation.

Assignments (1)
ASSIGNMENT OF PATENTS Recorded Nov 7, 2019
From: IDHL HOLDINGS, INC.
To: CEVA TECHNOLOGIES, INC.
Reel/Frame 050966/0756 →
Continuity (4)
Continuation 14951858 · Nov 25, 2015
Continuation 13701156
Provisional Application 61351108 · Jun 3, 2010
Related Publication 20180046266A1 · Feb 15, 2018