IP Library Granted Patent US 10,514,776
Granted Patent B2
US 10,514,776 · App. 15/398,873 · Granted Dec 24, 2019

3D pointing devices and methods

Inventors: Matthew G. Liberty (Gaithersburg, MD); Daniel S. Simpkins (Bethesda, MD); Charles W. K. Gritton (Sterling, VA); Mark Turner (Ijamsville, MD); Frank A. Hunleth (Rockville, MD)
Assignee: IDHL Holdings, Inc.
G06F3/0346G06F1/3215G06F1/3259G06F3/0383G06K9/00335H04N21/42222G06F2203/0383G06F2203/0384H04N2005/4428Y02D10/155
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,514,776
App. No.
15/398,873
Granted
Dec 24, 2019
Kind
B2
Abstract

Systems and methods according to the present invention address these needs and others by providing a handheld device, e.g., a 3D pointing device, which uses at least one sensor to detect motion of the handheld device. The detected motion can then be mapped into a desired output, e.g., cursor movement.

Claims (33)

1. A method implemented in a device having a processor and a plurality of sensors, comprising a three-axis accelerometer and at least one rotational sensor, the method comprising:

detecting movement of the device using at least one of the plurality of sensors;

obtaining three-axis angular velocity values and three-axis acceleration values at the processor from the plurality of sensors in connection with the detected movement, wherein the three-axis angular velocity values correspond to rotational movement of the device detected by the at least one rotational sensor, and wherein the three-axis acceleration values comprise at least an acceleration of the device due to gravity detected by the three-axis accelerometer;

determining, by the processor, a current orientation in which the device is currently being held by a user using the three-axis acceleration values, the three-axis angular velocity values, a function for rotating a prior orientation in accordance with the three-axis angular velocity values and filtering to attenuate a tremor introduced into the device in connection with the device being held; and

outputting, by the processor, the current orientation.

2. The method of claim 1 , further comprising identifying the user based upon a tremor pattern associated with the tremor.

3. The method of claim 2 , further comprising determining an identity of the user by comparing the tremor pattern with a plurality of stored tremor patterns.

4. The method of claim 2 , further comprising retrieving preference settings associated with the user in response to identifying the user.

5. The method of claim 1 , wherein using filtering to attenuate tremor comprises any of:

using hysteresis to filter the tremor; and

using filtering to filter a frequency component from the three-axis angular velocity values, and wherein the frequency component has a frequency within a range of frequencies associated with human tremor.

6. The method of claim 1 , further comprising determining a state of the device based on the tremor.

7. The method claim 1 , further comprising differentiating first and second states of the device based on the tremor.

8. The method of claim 1 , further comprising transforming the current orientation into information for supporting one or more user interface commands.

9. The method of claim 8 , wherein the information for supporting one or more user interface commands comprises information to support motion based event handling.

10. A device comprising circuitry, including a processor and a plurality of sensors, wherein the plurality of sensors comprises a three-axis accelerometer and at least one rotational sensor, wherein:

the plurality of sensors is configured to detect movement of the device;

the processor is configured to:

obtain three-axis angular velocity values and three-axis acceleration values from the plurality of sensors in connection with the detected movement, wherein the three-axis angular velocity values correspond to rotational movement of the device detected by the at least one rotational sensor, and wherein the three-axis acceleration values comprise at least an acceleration of the device due to gravity detected by the three-axis accelerometer;

determine a current orientation in which the device is currently being held by a user using the three-axis acceleration values, the three-axis angular velocity values, a function for rotating a prior orientation in accordance with the three-axis angular velocity values and filtering to attenuate a tremor introduced into the device in connection with the device being held; and

output the current orientation.

11. The device of claim 10 , wherein the processor is configured to identify the user based upon a tremor pattern associated with the tremor.

12. The device of claim 11 , wherein the processor is configured to determine an identity of the user by comparing the tremor pattern with a plurality of stored tremor patterns.

13. The device of claim 10 , wherein the processor is configured to retrieve preference settings associated with the user in response to identifying the user.

14. The device of claim 10 , wherein the processor is configured to perform filtering to attenuate tremor, at least in part, by any of:

using hysteresis; and

filtering a frequency component from the three-axis angular velocity values, wherein the frequency component has a frequency within a range of frequencies associated with human tremor.

15. The device of claim 10 , wherein the processor is configured to determine a state of the device based on the tremor.

16. The device of claim 10 , wherein the processor is configured to differentiate first and second states of the device based on the tremor.

17. The device of claim 10 , wherein the processor is configured to transform the current orientation into information for supporting one or more user interface commands.

18. The device of claim 17 , wherein the information for supporting one or more user interface commands comprises information to support motion based event handling.

19. The method of claim 1 , wherein the prior orientation comprises any of an arbitrary orientation and a priorly determined orientation.

20. The device of claim 10 , wherein the prior orientation comprises any of an arbitrary orientation and a priorly determined orientation.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: IDHL HOLDINGS, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 063327/0188 →
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2017
From: MULTIPLIER CAPITAL, LP
To: HILLCREST LABORATORIES, INC.
Reel/Frame 043339/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HILLCREST LABORATORIES, INC.
To: IDHL HOLDINGS, INC.
Reel/Frame 042747/0445 →
Continuity (9)
Continuation 15041348 · Feb 11, 2016
Continuation 11820525 · Jun 20, 2007
Division 11119663 · May 2, 2005
Provisional Application 60641410 · Jan 5, 2005
Provisional Application 60566444 · Apr 30, 2004
Provisional Application 60612571 · Sep 23, 2004
Provisional Application 60641383 · Jan 5, 2005
Provisional Application 60641405 · Jan 5, 2005
Related Publication 20170108943A1 · Apr 20, 2017
Cited By (1)
US 12,411,560