← Back to Patent Explorer
US5889670A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for tactilely responsive user interface

Assignee: Immersion Corp
•
Filing: 1996-01-11
•
Granted: 1999-03-30
•
Expires: 2016-01-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus implementing a user interface device, such as a mouse or trackball, having electronically controllable tactile responsiveness which is flexibly programmable. A user interface device effects positioning of a cursor within a limited area, such as on a display screen, with limits imposed by controllable tactile responsiveness. Programmable force-position characteristics relate the tactile responsiveness of the interface device to the position of the cursor within the limited area or on the display screen. In a described embodiment, the interface device includes at least two sets of wheels that move as the interface device is actuated. The at least two sets of wheels are aligned on mutually orthogonal axes. A servo motor is attached to each of the at least two sets of wheels. A position encoder is associated with each servo motor and outputs position information to a controller that has access to force-position relation information that is a function of a screen display on which the cursor is manipulated. The controller outputs a digital signal, in accordance with the force-display position relation information. The digital signal is converted to an analog current signal applied to the servo motor(s) to generate force in the servo motor. The force, presenting a tactile response to a human interacting with the user interface device, is perceived as a resistance, tactile pressure or lack thereof, or as a positive, assisted motion which is indicative of position on a screen display.

Inventors

  • 👤 Chester L. Schuler
  • 👤 Seth M. Haberman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 20:54
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/016; G05; G05B; G05B19/00; G05B19/02; G05B19/04; G05B19/10; G05B19/106; G05B19/108; G05B19/18; G05B19/19; G05B19/21; G05B19/23; G05B19/231; G06F3/011; G06F3/03; G06F3/033; G06F3/0354; G06F3/03543; G06F3/03549; G06F3/0362; G11; G11B; G11B27/00; G11B27/02; G11B27/022; G11B27/028; G11B27/031; G11B27/034; G11B27/10; G11B27/34; G05B2219/00; G05B2219/20; G05B2219/23; G05B2219/23053; G05B2219/30; G05B2219/35; G05B2219/35459; G05B2219/37; G05B2219/37396; G05B2219/43; G05B2219/43186; G05B2219/45; G05B2219/45184; G06F2203/00; G06F2203/01; G06F2203/014; H; H01; H01H; H01H3/00; H01H2003/008

Claims Analysis

Total Claims: 49
Claim 1
Independent Claim 149 words
A user interface device to manipulate a position of a cursor on a screen display in an electronic apparatus, comprising: a tracking element actuatable to track the position of said cursor on said screen display; at least one motor interconnected to said tracking element and having a position sensor connected thereto, each said position sensor generating a motor position signal indicative of the position of a respective motor; a controller receiving cursor position information from said electronic apparatus and motor position information from a respective sensor; a store of force-position information accessible to said controller, said controller accessing said store of force-position information in response to at least one of said cursor position information and said motor position signal to generate, using said at least one motor, a positive or negative force in said tracking element as a function of a position of said cursor on said screen display.
Claim 2
Dependent Claim 149 words
A user interface device to manipulate a position of a cursor on a screen display in an electronic apparatus, comprising: a tracking element actuatable to track the position of said cursor on said screen display; at least one motor interconnected to said tracking element and having a position sensor connected thereto, each said position sensor generating a motor position signal indicative of the position of a respective motor; a controller receiving cursor position information from said electronic apparatus and motor position information from a respective sensor; a store of force-position information accessible to said controller, said controller accessing said store of force-position information in response to at least one of said cursor position information and said motor position signal to generate, using said at least one motor, a positive or negative force in said tracking element as a function of a position of said cursor on said screen display.
Claim 3
Dependent Claim 45 words
The user interface device of claim 1 wherein said tracking element is a sphere interfaced to said at least one motor by at least two sets of wheels contacting said sphere and said at least two sets of wheels are aligned on mutually orthogonal axes.
Claim 4
Dependent Claim 55 words
The user interface device of claim 2 wherein each of said at least two sets of wheels comprises a hub about which a pair of frames is disposed and each of said pair of frames includes gripping members staggered in a manner so that there is always a gripping member in contact with said sphere.
Claim 5
Dependent Claim 33 words
The user interface device of claim 1 wherein said at least one motor comprises a plurality of motors and each of said plurality of motors has an associated complementary motor connected in series.
Claim 6
Dependent Claim 30 words
The user interface device of claim 1 wherein said at least one motor comprises a plurality of motors and each of said plurality of motors has an associated complementary bearing.
Claim 7
Dependent Claim 51 words
The user interface device of claim 1 wherein said at least one motor comprises a plurality of motors each interconnected to said tracking element by at least one set of wheels aligned on mutually orthogonal axes and configured to sense or impart motion of the tracking element on a respective axis.
Claim 8
Dependent Claim 48 words
The user interface device of claim 6 wherein said plurality of motors each interconnected to said tracking element by at least one set of wheels aligned on mutually orthogonal axes are configured to sense or impart motion of the tracking element on mutually orthogonally disposed x and y-axes.
Claim 9
Dependent Claim 37 words
The user interface device of claim 7 further including at least one set of wheels configured to sense or impart motion of the tracking element on a z-axis orthogonally disposed with respect to said x and y-axes.
Claim 10
Independent Claim 196 words
A method of generating tactile responsiveness in a user interface device having a tracking element manipulating a position of a displayed element on a display screen of an electronic device, said method comprising the steps of: positioning a plurality of drive/position assemblies along mutually orthogonal axes with respect to said tracking element, each of said plurality of drive/position assemblies including a motor and an associated sensor to drive and sense position of said tracking element; interfacing said user interface device to said display screen via a controller that receives information from said associated sensor of each of said plurality of drive/position assemblies and from said electronic device to track movement of said tracking element and the position on said display screen of said displayed element; storing force-position relation information, accessible to said controller, as a function of the position on the display screen of the displayed element; and accessing said force-position information via said controller and generating a signal to each of said plurality of drive/position assemblies to effect a positive or negative force to respectively assist or resist motion of said tracking element depending upon the position of said displayed element on said display screen.
Claim 11
Independent Claim 196 words
A method of generating tactile responsiveness in a user interface device having a tracking element manipulating a position of a displayed element on a display screen of an electronic device, said method comprising the steps of: positioning a plurality of drive/position assemblies along mutually orthogonal axes with respect to said tracking element, each of said plurality of drive/position assemblies including a motor and an associated sensor to drive and sense position of said tracking element; interfacing said user interface device to said display screen via a controller that receives information from said associated sensor of each of said plurality of drive/position assemblies and from said electronic device to track movement of said tracking element and the position on said display screen of said displayed element; storing force-position relation information, accessible to said controller, as a function of the position on the display screen of the displayed element; and accessing said force-position information via said controller and generating a signal to each of said plurality of drive/position assemblies to effect a positive or negative force to respectively assist or resist motion of said tracking element depending upon the position of said displayed element on said display screen.
Claim 12
Dependent Claim 51 words
The method of claim 9 wherein said step of positioning a plurality of drive/position assemblies further includes positioning a corresponding plurality of complementary slave assemblies along corresponding mutually orthogonal axes, each of said complementary slave assemblies being electrically connected in series with a respective one of said plurality of drive/position assemblies.
Claim 13
Dependent Claim 103 words
The method of claim 9 wherein the step of interfacing said user interface device to said display screen via said controller includes interconnecting said electronic device to said controller to send and receive information about the position of the displayed element on said display screen between said electronic device and said controller, and interconnecting said plurality of drive/position assemblies to said controller to send said signal to each of said plurality of drive/position assemblies to effect said positive or negative force to respectively assist or resist motion of said tracking element depending upon the position of said displayed element on said display screen.
Claim 14
Dependent Claim 140 words
A user interface device having tactile feedback capabilities, comprising: an actuatable member for imparting a tactile feedback to a user of said user interface device; a motor interconnected to said actuatable member; a position sensor in communication with said motor, said position sensor providing position information of said motor; a controller receiving said position information from at least said position sensor; a store of force-position relation information accessible to said controller, said controller outputting at least one force value corresponding to said position information in accordance with said store of force-position information; and a drive signal source generating a drive signal to said motor in accordance with said at least one force value, said drive signal causing a force in said motor to provide said tactile feedback to said actuatable member to assist or resist motion of said actuatable member.
Claim 15
Dependent Claim 140 words
A user interface device having tactile feedback capabilities, comprising: an actuatable member for imparting a tactile feedback to a user of said user interface device; a motor interconnected to said actuatable member; a position sensor in communication with said motor, said position sensor providing position information of said motor; a controller receiving said position information from at least said position sensor; a store of force-position relation information accessible to said controller, said controller outputting at least one force value corresponding to said position information in accordance with said store of force-position information; and a drive signal source generating a drive signal to said motor in accordance with said at least one force value, said drive signal causing a force in said motor to provide said tactile feedback to said actuatable member to assist or resist motion of said actuatable member.
Claim 16
Dependent Claim 45 words
The user interface device of claim 12 further including a counter receiving said position information of said motor and providing a count to said controller, said controller outputting a force value corresponding to said position information in accordance with said store of force-position relation information.
Claim 17
Dependent Claim 40 words
The user interface device of claim 13 wherein said force value is a digital force value and further including a digital to analog converter receiving said digital force value and converting said digital force value to an analog force signal.
Claim 18
Dependent Claim 44 words
The user interface device of claim 14 further including a power amplifier receiving said analog force signal and generating said drive signal to said motor in accordance with said at least one force value, said drive signal being proportional to said analog force signal.
Claim 19
Dependent Claim 21 words
The actuator of claim 12 wherein said controller is a microprocessor receiving said position information on at least one port thereof.
Claim 20
Dependent Claim 25 words
The actuator of claim 16 wherein said microprocessor includes resident erasable programmable read only memory which is used for said store of force-position relation information.
Claim 21
Dependent Claim 30 words
The actuator of claim 12 wherein said drive signal source is a current source including a power amplifier and said drive signal is a current provided by said power amplifier.
Claim 22
Dependent Claim 19 words
The user interface device of claim 16 wherein said microprocessor is separate from and coupled to a main CPU.
Claim 23
Dependent Claim 286 words
A user interface device manipulated by a user and providing electronically controllable and flexibly programmable tactile feel, the user interface device comprising: a user manipulatable object grasped by a user and moveable by said user in at least one degree of freedom; a motor coupled to said user manipulatable object and providing force on said user manipulatable object in said degree of freedom, wherein said force is varied as said user manipulatable object changes position in said degree of freedom, said varied force creating a tactile feel perceived by said user when said user manipulatable object is moved by said user in said degree of freedom, said tactile feel defined at least in part by information received by said user interface device from a main CPU running a main software application; a control microprocessor separate from said main CPU, said control microprocessor executing a tactile control process separate from said main software application, said control microprocessor coupled to said main CPU by a communication interface; a sensor apparatus coupled to said control microprocessor and responsive to manipulation of said user manipulatable object, said sensor apparatus providing said control microprocessor with positional information corresponding with said manipulation of said user manipulatable object; and memory accessible to said control microprocessor and storing force profile information enabling a plurality of distinct force profiles, wherein said force profile information informs said control microprocessor how to implement a force profile by modulating said force as a function of a position of said user manipulatable object in said degree of freedom to achieve one of a plurality of tactile feels, wherein a particular force profile is selected and executed by said control microprocessor in accordance with requirements of said main software application.
Claim 24
Dependent Claim 286 words
A user interface device manipulated by a user and providing electronically controllable and flexibly programmable tactile feel, the user interface device comprising: a user manipulatable object grasped by a user and moveable by said user in at least one degree of freedom; a motor coupled to said user manipulatable object and providing force on said user manipulatable object in said degree of freedom, wherein said force is varied as said user manipulatable object changes position in said degree of freedom, said varied force creating a tactile feel perceived by said user when said user manipulatable object is moved by said user in said degree of freedom, said tactile feel defined at least in part by information received by said user interface device from a main CPU running a main software application; a control microprocessor separate from said main CPU, said control microprocessor executing a tactile control process separate from said main software application, said control microprocessor coupled to said main CPU by a communication interface; a sensor apparatus coupled to said control microprocessor and responsive to manipulation of said user manipulatable object, said sensor apparatus providing said control microprocessor with positional information corresponding with said manipulation of said user manipulatable object; and memory accessible to said control microprocessor and storing force profile information enabling a plurality of distinct force profiles, wherein said force profile information informs said control microprocessor how to implement a force profile by modulating said force as a function of a position of said user manipulatable object in said degree of freedom to achieve one of a plurality of tactile feels, wherein a particular force profile is selected and executed by said control microprocessor in accordance with requirements of said main software application.
Claim 25
Dependent Claim 42 words
A user interface device as recited in claim 20 wherein said control microprocessor is operative to select and execute a force profile causing said motor to generate a tactile feel of a detent at a particular location in said degree of freedom.
Claim 26
Dependent Claim 44 words
A user interface device as recited in claim 20 wherein said control microprocessor is operative to select and execute a force profile causing said motor to generate a tactile feel of a progressively increasing force in a particular direction of said degree of freedom.
Claim 27
Dependent Claim 42 words
A user interface device as recited in claim 20 wherein said control microprocessor is operative to select and execute at least one force profile resulting in a feel of a simulated hard stop at a particular location in said degree of freedom.
Claim 28
Dependent Claim 34 words
A user interface device as recited in claim 20 wherein said control microprocessor computes a representation of a velocity of said user manipulatable object by evaluating a rate of change of said positional information.
Claim 29
Dependent Claim 31 words
A user interface device as recited in claim 20 wherein an external velocity signal is accessible to said microprocessor, said external velocity signal representing a velocity of said user manipulatable object.
Claim 30
Dependent Claim 30 words
A user interface device as recited in claim 25 wherein said velocity signal includes an analog signal processed by an analog to digital converter for digital processing by said microprocessor.
Claim 31
Dependent Claim 32 words
A user interface device as recited in claim 20 wherein said motor is a first motor, and further comprising a second motor, said first and second motor coupled to said control microprocessor.
Claim 32
Dependent Claim 29 words
A user interface device as recited in claim 27 wherein said first and second motors operate in conjunction to create a tactile feel based on a single force profile.
Claim 33
Dependent Claim 16 words
A user interface device as recited in claim 20 wherein said motor is a servo motor.
Claim 34
Dependent Claim 16 words
A user interface device as recited in claim 20 wherein said motor is a linear motor.
Claim 35
Dependent Claim 25 words
A user interface device as recited in claim 20 wherein said main CPU downloads information describing at least one force profile to said control microprocessor.
Claim 36
Dependent Claim 15 words
A user interface device as recited in claim 20 wherein said memory includes non-volatile memory.
Claim 37
Dependent Claim 25 words
A user interface device as recited in claim 20 wherein at least one of said force profiles includes a table of information stored in memory.
Claim 38
Dependent Claim 24 words
A user interface device as recited in claim 33 wherein said table includes a series of force values and a series of position values.
Claim 39
Dependent Claim 26 words
A user interface device as recited in claim 34 wherein said table is downloaded to said control microprocessor from said main CPU to facilitate flexible programming.
Claim 40
Dependent Claim 26 words
A user interface device as recited in claim 20 wherein said control microprocessor can store, modify, and select force profiles to provide a desired tactile feel.
Claim 41
Independent Claim 249 words
A method for providing electronically controllable and programmable tactile feel with a user interface device manipulated by a user, the method comprising: providing a force on a user manipulatable object in a degree of freedom using a motor coupled to said user manipulatable object, said user manipulatable object being grasped and moveable by said user, wherein said force is varied as said user manipulatable object is moved in said degree of freedom, thereby creating a tactile feel perceived by said user and defined at least in part by information received by said user interface device from a main CPU running a main software application; executing a tactile control process using a control microprocessor separate from said main software application and in communication with said main CPU; providing position information to said control microprocessor using a sensor apparatus, said position information indicating a position of said user manipulatable object in said degree of freedom; and providing force profile information to said control microprocessor from memory accessible to said control microprocessor, said force profile information enabling a plurality of distinct force profiles, wherein said force profile information informs said control microprocessor how to implement a force profile by modulating said force as a function of a position of said user manipulatable object in said at least one degree of freedom to achieve one of a plurality of tactile feels, wherein a particular force profile is selected and executed by said control microprocessor in accordance with requirements of said main software application.
Claim 42
Independent Claim 249 words
A method for providing electronically controllable and programmable tactile feel with a user interface device manipulated by a user, the method comprising: providing a force on a user manipulatable object in a degree of freedom using a motor coupled to said user manipulatable object, said user manipulatable object being grasped and moveable by said user, wherein said force is varied as said user manipulatable object is moved in said degree of freedom, thereby creating a tactile feel perceived by said user and defined at least in part by information received by said user interface device from a main CPU running a main software application; executing a tactile control process using a control microprocessor separate from said main software application and in communication with said main CPU; providing position information to said control microprocessor using a sensor apparatus, said position information indicating a position of said user manipulatable object in said degree of freedom; and providing force profile information to said control microprocessor from memory accessible to said control microprocessor, said force profile information enabling a plurality of distinct force profiles, wherein said force profile information informs said control microprocessor how to implement a force profile by modulating said force as a function of a position of said user manipulatable object in said at least one degree of freedom to achieve one of a plurality of tactile feels, wherein a particular force profile is selected and executed by said control microprocessor in accordance with requirements of said main software application.
Claim 43
Dependent Claim 33 words
A method as recited in claim 37 wherein one of said force profiles causes said motor to generate a tactile feel of a detent at a particular location in said degree of freedom.
Claim 44
Dependent Claim 35 words
A method as recited in claim 37 wherein one of said force profiles causes said motor to generate a tactile feel of a progressively increasing force in a particular direction of said degree of freedom.
Claim 45
Dependent Claim 31 words
A method as recited in claim 37 at least one of said force profiles causes a feel of a simulated hard stop at a particular location in said degree of freedom.
Claim 46
Dependent Claim 34 words
A method as recited in claim 37 further comprising computing a representation of a velocity of said user manipulatable object using said control microprocessor by evaluating a rate of change of said positional information.
Claim 47
Dependent Claim 25 words
A method as recited in claim 37 further comprising downloading information describing at least one force profile to said control microprocessor from said main CPU.
Claim 48
Dependent Claim 40 words
A method as recited in claim 42 wherein said information includes a table including a series of force values and a series of position values, said table downloaded to said control microprocessor from said main CPU to facilitate flexible programming.
Claim 49
Dependent Claim 25 words
A method as recited in claim 37 further comprising storing, modifying, and selecting force profiles using said control microprocessor to provide a desired tactile feel.

References Cited (Backward Citations)

US3919691A Cited
US3765624A Cited
US3875488A Cited
US3923166A Cited
US4050265A Cited
US4227319A Cited
US4228386A Cited
US4206891A Cited
US4398889A Cited
US4403756A Cited
US4436188A Cited
EP0085518A1 Cited
US4426607A Cited
EP0111992A2 Cited
US4939594A Cited
US4538188A Cited
US4655673A Cited
US4937685A Cited
US4943866A Cited
US4685003A Cited
US4979050A Cited
US4964004A Cited
US4949193A Cited
US4729044A Cited
US5103404A Cited
US5591924A Cited
US4803413A Cited
US4696445A Cited
US4795296A Cited
US4857816A Cited
US4800721A Cited
US4868549A Cited
US4896554A Cited
US4982918A Cited
US4907970A Cited
US4861269A Cited
US5116051A Cited
US5044956A Cited
US4983901A Cited
GB2235310A Cited
US5182557A Cited
US4961038A Cited
US5107080A Cited
US5072361A Cited
US5184319A Cited
US5095303A Cited
US5062594A Cited
US5120101A Cited
US5223776A Cited
US5142931A Cited
US5143505A Cited
US5156363A Cited
US5543821A Cited
US5185561A Cited
US5186629A Cited
US5220260A Cited
US5559412A Cited
US5414337A Cited
US5471571A Cited
US5589828A Cited
US5189355A Cited
US5280276A Cited
US5264768A Cited
US5666473A Cited
US5629594A Cited
US5389865A Cited
US5405152A Cited
US5396266A Cited
US5513100A Cited
US5477237A Cited
US5734373A Cited
US5576727A Cited
US5491477A Cited
US5625576A Cited
US5691747A Cited
US5577981A Cited
US5742278A Cited
WO1995020787A1 Cited
US5643087A Cited
WO1995032459A1 Cited
US5623582A Cited
US5642469A Cited
US5721566A Cited
US5767839A Cited
US5589854A Cited
WO1997021160A2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-29 2002-09-28 2003-03-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-29 2006-09-28 2007-03-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-29 2010-09-28 2011-03-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag