US5831408A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Force feedback system
Assignee: Immersion Corp
•
Filing: 1997-05-12
•
Granted: 1998-11-03
•
Expires: 2017-05-12
Abstract
Abstract A system and method for providing a tactile virtual reality to a user is present. The position and orientation of the user is utilized to generate a virtual reality force field. Forces are in turn generated on the user as a function of this force field. A six-axis manipulator is presented for providing a user interface to such a system. This manipulator provides a unique kinematic structure with two constant force springs which provide gravity compensation so that the manipulator effectively floats.
Inventors
- 👤 Charles J. Jacobus
- 👤 Alan J. Riggs
- 👤 Mark J. Taylor
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 05:05
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/016; B; B25; B25J; B25J9/00; B25J9/16; B25J9/1679; B25J9/1689; G05; G05G; G05G9/00; G05G9/02; G05G9/04; G05G9/047; G05G9/04737; G06F3/011; A; A63; A63B; A63B71/00; A63B71/06; A63B71/0619; A63B2071/0658; A63B2071/0661; A63B2071/0666; G05B; G05B2219/00; G05B2219/30; G05B2219/35; G05B2219/35416; G05B2219/37; G05B2219/37396; G05G2009/04766; G06F2203/00; G06F2203/01; G06F2203/012; G06F2203/015
Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
89 words
A method of controlling a force-feedback interface device having one or more axes, comprising the steps of: establishing a multi-layer communication arrangement including a first iterative loop and a control process accessible by the first loop; then, through each pass of the first loop, performing the following steps: a) collecting position values associated with each axis of the device; b) determining a force contribution for each axis of the device in accordance with the control process; and b) outputting the force contribution to each respective axis of the device.
Claim 2
Independent Claim
89 words
A method of controlling a force-feedback interface device having one or more axes, comprising the steps of: establishing a multi-layer communication arrangement including a first iterative loop and a control process accessible by the first loop; then, through each pass of the first loop, performing the following steps: a) collecting position values associated with each axis of the device; b) determining a force contribution for each axis of the device in accordance with the control process; and b) outputting the force contribution to each respective axis of the device.
Claim 3
Dependent Claim
19 words
The method of claim 1, wherein the control process is accessed by the first loop through a shared memory.
Claim 4
Dependent Claim
19 words
The method of claim 1, wherein the control process is accessed by the first loop through a communications path.
Claim 5
Dependent Claim
18 words
The method of claim 1, wherein the control process is accessed by the first loop over a network.
Claim 6
Dependent Claim
15 words
The method of claim 1, wherein the first loop and the control process are synchronized.
Claim 7
Dependent Claim
15 words
The method of claim 1, wherein the first loop and the control process operate concurrently.
Claim 8
Dependent Claim
15 words
The method of claim 1, wherein the control process is associated with an applications layer.
Claim 9
Dependent Claim
29 words
The method of claim 1, wherein the step of determining a force contribution for each axis includes the step of estimating device velocity based upon the collected position values.
Claim 10
Dependent Claim
29 words
The method of claim 1, wherein the step of determining a force contribution for each axis includes the step of estimating device acceleration based upon the collected position values.
Claim 11
Dependent Claim
29 words
The method of claim 1, wherein the step of determining a force contribution for each axis includes the step of computing a translation based upon the collected position values.
Claim 12
Dependent Claim
29 words
The method of claim 1, wherein the step of determining a force contribution for each axis includes the step of computing a rotation based upon the collected position values.
Claim 13
Dependent Claim
28 words
The method of claim 1, wherein the step of determining a force contribution for each axis includes the step of scaling one or more of the position values.
Claim 14
Dependent Claim
32 words
The method of claim 1, wherein the control process accessable by the first loop is in the form of a second iterative loop used to poll for, and execute, external command inputs.
Claim 15
Independent Claim
107 words
A method of controlling a force-feedback interface device having one or more axes, comprising the steps of: establishing a first iterative loop having a time interval related to device responsiveness; installing a control function accessible by the first loop; then, through each pass of the first loop, performing the following steps: a) collecting position values associated with each axis of the device; b) computing estimates of device velocity and acceleration based upon the collected position values; c) determining a force contribution for each axis of the device in accordance with the installed control function; and d) outputting the force contribution to each respective axis of the device.
Claim 16
Independent Claim
107 words
A method of controlling a force-feedback interface device having one or more axes, comprising the steps of: establishing a first iterative loop having a time interval related to device responsiveness; installing a control function accessible by the first loop; then, through each pass of the first loop, performing the following steps: a) collecting position values associated with each axis of the device; b) computing estimates of device velocity and acceleration based upon the collected position values; c) determining a force contribution for each axis of the device in accordance with the installed control function; and d) outputting the force contribution to each respective axis of the device.
Claim 17
Dependent Claim
23 words
The method of claim 14, further including the step of performing a set of translations, rotations and scales on the collected position values.
Claim 18
Dependent Claim
28 words
The method of claim 15, further including the step of applying the force contributions to a running sum of other such contributions obtained through the installed control function.
Claim 19
Independent Claim
91 words
A method of controlling a force-feedback interface device having one or more axes, comprising the steps of: establishing a multi-layer communication architecture including first and second iterative loops, the second loop providing for the insertion of multiple, superimposed control functions; initializing the first iterative loop with stored configuration parameters; then, through each pass of the first loop: a) determining a force contribution for each axis of the device in accordance with one or more of the control functions; and b) outputting the force contribution to each respective axis of the device.
Claim 20
Independent Claim
91 words
A method of controlling a force-feedback interface device having one or more axes, comprising the steps of: establishing a multi-layer communication architecture including first and second iterative loops, the second loop providing for the insertion of multiple, superimposed control functions; initializing the first iterative loop with stored configuration parameters; then, through each pass of the first loop: a) determining a force contribution for each axis of the device in accordance with one or more of the control functions; and b) outputting the force contribution to each respective axis of the device.
Claim 21
Dependent Claim
23 words
The method of claim 17, further including the step of defining a time interval associated with the first loop relating to device responsiveness.
Claim 22
Dependent Claim
17 words
The method of claim 17, wherein the first and second loops cooperate to service master/slave external commands.
Claim 23
Independent Claim
128 words
A system for interacting with a simulated environment, comprising: a multi-axis joystick; an actuator associated with each axis; an encoder for sensing the position and movement of the joystick; a programmed computer for: a) storing data representative of the simulated environment including one or more virtual objects, b) determining user interactions with the objects based upon the position and movement of the joystick, and c) generating force-field values as a function of the interactions; and a controller interfaced to the actuators and to the encoder for: a) communicating-the position and movement of the joystick, as sensed by the encoder, to the programmed computer, b) receiving the force-field values from the programmed computer, and c) delivering a force command to the actuators as a function of the force-field values.
Claim 24
Independent Claim
128 words
A system for interacting with a simulated environment, comprising: a multi-axis joystick; an actuator associated with each axis; an encoder for sensing the position and movement of the joystick; a programmed computer for: a) storing data representative of the simulated environment including one or more virtual objects, b) determining user interactions with the objects based upon the position and movement of the joystick, and c) generating force-field values as a function of the interactions; and a controller interfaced to the actuators and to the encoder for: a) communicating-the position and movement of the joystick, as sensed by the encoder, to the programmed computer, b) receiving the force-field values from the programmed computer, and c) delivering a force command to the actuators as a function of the force-field values.
Claim 25
Dependent Claim
19 words
The system of claim 20, wherein the movement of the joystick includes the velocity and acceleration of the joystick.
Claim 26
Dependent Claim
12 words
The system of claim 20, wherein the encoder is an optical encoder.
Claim 27
Dependent Claim
19 words
The system of claim 20, wherein the actuator associated with each axis of the joystick is a back-drivable motor.
Claim 28
Dependent Claim
43 words
The system of claim 20, wherein the controller is further operative to communicate information regarding power consumption to the programmed computer, and wherein the programmed computer is operative to adjust one or more of the force-field values in response to the power consumption.
References Cited (Backward Citations)
US3168203A
Cited
US3133649A
Cited
US3171549A
Cited
US3139990A
Cited
US3296882A
Cited
US3263824A
Cited
US3260826A
Cited
US3241687A
Cited
US3350956A
Cited
US3409252A
Cited
US3447766A
Cited
US3449008A
Cited
US3561263A
Cited
US3618786A
Cited
US3679865A
Cited
US3637092A
Cited
US3620095A
Cited
US3771037A
Cited
US4021715A
Cited
US3920972A
Cited
US3948093A
Cited
US4459870A
Cited
US4150803A
Cited
US4216467A
Cited
US4302138A
Cited
US4221516A
Cited
US4260319A
Cited
US4229136A
Cited
US4348142A
Cited
US4367532A
Cited
US4420808A
Cited
US4511985A
Cited
US4510574A
Cited
US4521685A
Cited
US4531080A
Cited
US4555960A
Cited
US4655673A
Cited
US4604016A
Cited
US4661032A
Cited
US4680519A
Cited
US4973215A
Cited
US5155423A
Cited
US4837734A
Cited
US4888538A
Cited
US4795296A
Cited
US4853874A
Cited
US5018922A
Cited
US4893981A
Cited
US4887222A
Cited
US4942538A
Cited
US4913000A
Cited
US4914976A
Cited
US5053975A
Cited
US5116180A
Cited
US5105367A
Cited
US5044956A
Cited
US5004391A
Cited
US5115178A
Cited
US5130632A
Cited
US5184319A
Cited
US5239160A
Cited
US5193963A
Cited
US5198736A
Cited
US5223776A
Cited
US5142931A
Cited
US5220261A
Cited
US5589828A
Cited
US5526022A
Cited
US5451924A
Cited
US5619180A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-11-02 | 2002-05-04 | 2002-11-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-11-02 | 2006-05-04 | 2006-11-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-11-02 | 2010-05-04 | 2010-11-03 | $7700.00 | Window Closed / Lapsed |