Cluster-based sensor assignment

US11042247B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11042247-B2
Application numberUS-201916442299-A
CountryUS
Kind codeB2
Filing dateJun 14, 2019
Priority dateJun 14, 2019
Publication dateJun 22, 2021
Grant dateJun 22, 2021

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.

The logic of a handheld controller system may use a clustering algorithm to determine which sensors of a touch sensor array, such as capacitive pads, to assign to individual fingers of a user's hand. The clustering algorithm disclosed herein allows for dynamically determining the controller configuration on-the-fly for a given user. An example process includes receiving data generated by a plurality of sensors of a touch sensor array of the handheld controller, generating a covariance matrix that indicates correlations between pairs of sensors, determining a plurality of feature vectors based at least in part on the covariance matrix, each feature vector corresponding to an individual sensor and describing that sensor's correlation(s) with one or more other sensors, clustering the feature vectors using a clustering algorithm, and configuring the touch sensor array according to a controller configuration that assigns sensors to respective fingers of a hand.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a handheld controller having a touch sensor array that includes a plurality of capacitive pads distributed on a handle of the handheld controller; one or more processors; and one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising: receiving, from the touch sensor array, capacitance values detected by the plurality of capacitive pads; generating, based at least in part on the capacitance values, a covariance matrix that indicates correlations between pairs of pads of the plurality of capacitive pads; determining, based at least in part on the covariance matrix, a plurality of feature vectors, each feature vector corresponding to a pad of the plurality of capacitive pads and describing a correlation between the pad and one or more other pads of the plurality of capacitive pads; clustering the plurality of feature vectors using a clustering algorithm; and configuring the touch sensor array of the handheld controller according to a controller configuration based at least in part on the clustering, the controller configuration assigning at least a first subset of the plurality of capacitive pads to a first group that corresponds to a first finger of a hand and a second subset of the plurality of capacitive pads to a second group that corresponds to a second finger of the hand. 2. The system of claim 1 , wherein: the plurality of capacitive pads comprises a set of n pads, where n is a first integer; the generating of the covariance matrix comprises generating the covariance matrix as a n×d covariance matrix based at least in part on a subset of d reference pads among the plurality of capacitive pads, where d is a second integer less than the first integer; and the determining of the plurality of feature vectors comprises determining n d-dimensional feature vectors. 3. The system of claim 2 , wherein: the plurality of capacitive pads are distributed on the handle in rows and columns of pads, the rows oriented substantially horizontally on the handle and the columns oriented substantially vertically on the handle; and the subset of d reference pads comprises a column of pads. 4. The system of claim 2 , wherein: the clustering algorithm is a k-means clustering algorithm; and the clustering of the plurality of feature vectors comprises: initializing the k-means clustering algorithm with input parameters that include: a number of k clusters; and center estimates for the k clusters in d-dimensional space; assigning each feature vector of the plurality of feature vectors to a cluster of the k clusters that has a center estimate that is a smallest distance from the feature vector; and updating each center estimate to obtain k updated cluster centers, wherein a center estimate for a cluster is updated based at least in part on the feature vectors assigned the cluster. 5. A method, comprising: receiving data generated by a plurality of sensors of a touch sensor array of a handheld controller, the plurality of sensors distributed on a handle of the handheld controller; generating, based at least in part on the data, a covariance matrix that indicates correlations between pairs of sensors of the plurality of sensors; determining, based at least in part on the covariance matrix, a plurality of feature vectors, each feature vector corresponding to a sensor of the plurality of sensors and describing a correlation between the sensor and one or more other sensors of the plurality of sensors; clustering the plurality of feature vectors using a clustering algorithm; and configuring the touch sensor array of the handheld controller according to a controller configuration based at least in part on the clustering, the controller configuration assigning at least a first subset of the plurality of sensors to a first group that corresponds to a first finger of a hand and a second subset of the plurality of sensors to a second group that corresponds to a second finger of the hand. 6. The method of claim 5 , wherein: the plurality of sensors comprises a set of n sensors, where n is a first integer; the generating of the covariance matrix comprises generating the covariance matrix as a n×d covariance matrix based at least in part on a subset of d reference sensors among the plurality of sensors, where d is a second integer less than the first integer; and the determining of the plurality of feature vectors comprises determining n d-dimensional feature vectors. 7. The method of claim 6 , wherein: the plurality of sensors are distributed on the handle in rows and columns of sensors, the rows oriented substantially horizontally on the handle and the columns oriented substantially vertically on the handle; and the subset of d reference sensors comprises a column of sensors. 8. The method of claim 6 , wherein: the clustering algorithm is a k-means clustering algorithm; and the clustering of the plurality of feature vectors comprises: initializing the k-means clustering algorithm with input parameters that include: a number of k clusters; and center estimates for the k clusters in d-dimensional space; assigning each feature vector of the plurality of feature vectors to a cluster of the k clusters that has a center estimate that is a smallest distance from the feature vector; and updating each center estimate to obtain k updated cluster centers, wherein a center estimate for a cluster is updated based at least in part on the feature vectors assigned the cluster. 9. The method of claim 8 , wherein the clustering of the plurality of feature vectors further comprises repeating the assigning and the updating until the updated cluster centers converge to final cluster centers. 10. The method of claim 8 , wherein: k=3; and the controller configuration assigns: the first subset of the plurality of sensors to the first group that corresponds to the first finger of the hand, the first finger corresponding to a middle finger; the second subset of the plurality of sensors to the second group that corresponds to the second finger of the hand, the second finger corresponding to a ring finger; and a third subset of the plurality of sensors to a third group that corresponds to a third finger of the hand, the third finger corresponding to a pinky finger. 11. The method of claim 8 , wherein: k=4; and the controller configuration assigns: the first subset of the plurality of sensors to the first group that corresponds to the first finger of the hand, the first finger corresponding to a middle finger; the second subset of the plurality of sensors to the second group that corresponds to the second finger of the hand, the second finger corresponding to a ring finger; a third subset of the plurality of sensors to a third group that corresponds to a third finger of the hand, the third finger corresponding to a pinky finger; and a fourth subset of the plurality of sensors to a fourth group that corresponds to a non-finger group. 12. The method of claim 5 , further comprising: determining that at least one of the first subset or the second subset includes a number of sensors that do not satisfy a threshold number of sensors; and refraining from sending data generated by the at least one of the first subset or the second subset to an application configured to receive data generated by the touch sensor array as input. 13. The method of claim 5 , further comprising: determining that at least one of the first subset or the second subset includes a non-

Assignees

Inventors

Classifications

  • with fixed number of clusters, e.g. K-means clustering · CPC title

  • using a touch-screen or digitiser, e.g. input of commands through traced gestures · CPC title

  • G06F3/044Primary

    by capacitive means · CPC title

  • Touch location disambiguation · CPC title

  • Touch pads, in which fingers can move on a surface · 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 US11042247B2 cover?
The logic of a handheld controller system may use a clustering algorithm to determine which sensors of a touch sensor array, such as capacitive pads, to assign to individual fingers of a user's hand. The clustering algorithm disclosed herein allows for dynamically determining the controller configuration on-the-fly for a given user. An example process includes receiving data generated by a plur…
Who is the assignee on this patent?
Valve Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/044. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 22 2021 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).