Free-space user interface and control using virtual constructs

US9501152B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9501152-B2
Application numberUS-201414154730-A
CountryUS
Kind codeB2
Filing dateJan 14, 2014
Priority dateJan 15, 2013
Publication dateNov 22, 2016
Grant dateNov 22, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

During control of a user interface via free-space motions of a hand or other suitable control object, switching between control modes may be facilitated by tracking the control object's movements relative to, and its penetration of, a virtual control construct (such as a virtual surface construct). The position of the virtual control construct may be updated, continuously or from time to time, based on the control object's location.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of controlling a machine user interface, comprising: receiving information including motion information for a control object; determining from the motion information whether a motion of the control object is an engagement gesture according to an occurrence of an engagement gesture applied to at least one virtual control construct defined within a field of view of an image capturing device, comprising: determining whether an intersection occurred between control object and at least one virtual control construct, and when an intersection has occurred determining from the motion information whether the engagement includes continued motion after intersection; otherwise determining whether a dis-intersection of the control object from the at least one virtual control construct occurred; otherwise determining whether motion of the control object occurred relative to at least one virtual control construct; determining from the motion information a set of engagement attributes defining an engagement gesture; and identifying an engagement gesture by correlating motion information to at least one engagement gesture based at least upon one or more of motion of the control object, occurrence of any of an intersection, a dis-intersection or a non-intersection of the control object with the virtual control construct, and the set of engagement attributes; determining a control to which the engagement gesture is applicable; and manipulating the control according to at least the engagement gesture. 2. A computer-implemented method for controlling a user interface via free-space motions of a control object, the method comprising: receiving motion information indicating positions of a control object being tracked in free space; and using a processor, (i) defining a virtual control construct, at least a portion thereof having a spatial position determined based at least in part on the motion information such that the virtual control construct portion is positioned proximate to the control object; (ii) determining from the motion information whether the tracked motions of the control object indicate that the control object has intersected the virtual control construct; and (iii) switching from conducting control of a user interface in a first mode to conducting control of the user interface in a second mode based at least in part upon an occurrence of the control object intersecting the virtual control construct. 3. The method of claim 2 , further comprising: updating at least the spatial position of the virtual control construct portion based at least in part on the motion information such that the virtual control construct portion is enabled to follow the control object. 4. The method of claim 3 , wherein the virtual control construct computationally follows the tracked motions of the control object with a time lag. 5. The method of claim 4 , wherein the time lag is fixed. 6. The method of claim 4 , wherein the time lag is computed by the processor and depends on a motion parameter of the control object. 7. The method of claim 3 , wherein the spatial position of the virtual control construct is updated by the processor based on a current distance between the control object and the virtual control construct. 8. The method of claim 7 , wherein the spatial position of the virtual control construct is updated in accordance with a virtual energy potential defined as a function of the distance between the control object and the virtual control construct. 9. The method of claim 8 , wherein the virtual energy potential comprises minima at steady-state distances between the control object and the virtual control construct in the engaged mode and the disengaged mode. 10. The method of claim 9 , wherein the steady-state distance in the engaged mode is equal to the steady-state distance in the disengaged mode. 11. The method of claim 9 , wherein the steady-state distance in the engaged mode is larger than the steady-state distance in the disengaged mode. 12. The method of claim 2 , further comprising computationally tracking the motions of the control object based on a temporal sequence of images of the control object. 13. The method of claim 12 , further comprising acquiring the sequence of images with a camera system having depth-sensing capability. 14. The method of claim 2 , further comprising computationally filtering the motions of the control object based, at least in part, on a velocity thereof. 15. The method of claim 2 , wherein the first mode is an engaged mode and the second mode is a disengaged mode. 16. The method of claim 2 , further comprising computationally determining, during a transition from the disengaged mode to the engaged mode, a degree of penetration of the virtual control construct by the control object, and controlling the user interface based at least in part thereon. 17. The method of claim 2 , wherein conducting control of the user interface comprises updating screen content based, at least in part, on the mode and the tracked motions of the control object. 18. The method of claim 2 , wherein conducting control of the user interface comprises operating a cursor associated with a position on a screen based, at least in part, on the mode and the tracked motions of the control object. 19. The method of claim 18 , wherein operating the cursor comprises displaying a cursor symbol on the screen at the associated position. 20. The method of claim 19 , wherein the cursor symbol is indicative of a distance between the control object and the virtual control construct. 21. The method of claim 2 , wherein the virtual control construct comprises a virtual surface construct. 22. The method of claim 21 , wherein the virtual surface construct is computationally defined as a plane oriented relative to at least one of a tracked orientation of the control object or an orientation of a screen displaying the user interface. 23. The method of claim 2 , wherein determining whether the control object has intersected the virtual control construct comprises computing an intersection of a straight line through an axis of the control object with a screen displaying the user interface. 24. The method of claim 2 , wherein determining whether the control object has intersected the virtual control construct comprises computationally projecting a tip of the control object perpendicularly onto a screen displaying the user interface. 25. A system including one or more processors coupled to memory, the memory loaded with computer instructions to control a user interface via free-space motions of a control object, the instructions, when executed on the processors, implement actions comprising: receiving motion information indicating positions of a control object being tracked in free space; defining a virtual control construct, at least a portion thereof having a spatial position determined based at least in part on the motion information such that the virtual control construct portion is positioned proximate to the control object; determining from the motion information whether the tracked motions of the control object indicate that the control object has intersected the virtual control construct; and switching from conducting control of a user interface in a first mode to conducting control of the user interface in a second mode based at least in part upon an occurrence of the control objec

Assignees

Inventors

Classifications

  • Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00) · CPC title

  • Physics · mapped topic

  • G06F3/017Primary

    Gesture based interaction, e.g. based on a set of recognized hand gestures (interaction based on gestures traced on a digitiser G06F3/04883) · CPC title

  • Detection arrangements using opto-electronic means (constructional details of pointing devices not related to the detection arrangement using opto-electronic means G06F3/033; optical digitisers G06F3/042) · CPC title

  • Movements or behaviour, e.g. gesture recognition (recognition of facial expressions G06V40/16) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9501152B2 cover?
During control of a user interface via free-space motions of a hand or other suitable control object, switching between control modes may be facilitated by tracking the control object's movements relative to, and its penetration of, a virtual control construct (such as a virtual surface construct). The position of the virtual control construct may be updated, continuously or from time to time, …
Who is the assignee on this patent?
Leap Motion Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/017. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).