IP Library Granted Patent US 11,294,475
Granted Patent B1
US 11,294,475 · App. 17/170,825 · Granted Apr 5, 2022

Artificial reality multi-modal input switching model

Inventors: Etienne Pinchon (London, GB); Jennifer Lynn Spurlock (Seattle, WA); Nathan Aschenbach (Mercer Island, WA); Gerrit Hendrik Hofmeester (Seattle, WA); Roger Ibars Martinez (Seattle, WA); Christopher Alan Baker (San Carlos, CA); Chris Rojas (Seattle, WA)
Assignee: Facebook Technologies, LLC
G06F3/017G06F3/013G06F3/04815G06F3/04842G06V40/107
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,294,475
App. No.
17/170,825
Granted
Apr 5, 2022
Kind
B1
Abstract

Embodiments described herein disclose methods and systems directed to input mode selection in artificial reality. In some implementations, various input modes enable a user to perform precise interactions with a target object without occluding the target object. Some input modes can include rays that extend along a line that intersects an origin point, a control point, and an interaction point. An interaction model can specify when the system switches between input modes, such as modes based solely on gaze, using long or short ray input, or with direct interaction between the user's hand(s) and objects. These transitions can be performed by evaluating rules that take context factors such as whether a user's hands are in view of the user, what posture the hands are in, whether a target object is selected, and whether a target object is within a threshold distance from the user.

Claims (94)

1. A method for input mode selection in artificial reality, the method comprising:

identifying that a user hand is in view of one or more posture capturing cameras of an artificial reality (XR) device;

monitoring hand positions of the user hand using one or more images captured by the one or more posture capturing cameras;

identifying a hand posture of a user based on the monitoring the hand positions of the user;

determining the hand posture is a ray posture, by determining that an identified gesture of the hand of the user is mapped to performing inputs with ray projections, wherein a target object has been selected through a previous user interaction performed prior to determining that the hand posture is in the ray posture;

measuring a distance between the user and the previously selected target object, wherein the measuring is used to determine, while the hand posture is a ray posture, that the previously selected target object is within a threshold distance from the user, wherein the threshold distance from the user to the previously selected target object is a distance defined to determine the input mode to cast a ray; and

in response to both the determining the hand posture is in the ray posture and the determining that the previously selected target object is within the threshold distance defined to determine the input mode to cast a ray, automatically enabling a short ray input mode by selecting the short ray input mode from among multiple available ray input modes available on the XR device,

wherein the short ray input mode provides a ray of a specified length for interacting with the previously selected target object; and

wherein the ray input mode selecting comprises selecting from among the multiple available ray input modes including the short ray input mode and a long ray input mode, wherein the long ray input mode provides a ray that is longer than the specified length and/or that extends until the ray intersects with an object.

2. The method of claim 1 , wherein the specified length is a length between three and twelve inches.

3. The method of claim 1 further comprising:

tracking an origin point on the user hand and a control point, different from the origin point, on the user hand; and

casting the ray, of the specified length from the control point to an interaction point, along a line connecting the origin point and the control point.

4. The method of claim 1 , wherein the selecting the short ray input mode from among multiple available ray input modes available on the XR device is performed by selecting the short ray input mode to transition to from a current input mode, wherein the selection of a short ray input mode includes each of:

the identifying that the user hand is in view,

the monitoring hand positions of the user,

the identifying the hand posture of a user,

the determining the hand posture is the ray posture, and

the measuring the distance between the user and the previously selected target object.

5. The method of claim 4 , wherein the current input mode is a default input mode.

6. The method of claim 1 , wherein the hand posture of the user is a first hand posture of the user, and wherein the method further comprises:

after enabling the short ray input mode:

identifying a second hand posture of the user based on the monitoring the hand positions of the user;

determining the second hand posture is not the ray posture;

in response to the determining the second hand posture is not the ray posture, determining a second target object is within the threshold distance from the user; and

in response to determining the second target object is within the threshold distance, enabling a direct hand input mode, wherein the direct hand input mode uses an intersection between the hand of the user and the second target object to move the second target object.

7. The method of claim 1 , wherein the hand posture of the user is a first hand posture of the user, and wherein the method further comprises:

after enabling the short ray input mode:

identifying a second hand posture of the user based on the monitoring the hand positions of the user;

determining the second hand posture is not the ray posture;

in response to the determining the second hand posture is not the ray posture, determining a second target object is not selected or is not within the threshold distance from the user; and

in response to determining the second target object is not selected or is not within the threshold distance, enabling a gaze input mode, wherein the gaze input mode uses eye gaze direction of the user to determine input direction.

8. The method of claim 1 , wherein the previously selected target object is a first target object, the ray is a first ray, and the specified length is a first specified length, and wherein the method further comprises:

determining that a second target object is not within the threshold distance from the user; and

in response to determining the second target object is not within the threshold distance, enabling a long ray input mode, wherein the long ray input mode provides a second ray of a second specified length, longer than the first specified length, for interacting with the second target object.

9. The method of claim 1 further comprising:

after enabling the short ray input mode:

determining that the user hand is no longer in view of the one or more posture capturing cameras; and

in response to determining the user hand is no longer in view of the one or more posture capturing cameras, enabling a gaze input mode, wherein the gaze input mode uses eye gaze direction of the user to determine input direction.

10. The method of claim 1 further comprising receiving the previous user interaction through a gaze selection by the user.

11. The method of claim 1 further comprising receiving the previous user interaction through a hand gesture selection by the user.

12. A computing system for input mode selection in artificial reality, the computing system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising:

identifying that a user hand is in view of one or more posture capturing cameras of an artificial reality (XR) device;

monitoring hand positions of the user hand using one or more images captured by the one or more posture capturing cameras;

identifying a hand posture of a user based on the monitoring the hand positions of the user;

determining the hand posture is a ray posture, by determining that an identified gesture of the hand of the user is mapped to performing inputs with ray projections, wherein a target object has been selected through a previous user interaction performed prior to determining that the hand posture in in the ray posture;

measuring a distance between the user and the previously selected target object, wherein the measuring is used to determine, while the hand posture is a ray posture, that the previously selected target object is within a threshold distance from the user, wherein the threshold distance from the user to the previously selected target object is a distance defined to determine the input mode to cast a ray; and

in response to both the determining the hand posture is in the ray posture and the determining that the previously selected target object is within the threshold distance defined to determine the input mode to cast a ray, automatically enabling a short ray input mode by selecting the short ray input mode from among multiple available ray input modes available on the XR device,

wherein the short ray input mode provides a ray of a specified length for interacting with the previously selected target object; and

wherein the ray input mode selecting comprises selecting from among the multiple available ray input modes including the short ray input mode and a long ray input mode, wherein the long ray input mode provides a ray that is longer than the specified length and/or that extends until the ray intersects with an object.

13. The computing system of claim 12 , wherein the process further comprises:

tracking an origin point on the user hand and a control point, different from the origin point, on the user hand; and

casting the ray, of the specified length from the control point to an interaction point, along a line connecting the origin point and the control point.

14. The computing system of claim 12 , wherein the hand posture of the user is a first hand posture of the user, and wherein the process further comprises:

after enabling the short ray input mode:

identifying a second hand posture of the user based on the monitoring the hand positions of the user;

determining the second hand posture is not the ray posture;

in response to the determining the second hand posture is not the ray posture, determining a second target object is within the threshold distance from the user; and

in response to determining the second target object is within the threshold distance, enabling a direct hand input mode, wherein the direct hand input mode uses an intersection between the hand of the user and the second target object to move the second target object.

15. The computing system of claim 12 , wherein the hand posture of the user is a first hand posture of the user, and wherein the process further comprises:

after enabling the short ray input mode:

identifying a second hand posture of the user based on the monitoring the hand positions of the user;

determining the second hand posture is not the ray posture;

in response to the determining the second hand posture is not the ray posture, determining a second target object is not selected or is not within the threshold distance from the user; and

in response to determining the second target object is not selected or is not within the threshold distance, enabling a gaze input mode, wherein the gaze input mode uses eye gaze direction of the user to determine input direction.

16. The computing system of claim 12 , wherein the previously selected target object is a first target object, the ray is a first ray, and the specified length is a first specified length, and wherein the process further comprises:

determining that a second target object is not within the threshold distance from the user; and

in response to determining the second target object is not within the threshold distance, enabling a long ray input mode, wherein the long ray input mode provides a second ray of a second specified length, longer than the first specified length, for interacting with the second target object.

17. A machine-readable storage medium having machine executable instructions stored thereon that, when executed by one or more processors, direct the one or more processors to perform a method for input mode selection in artificial reality, the method comprising:

identifying that a user hand is in view of one or more posture capturing cameras of an artificial reality (XR) device;

monitoring hand positions of the user hand using one or more images captured by the one or more posture capturing cameras;

identifying a hand posture of a user based on the monitoring the hand positions of the user;

determining the hand posture is a ray posture, by determining that an identified gesture of the hand of the user is mapped to performing inputs with ray projections, wherein a target object has been selected through a previous user interaction performed prior to determining that the hand posture is in the ray posture;

measuring a distance between the user and the previously selected target object, wherein the measuring is used to determine, while the hand posture is a ray posture, that the previously selected target object is within a threshold distance from the user, wherein the threshold distance from the user to the previously selected target object is a distance defined to determine the input mode to cast a ray; and

in response to both the determining the hand posture is in the ray posture and the determining that the previously selected target object is within the threshold distance defined to determine the input mode to cast a ray, automatically enabling a short ray input mode by selecting the short ray input mode from among multiple available ray input modes available on the XR device,

wherein the short ray input mode provides a ray of a specified length for interacting with the previously selected target object; and

wherein the ray input mode selecting comprises selecting from among the multiple available ray input modes including the short ray input mode and a long ray input mode, wherein the long ray input mode provides a ray that is longer than the specified length and/or that extends until the ray intersects with an object.

18. The machine-readable storage medium of claim 17 , wherein the method further comprises:

tracking an origin point on the user hand and a control point, different from the origin point, on the user hand; and

casting the ray, of the specified length from the control point to an interaction point, along a line connecting the origin point and the control point.

19. The machine-readable storage medium of claim 17 , wherein the hand posture of the user is a first hand posture of the user, and wherein the method further comprises:

after enabling the short ray input mode:

identifying a second hand posture of the user based on the monitoring the hand positions of the user;

determining the second hand posture is not the ray posture;

in response to the determining the second hand posture is not the ray posture, determining a second target object is within the threshold distance from the user; and

in response to determining the second target object is within the threshold distance, enabling a direct hand input mode, wherein the direct hand input mode uses an intersection between the hand of the user and the second target object to move the second target object.

20. The machine-readable storage medium of claim 17 , wherein the hand posture of the user is a first hand posture of the user, and wherein the method further comprises:

after enabling the short ray input mode:

identifying a second hand posture of the user based on the monitoring the hand positions of the user;

determining the second hand posture is not the ray posture;

in response to the determining the second hand posture is not the ray posture, determining a second target object is not selected or is not within the threshold distance from the user; and

in response to determining the second target object is not selected or is not within the threshold distance, enabling a gaze input mode, wherein the gaze input mode uses eye gaze direction of the user to determine input direction.

Assignments (2)
CHANGE OF NAME Recorded Jun 15, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060386/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2021
From: PINCHON, ETIENNE; SPURLOCK, JENNIFER LYNN; ASCHENBACH, NATHAN; HOFMEESTER, GERRIT HENDRIK; MARTINEZ, ROGER IBARS; BAKER, CHRISTOPHER ALAN; ROJAS, CHRIS
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056178/0504 →
Cited By (56)
US 12,189,422 US 12,236,008 US 12,265,655 US 12,272,005 US 12,299,251 US 12,315,091 US 12,321,563 US 12,321,666 US 12,353,672 US 12,360,557 US 12,360,558 US 12,380,238 US 12,394,167 US 12,405,704 US 12,443,273 US 12,443,286 US 12,456,271 US 12,461,641 US 12,468,379 US 12,474,816 US 12,475,635 US 12,511,009 US 12,511,847 US 12,524,142 US 12,524,956 US 12,524,977 US 12,530,102 US 12,530,103 US 12,535,931 US 12,537,877 US 12,541,280 US 12,566,532 US 12,572,213 US 12,596,472 US 12,608,115 US 12,608,877 US 12,608,890 US 12,619,316 US 12,619,774 US 12,620,187 US 12,625,562 US 12,625,608 US 12,632,170 US 12,633,044 US 12,657,958 US 12,663,853 US 12,663,874 US 12,663,875 US 12,663,907 US 12,669,848 US 12,675,958 US 12,681,587 US 12,687,922 US 12,688,660 US 12,699,446 US 12,704,905