Electronic controller with finger motion sensing
First Claim
1. A system comprising:
- a handheld controller comprising;
a controller body having a handle; and
a proximity sensor coupled to the handle and responsive to a proximity of a finger of a user to the handle;
one or more processors; and
one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising;
receiving, from the proximity sensor, proximity data representing the proximity of the finger of the user to the handle;
determining an unfiltered finger curl value based at least in part on the proximity data;
passing the unfiltered finger curl value through one or more filters to obtain a filtered finger curl value; and
determining an estimated joint angle of the finger based at least in part on the filtered finger curl value.
8 Assignments
0 Petitions
Accused Products
Abstract
A controller includes a body having a handle, and an array of proximity sensors spatially distributed on, in, beneath, or near the outer surface of the handle, responsive to a proximity of a user'"'"'s fingers to that outer surface. A finger tracker converts the output of the array of proximity sensors to a set of joint angles corresponding to a plurality of the user'"'"'s fingers. The controller may include a renderer for processing the joint angles to deform a hand mesh that is rendered for display. Values may be calculated to facilitate normalization of the output of the proximity sensor array and thereby generate a set of normalized finger detection data. This data may be processed through curl logic to produce a linear estimate of gross finger curl with respect to the user and thereby generate a set of estimates for a plurality of finger joint angles for the user.
113 Citations
27 Claims
-
1. A system comprising:
-
a handheld controller comprising; a controller body having a handle; and a proximity sensor coupled to the handle and responsive to a proximity of a finger of a user to the handle; one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising; receiving, from the proximity sensor, proximity data representing the proximity of the finger of the user to the handle; determining an unfiltered finger curl value based at least in part on the proximity data; passing the unfiltered finger curl value through one or more filters to obtain a filtered finger curl value; and determining an estimated joint angle of the finger based at least in part on the filtered finger curl value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 14, 15, 19, 20, 21, 27)
-
-
10. A method comprising:
-
receiving first data from a proximity sensor that represents a proximity of a finger of a user relative to a handle of a controller; determining an unfiltered finger curl value based at least in part on the first data; passing the unfiltered finger curl value through one or more filters to obtain a filtered finger curl value; and determining an estimate of a joint angle of the finger based at least in part on the filtered finger curl value. - View Dependent Claims (11, 12, 13, 16, 17, 18, 22, 23)
-
-
24. A device comprising:
-
one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising; receiving proximity data generated by a proximity sensor, the proximity data representing a proximity of a finger of a user to a handle of a controller; determining an unfiltered finger curl value based at least in part on the proximity data; passing the unfiltered finger curl value through one or more filters to obtain a filtered finger curl value; and determining an estimated joint angle of the finger based at least in part on the filtered finger curl value. - View Dependent Claims (25, 26)
-
Specification