IP Library Granted Patent US 11,610,376
Granted Patent B1
US 11,610,376 · App. 17/716,172 · Granted Mar 21, 2023

Wrist-stabilized projection casting

Inventors: Norah Riley Smith (Oakland, CA); Matthew Alan Insley (Seattle, WA)
Assignee: Meta Platforms Technologies, LLC
G06T19/006G06F3/011G06F3/017G06F3/04815
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,610,376
App. No.
17/716,172
Granted
Mar 21, 2023
Kind
B1
Abstract

A wrist-pose isolation system can infer a wrist pose (e.g., the user's hand position relative to her forearm) and can reduce wrist-induced jitter for projection casting in an XR environment. A user's projection cast can be determined as a combination of a “low-wrist contribution” component (e.g., a body-and-arm component) and a “high-wrist contribution” component (e.g., the pose of the wrist with respect to the arm). Using input from a gesture-tracking system, the contribution of the user's wrist pose to the user's current projection cast is calculated as a “wrist-contribution vector.” A projection cast direction can be determined as the interpolation of the current low-wrist contribution component and the high-wrist contribution component. This interpolation can be performed by weighting each by a specified amount and combining them.

Claims (64)

1. A method for interacting with objects in an artificial reality environment, the method comprising:

setting an origin point on a body of a user;

tracking a portions of a user's hand;

determining, from the tracked portions of the user's hand, a first low-wrist contribution point on the user's hand;

determining, from the tracked portions of the user's hand, a high-wrist contribution point on the user's hand;

calculating a low-wrist projection vector on a line passing through the origin point and the first low-wrist contribution point on the user's hand;

calculating a high-wrist projection vector on a line passing through the origin point and the high-wrist contribution point on the user's hand;

calculating a resultant projection vector by interpolating between the low-wrist projection vector and the high-wrist projection vector;

casting a projection ray along the direction of the resultant projection vector; and

performing an action in relation to one or more objects based on one or more locations of the cast projection ray.

2. The method of claim 1 , wherein the interpolating between the low-wrist projection vector and the high-wrist projection vector comprises:

weighting each of the low-wrist projection vector and the high-wrist projection vector according to contribution factors pre-defined for each; and

combining the weighted low-wrist projection vector and the high-wrist projection vector.

3. The method of claim 1 , wherein the interpolating between the low-wrist projection vector and the high-wrist projection vector comprises:

calculating a wrist-contribution vector as the high-wrist projection vector minus the low-wrist projection vector;

determining a second low-wrist projection vector passing through the origin point and the first low-wrist contribution point on the user's hand; and

combining the second low-wrist projection vector with the high-wrist projection vector.

4. The method of claim 1 , wherein the high-wrist contribution point is at a pinch point between the user's thumb and index finger or at a tip of a finger of the user.

5. The method of claim 1 , wherein the low-wrist contribution point on the user's hand is at a base of a wrist of the user.

6. The method of claim 1 , wherein the performing an action includes one or more of: selecting one or more objects, moving one or more objects, operating a control assigned to an object, interacting with a menu presented by an object, or any combination thereof.

7. The method of claim 1 , wherein the origin point on the body of the user is a point between a shoulder and a hip of the user.

8. The method of claim 1 ,

wherein the origin point on the body of the user is a point between a shoulder and a hip of the user; and

wherein the point between the shoulder and the hip of the user is selected according to a determined angle of the user's gaze.

9. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform a process for casting a projection in an artificial reality environment, the process comprising:

setting an origin point on a body of a user;

tracking a portions of a user's hand;

determining, from the tracked portions of the user's hand, a first low-wrist contribution point on the user's hand;

determining, from the tracked portions of the user's hand, a high-wrist contribution point on the user's hand;

calculating a low-wrist projection vector on a line passing through the origin point and the first low-wrist contribution point on the user's hand;

calculating a high-wrist projection vector on a line passing through the origin point and the high-wrist contribution point on the user's hand;

calculating a resultant projection vector by interpolating between the low-wrist projection vector and the high-wrist projection vector; and

casting a projection ray along the direction of the resultant projection vector.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the interpolating between the low-wrist projection vector and the high-wrist projection vector comprises:

weighting each of the low-wrist projection vector and the high-wrist projection vector according to contribution factors pre-defined for each; and

combining the weighted low-wrist projection vector and the high-wrist projection vector.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the interpolating between the low-wrist projection vector and the high-wrist projection vector comprises:

determining a gaze vector between an eye of the user and the high-wrist contribution point; and

combining the low-wrist projection vector, the high-wrist projection vector, and the gaze vector.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the high-wrist contribution point is at a pinch point between the user's thumb and index finger or at a tip of a finger of the user.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the low-wrist contribution point on the user's hand is at a base of a wrist of the user.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the projection ray is used to perform an action including one or more of: selecting one or more objects, moving one or more objects, operating a control assigned to an object, interacting with a menu presented by an object, or any combination thereof.

15. The non-transitory computer-readable storage medium of claim 9 ,

wherein the origin point on the body of the user is a point between a shoulder and a hip of the user; and

wherein the point between the shoulder and the hip of the user is selected according to a determined angle of the user's gaze.

16. A computing system for interacting with objects in an artificial reality environment, 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:

setting an origin point on a body of a user;

tracking a portions of a user's hand;

determining, from the tracked portions of the user's hand, a first low-wrist contribution point on the user's hand;

determining, from the tracked portions of the user's hand, a high-wrist contribution point on the user's hand;

calculating a low-wrist projection vector on a line passing through the origin point and the first low-wrist contribution point on the user's hand;

calculating a high-wrist projection vector on a line passing through the origin point and the high-wrist contribution point on the user's hand;

calculating a resultant projection vector by interpolating between the low-wrist projection vector and the high-wrist projection vector; and

casting a projection ray along the direction of the resultant projection vector.

17. The computing system of claim 16 , wherein the interpolating between the low-wrist projection vector and the high-wrist projection vector comprises:

weighting each of the low-wrist projection vector and the high-wrist projection vector according to contribution factors pre-defined for each; and

combining the weighted low-wrist projection vector and the high-wrist projection vector.

18. The computing system of claim 16 , wherein the high-wrist contribution point is at a pinch point between the user's thumb and index finger or at a tip of a finger of the user.

19. The computing system of claim 16 , wherein the low-wrist contribution point on the user's hand is at a base of a wrist of the user.

20. The computing system of claim 16 ,

wherein the origin point on the body of the user is a point between a shoulder and a hip of the user; and

wherein the point between the shoulder and the hip of the user is selected according to a determined angle of the user's gaze.

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 Apr 21, 2022
From: SMITH, NORA RILEY; INSLEY, MATTHEW ALAN
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 059660/0391 →
Cited By (4)
US 12,242,672 US 12,386,430 US 12,492,913 US 12,619,320