IP Library Granted Patent US 10,620,726
Granted Patent B2
US 10,620,726 · App. 16/010,145 · Granted Apr 14, 2020

3D pointer mapping

Inventors: Matthew G. Liberty (Olney, MD); Bryan A. Cook (Silver Spring, MD); Hua Sheng (Asbury, NJ)
Assignee: IDHL Holdings, Inc.
G06F3/0383G06F3/0346
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,620,726
App. No.
16/010,145
Granted
Apr 14, 2020
Kind
B2
Abstract

Systems, devices, methods and software are described for mapping movement or motion of a 3D pointing device into cursor position; e.g., for use in rendering the cursor on a display. Absolute and relative type mapping algorithms are described. Mapping algorithms can be combined to obtain beneficial characteristics from different types of mapping.

Claims (43)

1. A method for mapping a device's movement into cursor position, comprising:

estimating the device's pose in any one of three to six degrees of freedom;

processing the estimated pose using (i) a first mapping algorithm to generate a velocity vector and (ii) a second mapping algorithm to generate a first cursor position;

determining an adjusted velocity vector, at least in part, by adjusting any of a scale and an angle of the velocity vector to cause a second cursor position resulting from a combination of a current cursor position and the adjusted velocity vector to be closer to the first cursor position than a third cursor position resulting from a combination of the current cursor position and the velocity vector; and

combining the current cursor position with the adjusted velocity vector to generate a final cursor output.

2. The method of claim 1 , wherein the first mapping algorithm comprises a relative pointing algorithm, and wherein the second mapping algorithm comprises an absolute pointing algorithm.

3. The method of claim 2 , wherein the relative pointing algorithm is a user-frame relative pointing algorithm.

4. The method of claim 1 , wherein adjusting any of a scale and an angle of the velocity vector comprises:

adjusting any of the scale and the angle of the velocity vector so as to satisfy any of (i) a limit for an acceptable deviation from a characteristic of the first mapping algorithm and (ii) a limit for an acceptable deviation from a characteristic of the second mapping algorithm.

5. The method of claim 4 , wherein the characteristic of the first mapping algorithm is that cursor responsiveness to any of linear motion and angular motion is consistent over a motion range, and wherein the characteristic of the second mapping algorithm is long-term drift avoidance.

6. The method of claim 1 , wherein adjusting any of a scale and an angle of the velocity vector comprises at least one of:

adjusting the scale of the velocity vector so as to satisfy any of first minimum value, a first and second maximum value and a first combined minimum and maximum values; and

adjusting the angle of the velocity vector so as to satisfy any of a second minimum value, a second maximum value and a second combined minimum and maximum values.

7. The method of claim 1 , wherein the second mapping algorithms maps the estimated angular position into cursor coordinates using an angular position spherical projection.

8. The method of claim 7 , wherein the mapping is performed without using an estimated linear position of the device.

9. The method of claim 1 , wherein estimating the device's angular position is based on at least one output from at least one sensor.

10. An apparatus comprising:

at least one sensor configured to generate an output associated with movement of a device; and

a processor configured to:

estimate the device's pose in any one of three to six degrees of freedom;

process the estimated pose using (i) a first mapping algorithm to generate a velocity vector and (ii) a second mapping algorithm to generate a first cursor position;

determine an adjusted velocity vector, at least in part, by adjusting any of a scale and an angle of the velocity vector to cause a second cursor position resulting from a combination of a current cursor position and the adjusted velocity vector to be closer to the first cursor position than a third cursor position resulting from a combination of the current cursor position and the velocity vector; and

combine the current cursor position with the adjusted velocity vector to generate a final cursor output.

11. The apparatus of claim 10 , wherein the first mapping algorithm comprises a relative pointing algorithm, and wherein the second mapping algorithm comprises an absolute pointing algorithm.

12. The apparatus of claim 11 , wherein the relative pointing algorithm is a user-frame relative pointing algorithm.

13. The apparatus of claim 10 , wherein the processor is configured to adjust any of a scale and an angle of the velocity vector, at least in part, by:

adjusting any of the scale and the angle of the velocity vector so as to satisfy any of (i) a limit for an acceptable deviation from a characteristic of the first mapping algorithm and (ii) a limit for an acceptable deviation from a characteristic of the second mapping algorithm.

14. The apparatus of claim 13 , wherein the characteristic of the first mapping algorithm is that cursor responsiveness to any of linear motion and angular motion is consistent over a motion range, and wherein the characteristic of the second mapping algorithm is long-term drift avoidance.

15. The apparatus of claim 10 , wherein the processor is configured to adjust any of a scale and an angle of the velocity vector, at least in part, by at least one of:

adjusting the scale of the velocity vector so as to satisfy any of first minimum value, a first and second maximum value and a first combined minimum and maximum values; and

adjusting the angle of the velocity vector so as to satisfy any of a second minimum value, a second maximum value and a second combined minimum and maximum values.

16. The apparatus of claim 10 , wherein the second mapping algorithms maps the estimated angular position into cursor coordinates using an angular position spherical projection.

17. The apparatus of claim 16 , wherein the processor is configured to perform the mapping without using an estimated linear position of the device.

18. An apparatus comprising:

at input configured to obtain an estimated pose of a device in any one of three to six degrees of freedom; and

a processor configured to:

process the estimated pose using (i) a first mapping algorithm to generate a velocity vector and (ii) a second mapping algorithm to generate a first cursor position;

determine an adjusted velocity vector, at least in part, by adjusting any of a scale and an angle of the velocity vector to cause a second cursor position resulting from a combination of a current cursor position and the adjusted velocity vector to be closer to the first cursor position than a third cursor position resulting from a combination of the current cursor position and the velocity vector; and

combine the current cursor position with the adjusted velocity vector to generate a final cursor output.

19. The apparatus of claim 18 , wherein the first mapping algorithm comprises a relative pointing algorithm, and wherein the second mapping algorithm comprises an absolute pointing algorithm.

20. The apparatus of claim 18 , wherein the processor is configured to adjust any of a scale and an angle of the velocity vector, at least in part, by at least one of:

adjusting the scale of the velocity vector so as to satisfy any of first minimum value, a first and second maximum value and a first combined minimum and maximum values; and

adjusting the angle of the velocity vector so as to satisfy any of a second minimum value, a second maximum value and a second combined minimum and maximum values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: IDHL HOLDINGS, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 063327/0188 →