IP Library Granted Patent US 11,121,719
Granted Patent B2
US 11,121,719 · App. 16/736,591 · Granted Sep 14, 2021

Method of detecting user input in a 3D space and a 3D input system employing same

Inventors: Matthew William Lowe (Calgary, CA); Vahid Dehghanian (Calgary, CA)
Assignee: ZEROKEY INC.
H03M1/285G01D5/16G01D5/241G06F3/014G06F3/016G06F3/04886H03M7/3082H04W4/70G06N7/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 11,121,719
App. No.
16/736,591
Granted
Sep 14, 2021
Kind
B2
Abstract

A 3D input system and an angle encoder are disclosed. The 3D input system comprises a computing device and one or more position sensing gloves. The position sensing glove comprises a plurality of angle encoders each installed thereon at a location about a finger joint. An inertial measurement unit (IMU) is installed on the glove. A firmware uses data from the angle encoders and IMU to calculate fingertip positions in a 3D space. The firmware generates keystrokes on a virtual keyboard based on the fingertip positions. The angle encoder comprises a first and a second components rotatable with respect to each other, and an encoder pattern comprising codewords for indicating the angle between the first and second components. The encoder pattern comprises a set of base encoder channels coded with a conventional Gray code, and a set of Booster channels for improving the resolution of angle measurement.

Claims (88)

1. A position-sensing system for a hand, comprising:

at least one first wireless communication component movable with the hand and for communicating with at least one second wireless communication component at a distance to the hand via one or more wireless signals, said at least one first and at least one second wireless communication components respectively comprising at least one wireless transmitter and at least one wireless receiver or respectively comprising the at least one wireless receiver and the at least one wireless transmitter; and

a controlling circuit functionally coupled to at least one of the at least one first wireless communication component and the at least one second wireless communication component, the controlling circuit being configured for:

determining time-of-arrival (TOA) measurements of the one or more wireless signals; and

calculating the hand positions in a three-dimensional (3D) space based on at least one of the TOA measurements of the one or more wireless signals.

2. The system of claim 1 further comprising:

at least one sensor for positioning about the hand for detecting the positions and orientations of the hand in the 3D space; and

wherein said calculating the hand positions in the 3D space comprises:

calculating the hand positions in the 3D space based on the at least one of the TOA measurements of the one or more wireless signals and the positions and orientations of the hand in the 3D space detected by the at least one sensor.

3. The system of claim 2 , wherein said calculating the hand positions in the 3D space comprises:

calculating the hand positions in the 3D space based on the at least one of the TOA measurements of the one or more wireless signals and the positions and orientations of the hand in the 3D space detected by the at least one sensor and by using a Bayesian Filter.

4. The system of claim 3 , wherein said Bayesian Filter comprises at least one of a Kalman Filter and a Particle Filter.

5. The system of claim 1 , wherein the controlling circuit is further configured for:

generating one or more gestures based on the calculated hand positions in the 3D space.

6. The system of claim 5 , wherein at least one of the one or more gestures is for inputting a command to a computing device.

7. The system of claim 2 , wherein the at least one sensor is configured for detecting at least one of acceleration, orientation, magnetic forces, and gravitational forces, for determining the hand positions and/or orientations in the 3D space.

8. The system of claim 2 , wherein the at least one sensor is configured for providing information about rotational movements and translational shifts of the hand.

9. The system of claim 8 , wherein the translational shifts of the hand are shifts of the hand from a reference position of the hand; and

wherein the controlling circuit is further configured for:

determining the reference position of the hand by a calibration process.

10. The system of claim 1 , wherein the controlling circuit is further configured for:

determining positions of one or more fingertips of the hand relative to the position of the hand in the 3D space;

building a 3D model of the hand; and

generating one or more gestures based on changes of the 3D model of the hand.

11. The system of claim 10 , wherein said generating the one or more gestures based on changes of the 3D model of the hand comprises:

generating characters and commands inputted from a virtual keyboard.

12. The system of claim 1 , wherein the controlling circuit is further configured for:

detecting a zone of a plurality of predefined zones that the hand is therewithin;

calculating a corrective vector; and

revising the position of the hand within the detected zone using the corrective vector for compensating for position drift of the hand.

13. The system of claim 12 , wherein the plurality of predefined zones are predefined zones of a virtual keyboard.

14. A method for sensing position of a hand, the method comprising:

determining time-of-arrival (TOA) measurements of one or more wireless signals transmitted between at least one first wireless communication component movable with the hand and at least one second wireless communication component at a distance to the hand; and

calculating the hand positions in a three-dimensional (3D) space based on at least one of the TOA measurements of the one or more wireless signals.

15. The method of claim 14 , wherein said calculating the hand positions in the 3D space comprises:

calculating the hand positions in the 3D space based on the at least one of the TOA measurements of the one or more wireless signals and positions and orientations of the hand in the 3D space detected by at least one sensor positioned about the hand.

16. The method of claim 15 , wherein said calculating the hand positions in the 3D space comprises:

calculating the hand positions in the 3D space based on the at least one of the TOA measurements of the one or more wireless signals and the positions and orientations of the hand in the 3D space detected by the at least one sensor and by using a Bayesian Filter.

17. The method of claim 16 , wherein said Bayesian Filter comprises at least one of a Kalman Filter and a Particle Filter.

18. The method of claim 14 further comprising:

generating one or more gestures based on the calculated hand positions in the 3D space.

19. The method of claim 18 , wherein at least one of the one or more gestures is for inputting a command to a computing device.

20. The method of claim 15 further comprising:

detecting at least one of acceleration, orientation, magnetic forces, and gravitational forces, for determining the hand positions and/or orientations in the 3D space.

21. The method of claim 15 further comprising:

determining rotational movements and translational shifts of the hand.

22. The method of claim 21 , wherein the translational shifts of the hand are shifts of the hand from a reference position of the hand; and the method further comprises:

determining the reference position of the hand by a calibration process.

23. The method of claim 14 further comprising:

determining positions of one or more fingertips of the hand relative to the position of the hand in the 3D space;

building a 3D model of the hand; and

generating one or more gestures based on changes of the 3D model of the hand.

24. The method of claim 23 , wherein said generating the one or more gestures based on changes of the 3D model of the hand comprises:

generating characters and commands inputted from a virtual keyboard.

25. The method of claim 14 further comprises:

detecting a zone of a plurality of predefined zones that the hand is therewithin;

calculating a corrective vector; and

revising the position of the hand within the detected zone using the corrective vector for compensating for position drift of the hand.

26. The method of claim 25 , wherein the plurality of predefined zones are predefined zones of a virtual keyboard.

27. One or more non-transitory computer-readable storage devices comprising computer-executable instructions for sensing position of a hand, wherein the instructions, when executed, cause a processing structure to perform actions comprising:

determining time-of-arrival (TOA) measurements of one or more wireless signals transmitted between at least one first wireless communication component movable with the hand and at least one second wireless communication component at a distance to the hand; and

calculating the hand positions in a three-dimensional (3D) space based on at least one of the TOA measurements of the one or more wireless signals.

28. The one or more non-transitory computer-readable storage devices according to claim 27 , wherein said calculating the hand positions in the 3D space comprises:

calculating the hand positions in the 3D space based on the at least one of the TOA measurements of the one or more wireless signals and positions and orientations of the hand in the 3D space detected by at least one sensor positioned about the hand.

29. The one or more non-transitory computer-readable storage devices according to claim 28 , wherein said calculating the hand positions in the 3D space comprises:

calculating the hand positions in the 3D space based on the at least one of the TOA measurements of the one or more wireless signals and the positions and orientations of the hand in the 3D space detected by the at least one sensor and by using a Bayesian Filter.

30. The one or more non-transitory computer-readable storage devices according to claim 29 , wherein said Bayesian Filter comprises at least one of a Kalman Filter and a Particle Filter.

31. The one or more non-transitory computer-readable storage devices according to claim 27 , wherein the instructions, when executed, cause the processing structure to perform further actions comprising:

generating one or more gestures based on the calculated hand positions in the 3D space.

32. The one or more non-transitory computer-readable storage devices according to claim 31 , wherein at least one of the one or more gestures is for inputting a command to a computing device.

33. The one or more non-transitory computer-readable storage devices according to claim 28 , wherein the instructions, when executed, cause the processing structure to perform further actions comprising:

detecting at least one of acceleration, orientation, magnetic forces, and gravitational forces, for determining the hand positions and/or orientations in the 3D space.

34. The one or more non-transitory computer-readable storage devices according to claim 28 , wherein the instructions, when executed, cause the processing structure to perform further actions comprising:

determining rotational movements and translational shifts of the hand.

35. The one or more non-transitory computer-readable storage devices according to claim 34 , wherein the translational shifts of the hand are shifts of the hand from a reference position of the hand; and

wherein the instructions, when executed, cause the processing structure to perform further actions comprising:

determining the reference position of the hand by a calibration process.

36. The one or more non-transitory computer-readable storage devices according to claim 27 , wherein the instructions, when executed, cause the processing structure to perform further actions comprising:

determining positions of one or more fingertips of the hand relative to the position of the hand in the 3D space;

building a 3D model of the hand; and

generating one or more gestures based on changes of the 3D model of the hand.

37. The one or more non-transitory computer-readable storage devices according to claim 36 , wherein said generating the one or more gestures based on changes of the 3D model of the hand comprises:

generating characters and commands inputted from a virtual keyboard.

38. The one or more non-transitory computer-readable storage devices according to claim 27 , wherein the virtual keyboard is divided into a plurality of zones; and the method further comprises:

detecting a zone of a plurality of predefined zones that the hand is therewithin;

calculating a corrective vector; and

revising the position of the hand within the detected zone using the corrective vector for compensating for position drift of the hand.

39. The one or more non-transitory computer-readable storage devices according to claim 38 , wherein the plurality of predefined zones are predefined zones of a virtual keyboard.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2020
From: LOWE, MATTHEW WILLIAM; DEHGHANIAN, VAHID
To: HELIO TECHNOLOGY INC.
Reel/Frame 052992/0561 →
MERGER Recorded Jun 19, 2020
From: HELIO TECHNOLOGY INC.; ZEROKEY INC.
To: ZEROKEY INC.
Reel/Frame 052992/0718 →
Continuity (5)
Continuation 16298030 · Mar 11, 2019
Continuation 14939388 · Nov 12, 2015
Provisional Application 62078124 · Nov 11, 2014
Provisional Application 62078142 · Nov 11, 2014
Related Publication 20200153450A1 · May 14, 2020