IP Library Granted Patent US 11,693,520
Granted Patent B2
US 11,693,520 · App. 17/949,902 · Granted Jul 4, 2023

System and method for calibrating a touch sensor

Inventors: Tomer Daniel Moscovich (Sunnyvale, CA); Scott Isaacson (Sunnyvale, CA); Shuangming Li (Sunnyvale, CA); Ilya Daniel Rosenberg (Sunnyvale, CA); John Aaron Zarraga (Sunnyvale, CA); Samuel Palomino (Sunnyvale, CA)
Assignee: Sensel, Inc.
G06F3/04186G06F3/016G06F3/044G06F3/045G06F3/04166
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,693,520
App. No.
17/949,902
Granted
Jul 4, 2023
Kind
B2
Abstract

A method for calibrating a touch sensor includes: at a calibration system during a calibration routine, applying a probe, at a target selection force, to a sequence of locations on a touch sensor surface of a touch sensor; at the touch sensor, capturing a sequence of touch images representing magnitudes of forces detected on the touch sensor surface during the calibration routine; fusing the sequence of touch images into a response map representing magnitudes of forces detected on the touch sensor surface by the touch sensor responsive to application of the target selection force on the touch sensor surface by the probe during the calibration routine; generating a force compensation map defining threshold forces for detecting selections at the target selection force on the touch sensor surface based on the response map.

Claims (144)

1. A method comprising:

during a first time period:

at a touch sensor, capturing a first touch image during application by a probe of a target selection force, to a first location on a touch sensor surface of the touch sensor;

interpreting a first force magnitude, at the first location on the touch sensor surface, based on the first touch image; and

generating a force compensation map, defining a threshold force for detecting a selection, at the target selection force, at the first location on the touch sensor surface based on the first force magnitude; and

during a second time period succeeding the first time period:

reading a set of force values from the touch sensor;

interpreting a second force magnitude, at the first location on the touch sensor surface, based on the set of force values; and

in response to the second force magnitude exceeding the threshold force assigned to the first location by the force compensation map, registering a first selection at the first location on the touch sensor surface.

2. The method of claim 1 :

wherein capturing the first touch image comprises capturing the first touch image comprising a set of pixels containing values representing force magnitudes carried by a set of drive and sense electrode pairs at the touch sensor during capture of the first touch image;

wherein interpreting the first force magnitude, at the first location on the touch sensor surface, based on the first touch image comprises:

detecting a first input on the touch sensor surface based on a cluster of pixels in the touch image containing values deviating from corresponding baseline values;

calculating a center of the first input, at the first location on the touch sensor surface, based on the cluster of pixels;

calculating the first force magnitude of the first input based on a first combination of values contained in the cluster of pixels; and

storing the first force magnitude in a first pixel, nearest the center of the first input; and

wherein generating the force compensation map comprises storing the first force magnitude contained in the first pixel as the threshold force for detecting the selection at the target selection force, at the first location on the touch sensor surface, in the force compensation map.

3. The method of claim 2 :

wherein reading the set of force values from the touch sensor comprises, capturing a second touch image comprising the set of pixels containing values representing force magnitudes carried by the set of drive and sense electrode pairs at the touch sensor during capture of the second touch image; and

wherein interpreting the second force magnitude comprises, calculating the second force magnitude at the first location on the touch sensor surface based on a second combination of values contained in the set of pixels;

further comprising, in response to registering the first selection at the first location on the touch sensor surface, executing a haptic feedback cycle to vibrate the touch sensor surface.

4. The method of claim 1 :

wherein capturing the first touch image comprises, at the touch sensor:

driving a set of drive electrodes in the touch sensor to a reference voltage;

reading a set of sense voltages from a set of sense electrodes in the touch sensor, each sense electrode in the set of sense electrodes passing a voltage proportional to the reference voltage and a local contact resistance of a force-sensitive layer against the sense electrode, the force-sensitive layer exhibiting changes in local contact resistance against the sense electrode as a function of force applied to the touch sensor surface; and

compiling the set of sense voltages into the touch image;

wherein interpreting the first force magnitude comprises, interpreting the first force magnitude based on a first voltage magnitude, passed by a first sense electrode, in the set of sense electrodes, responsive to application of the target selection force, at the first location on the touch sensor surface; and

wherein generating the force compensation map comprises generating the force compensation map defining the first voltage magnitude as a threshold voltage for detecting an input of a force magnitude greater than the target selection force at the first location on the touch sensor surface.

5. The method of claim 1 , further comprising, during the first time period, applying the probe at the target selection force to the first location on the touch sensor surface.

6. The method of claim 1 :

further comprising, during the first time period, applying the target selection force along a path across the touch sensor surface, the path comprising the first location on the touch sensor surface;

wherein capturing the first touch image at the touch sensor comprises, capturing a sequence of touch images, the sequence of touch images comprising the first touch image; and

wherein generating the force compensation map comprises:

initializing a sparse response map;

for each touch image in the sequence of touch images:

detecting an input on the touch sensor surface represented in a set of pixels in the touch image;

calculating a location of the input based on the set of pixels in the touch image;

calculating a detected total force magnitude of the input based on a combination of values contained in the set of pixels; and

storing the detected total force magnitude in a pixel, in the sparse response map, at the location of the input; and

generating a dense response map representing predicted total force magnitudes of inputs, at the target selection force, applied to locations on the touch sensor surface between segments of the path, based on the detected total force magnitudes represented in pixels in the sparse response map; and

storing detected total force magnitudes and predicted total force magnitudes contained in pixels in the dense response map as threshold forces, for detecting inputs of force magnitudes greater than the target selection force at corresponding location on the touch sensor surface, in the force compensation map.

7. The method of claim 1 :

wherein capturing the first touch image comprises at the touch sensor comprises:

capturing a first capacitance image representing the first location of the target selection force applied to the touch sensor surface, during the first time period;

capturing a first force image representing distribution of forces carried by a set of pressure sensors, supporting the touch sensor surface, during the first time period;

calculating a detected total force magnitude of an input at the first location on the touch sensor surface based on a combination of forces in the distribution of forces represented in the force image; and

generating the first touch image based on the capacitance image and the detected total force magnitude; and

wherein generating the force compensation map comprises:

initializing a response map;

identifying a pixel in the response map, corresponding to the first location of the target selection force, applied to the first location at the touch sensor surface, during the first time period;

writing a detected total force magnitude, stored in the first touch image, to the pixel in the response map; and

storing the detected total force magnitude contained in the pixel in the response map as the threshold force for detecting a selection at the target selection force, at the first location on the touch sensor surface, in the force compensation map.

8. The method of claim 1 :

further comprising, during the first time period:

by a calibration system, initiating application of the target selection force, to a first location on the touch sensor surface of a touch sensor, in response to receipt of a calibration command from the calibration system; and

accessing a magnitude of the target selection force;

wherein generating the force compensation map comprises, at the touch sensor, generating the force compensation map based on the first force magnitude and the magnitude of the target selection force; and

further comprising, at the touch sensor, storing the force compensation map in local memory.

9. A method comprising:

during first time period:

at a touch sensor, capturing a first touch image during application by a probe of a reference force, to a first location on a touch sensor surface of the touch sensor;

interpreting a first force magnitude, at the first location on the touch sensor surface, based on the first touch image; and

generating a first correction function for calibrating forces detected at the first location on the touch sensor surface based on the first force magnitude;

during a second time period, succeeding the first time period:

reading a set of electrical values from the touch sensor;

interpreting a first uncorrected force magnitude at the first location on the touch sensor surface based on the set of electrical values; and

calculating a corrected force magnitude at the first location on the touch sensor surface based on the first uncorrected force magnitude and a first correction function for the first location.

10. The method of claim 9 :

wherein capturing the first touch image comprises capturing the first touch image comprising a set of pixels containing values representing force magnitudes carried by a set of drive and sense electrode pairs at the touch sensor during capture of the first touch image;

wherein interpreting the first force magnitude, at the first location on the touch sensor surface, based on the first touch image comprises:

detecting a first input on the touch sensor surface based on a cluster of pixels in the touch image containing values deviating from corresponding baseline values;

calculating a center of the first input, at the first location on the touch sensor surface, based on the cluster of pixels;

calculating the first force magnitude of the first input based on a first combination of values contained in the cluster of pixels; and

storing the first force magnitude in a first pixel, nearest the center of the first input; and

wherein generating the first correction function comprises:

calculating a force offset between the reference force and a detected total force magnitude stored in the first pixel; and

writing the first correction function based on the force offset to a corresponding position in a force compensation map.

11. The method of claim 10 :

wherein interpreting the first uncorrected force magnitude at the first location on the touch sensor surface based on the set of electrical values comprises:

detecting a first input on the touch sensor surface based on a first cluster of pixels in the first touch image containing values deviating from corresponding baseline values; and

calculating a centroid of the first input, at the first location on the touch sensor surface, based on the first cluster of pixels;

calculating the first uncorrected force magnitude of the first input based on a first combination of values contained in the first cluster of pixels; and

wherein calculating the corrected force magnitude comprises calculating the corrected force magnitude of the first input based on a sum of the first uncorrected force magnitude and the first force offset assigned to the first location by the force compensation map.

12. The method of claim 9 :

wherein capturing the first touch image comprises capturing the first touch image comprising a set of pixels containing values representing force magnitudes carried by a set of drive and sense electrode pairs at the touch sensor during capture of the first touch image;

wherein interpreting the first force magnitude, at the first location on the touch sensor surface, based on the first touch image comprises:

detecting a first input on the touch sensor surface based on a cluster of pixels in the touch image containing values deviating from corresponding baseline values;

calculating a center of the first input, at the first location on the touch sensor surface, based on the cluster of pixels;

calculating the first force magnitude of the first input based on a first combination of values contained in the cluster of pixels; and

storing the first force magnitude in a first pixel, nearest the center of the first input; and

wherein generating the first correction function comprises:

calculating a first scalar coefficient based on a ratio of the reference force to the detected total force magnitude stored in the first pixel; and

writing the first correction function based on the scalar coefficient to a corresponding position in a force compensation map for the first location on the touch sensor surface.

13. The method of claim 12 :

wherein interpreting the first uncorrected force magnitude at the first location on the touch sensor surface based on the set of electrical values comprises:

detecting a first input on the touch sensor surface based on a first cluster of pixels in the first touch image containing values deviating from corresponding baseline values; and

calculating a centroid of the first input, at the first location on the touch sensor surface, based on the first cluster of pixels; and

calculating the first uncorrected force magnitude of the first input based on a first combination of values contained in the first cluster of pixels; and

wherein calculating the corrected force magnitude of the first input comprises calculating the corrected force magnitude of the first input based on a product of the first uncorrected force magnitude and the first scalar coefficient assigned to the first location by the force compensation map.

14. The method of claim 9 :

further comprising, during the first time period:

at the touch sensor, capturing a second touch image during application of a second reference force to a second location on the touch sensor surface of the touch sensor;

interpreting a second force magnitude, at the first location on the touch sensor surface, based on the second touch image; and

wherein generating the first correction function comprises:

calculating a first ratio of the reference force to the first force magnitude;

calculating a second ratio of the second reference force to the second force magnitude;

calculating a nonlinear correction function based on the first ratio and the second ratio; and

storing the nonlinear correction function, assigned to the first location on the touch sensor surface, in a force compensation map.

15. The method of claim 14 , further comprising, by a calibration system:

applying the probe at the reference force comprising a first target click force to the first location on the touch sensor surface during a first segment in the first time period; and

applying the probe at the reference force comprising a second target click force greater than the first target click force, to the first location on the touch sensor surface during a second segment in the second time period.

16. The method of claim 9 , further comprising:

at a calibration system during the first time period, tracking a sequence of reference force magnitudes applied to the touch sensor surface, the sequence of reference force magnitudes comprising the reference force; and

generating a ground truth input map representing the sequence of force magnitudes; and

generating a force compensation map based on differences between magnitudes of forces represented in a response map and cospatial forces represented in the ground truth input map, the force compensation map comprising the first correction function for calibrating forces detected at the first location on the touch sensor surface.

17. The system of claim 16 :

further comprising, during an alignment routine:

at the calibration system, applying the probe to a set of target alignment locations on the touch sensor surface, the set of target alignment locations offset according to an alignment constellation within a calibration system coordinate system; and

at the touch sensor, capturing a set of alignment images representing a set of detected alignment locations detected on the touch sensor surface within a touch sensor coordinate system;

further comprising:

calculating a transform that projects the set of target alignment locations onto the set of detected alignment locations; and

applying the transform to the ground truth input map to generate an aligned ground truth input map; and

wherein generating the force compensation map comprises generating the force compensation map based on differences between magnitudes of forces represented in a response map and cospatial force magnitudes represented in the aligned ground truth input map.

18. A system comprising:

during first time period:

at a touch sensor, reading a first set of electrical values during application by a probe of a reference forcer, to a first location on a touch sensor surface of the touch sensor;

interpreting a first force magnitude, at the first location on the touch sensor surface, based on the first set of electrical values; and

generating a threshold force for detecting a selection, at the target selection force, at the first location on the touch sensor surface based on the first force magnitude; and

during a second time period, succeeding the first time period:

reading a second set of electrical values from the touch sensor;

interpreting a second force magnitude, at the first location on the touch sensor surface, based on the second set of electrical values; and

in response to the second force magnitude exceeding the threshold force for the first location, registering a first selection at the first location on the touch sensor surface.

19. The system of claim 18 :

wherein reading the second set of electrical values from the touch sensor comprises, capturing a second touch image comprising a set of pixels containing values representing force magnitudes carried by a set of drive and sense electrode pairs at the touch sensor during capture of the second touch image; and

wherein interpreting the second force magnitude comprises, calculating the second force magnitude at the first location on the touch sensor surface based on the values representing force magnitudes contained in the set of pixels;

further comprising, in response to registering the first selection at the first location on the touch sensor surface, executing a haptic feedback cycle to vibrate the touch sensor surface.

20. The system of claim 18 :

wherein interpreting the first force magnitude, at the first location on the touch sensor surface, based on the first set of electrical values comprises:

capturing a first touch image at the touch sensor;

detecting a first input on the touch sensor surface based on a cluster of pixels in the touch image containing values deviating from corresponding baseline values;

calculating a center of the first input, at the first location on the touch sensor surface, based on the cluster of pixels;

calculating the first force magnitude of the first input based on a first combination of values contained in the cluster of pixels; and

storing the first force magnitude in a first pixel, nearest the center of the first input; and

further comprising, generating a force compensation map defining the threshold force for detecting a selection, at the target selection force, at the first location on the touch sensor surface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2025
From: SENSEL, INC
To: CIRQUE CORPORATION
Reel/Frame 072018/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2022
From: MOSCOVICH, TOMER; ISAACSON, SCOTT; LI, SHUANGMING; ROSENBERG, IIYA DANIEL; ZARRAGA, JOHN AARON; PALOMINO, SAMUEL
To: SENSEL INC.
Reel/Frame 061811/0808 →
Continuity (4)
Continuation 17554985 · Dec 17, 2021
Continuation 17207546 · Mar 19, 2021
Provisional Application 62992077 · Mar 19, 2020
Related Publication 20230079470A1 · Mar 16, 2023