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

Offline force effect rendering

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-04-25
•
Granted: 1999-12-21
•
Expires: 2017-04-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor in a haptic joystick renders force effects that are applied to control handle gripped by a user. A plurality of force effects specified by a host computer to the processor are stored in a random access memory (RAM) that is coupled to the processor. Further, a plurality of force effects are stored in a read only memory (ROM) that is coupled to the processor. The processor employs a scheduler to render the force effects in a specified order, for specified time intervals. The scheduler controls how the force effects are rendered, i.e., sequentially, concatenated, and/or superimposed. A play list employed by the scheduler indicates for each increment of a servo clock when each force effect should be rendered by the processor. The scheduler has a round robin queue that can implement at least five types of effects, including: behavioral, synthesized, wave table, variable parameter, and process list.

Inventors

  • 👤 Timothy Osborne
  • 👤 Manolito E. Adan
  • 👤 Bin An

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 11:19
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/016; A; A63; A63F; A63F13/00; A63F13/25; A63F13/28; A63F13/285; G06F2203/00; G06F2203/01; G06F2203/015

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 175 words
A force feedback device that is responsive to a request from a host computer to generate a force effect, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate a force corresponding to the force effect; and (d) a communication link coupling the host computer to the processor, the communication link conveying the request to render the force effect from the host computer to the processor, said processor determining whether the processor is linked to the host computer through a musical instrument digital interface port or through a serial port and automatically configuring the communication link to employ an appropriate one of a musical instrument digital interface protocol and a serial protocol to communicate with the host computer.
Claim 2
Dependent Claim 175 words
A force feedback device that is responsive to a request from a host computer to generate a force effect, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate a force corresponding to the force effect; and (d) a communication link coupling the host computer to the processor, the communication link conveying the request to render the force effect from the host computer to the processor, said processor determining whether the processor is linked to the host computer through a musical instrument digital interface port or through a serial port and automatically configuring the communication link to employ an appropriate one of a musical instrument digital interface protocol and a serial protocol to communicate with the host computer.
Claim 3
Dependent Claim 239 words
A force feedback device that is responsive to a request from a host computer to generate scheduled force effects, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate a force corresponding to the force effects; (d) a scheduler implemented by the processor, said scheduler scheduling the force effects so that they are generated during time intervals requested by the host computer; (e) a communication link coupling the host computer to the processor, said communication link conveying the request to render the force effects from the host computer to the processor, for scheduling the force effects; and (f) a memory in which a profile of a force effect initially received from the host computer and a unique identifier that is assigned to said profile are stored, said scheduler receiving the unique identifier for each force effect requested by the host computer for use in scheduling the force effects, wherein the processor receives a plurality of force effect profiles from the host computer that are combined into a single force effect by the scheduler, said single force effect being assigned a unique identifier.
Claim 4
Dependent Claim 239 words
A force feedback device that is responsive to a request from a host computer to generate scheduled force effects, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate a force corresponding to the force effects; (d) a scheduler implemented by the processor, said scheduler scheduling the force effects so that they are generated during time intervals requested by the host computer; (e) a communication link coupling the host computer to the processor, said communication link conveying the request to render the force effects from the host computer to the processor, for scheduling the force effects; and (f) a memory in which a profile of a force effect initially received from the host computer and a unique identifier that is assigned to said profile are stored, said scheduler receiving the unique identifier for each force effect requested by the host computer for use in scheduling the force effects, wherein the processor receives a plurality of force effect profiles from the host computer that are combined into a single force effect by the scheduler, said single force effect being assigned a unique identifier.
Claim 5
Dependent Claim 276 words
A force feedback device that generates force effects in accord with a schedule, comprising: (a) a force generator that responds to a drive signal by producing a force that acts on a member, said member transmitting the force to a user in contact with the member so that the user experiences a force effect; (b) a sensor that detects a position of the member and produces a signal indicative of the position, said signal being used in defining at least one of the force effects; (c) a memory for storing data that specify the force effects; and (d) a processor, coupled to the force generator, the sensor, and the memory, said processor executing machine instructions that are stored in the memory and carrying out a plurality of functions defined by said machine instructions, including determining when each force effect is initiated and a duration of each force effect in accord with the schedule, said processor rendering each force effect as specified by the data stored in the memory, and when a force effect is required by the schedule, providing a corresponding drive signal to the force generator, said processor storing profiles for the plurality of force effects in the memory and assigning unique identifiers to the plurality of force effects, each unique identifier being associated with a profile for a different one of the plurality of force effects, said processor rendering a force effect that is specified in the schedule by the unique identifier for said force effect, in accord with the profile for said force effect, wherein a plurality of profiles are combined to indicate a single force effect that is assigned a unique identifier.
Claim 6
Dependent Claim 276 words
A force feedback device that generates force effects in accord with a schedule, comprising: (a) a force generator that responds to a drive signal by producing a force that acts on a member, said member transmitting the force to a user in contact with the member so that the user experiences a force effect; (b) a sensor that detects a position of the member and produces a signal indicative of the position, said signal being used in defining at least one of the force effects; (c) a memory for storing data that specify the force effects; and (d) a processor, coupled to the force generator, the sensor, and the memory, said processor executing machine instructions that are stored in the memory and carrying out a plurality of functions defined by said machine instructions, including determining when each force effect is initiated and a duration of each force effect in accord with the schedule, said processor rendering each force effect as specified by the data stored in the memory, and when a force effect is required by the schedule, providing a corresponding drive signal to the force generator, said processor storing profiles for the plurality of force effects in the memory and assigning unique identifiers to the plurality of force effects, each unique identifier being associated with a profile for a different one of the plurality of force effects, said processor rendering a force effect that is specified in the schedule by the unique identifier for said force effect, in accord with the profile for said force effect, wherein a plurality of profiles are combined to indicate a single force effect that is assigned a unique identifier.
Claim 7
Independent Claim 148 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effects that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; (c) as a function of the schedule, providing a drive signal that enables a force corresponding to the force effect to be produced by the device, so that the force effects are generated in accord with the schedule; (d) assigning a unique identifier to each force effect; and (e) specifying each force effect included in the schedule with the unique identifier for said force effect, wherein data specifying a plurality of force effects are combined to specify a single force effect, the combined single force effect being assigned a unique identifier.
Claim 8
Independent Claim 148 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effects that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; (c) as a function of the schedule, providing a drive signal that enables a force corresponding to the force effect to be produced by the device, so that the force effects are generated in accord with the schedule; (d) assigning a unique identifier to each force effect; and (e) specifying each force effect included in the schedule with the unique identifier for said force effect, wherein data specifying a plurality of force effects are combined to specify a single force effect, the combined single force effect being assigned a unique identifier.
Claim 9
Dependent Claim 212 words
A force feedback device that is responsive to a request from a host computer to generate scheduled force effects, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate forces corresponding to the force effects; (d) a scheduler implemented by the processor, said scheduler scheduling the force effects so that they are generated during time intervals requested by the host computer; and (e) a communication link coupling the host computer to the processor, said communication link conveying the request to render the force effects from the host computer to the processor, for scheduling the force effects, wherein a concatenated force effect comprising multiple force effects that are executed sequentially is defined, each force effect having a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are executed sequentially.
Claim 10
Dependent Claim 212 words
A force feedback device that is responsive to a request from a host computer to generate scheduled force effects, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate forces corresponding to the force effects; (d) a scheduler implemented by the processor, said scheduler scheduling the force effects so that they are generated during time intervals requested by the host computer; and (e) a communication link coupling the host computer to the processor, said communication link conveying the request to render the force effects from the host computer to the processor, for scheduling the force effects, wherein a concatenated force effect comprising multiple force effects that are executed sequentially is defined, each force effect having a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are executed sequentially.
Claim 11
Dependent Claim 248 words
A force feedback device that generates force effects in accord with a schedule, comprising: (a) a force generator that responds to a drive signal by producing a force that acts on a member, said member transmitting the force to a user in contact with the member so that the user experiences a force effect; (b) a sensor that detects a position of the member and produces a signal indicative of the position, said signal being used in defining at least one of the force effects; (c) a memory for storing data that specify the force effects; and (d) a processor, coupled to the force generator, the sensor, and the memory, said processor executing machine instructions that are stored in the memory and carrying out a plurality of functions defined by said machine instructions, including determining when each force effect is initiated and a duration of each force effect in accord with the schedule, said processor rendering each force effect as specified by the data stored in the memory, and when a force effect is required by the schedule, providing a corresponding drive signal to the force generator, wherein a concatenated force effect included on the schedule comprises multiple force effects that are executed sequentially, each force effect having a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are executed sequentially.
Claim 12
Dependent Claim 248 words
A force feedback device that generates force effects in accord with a schedule, comprising: (a) a force generator that responds to a drive signal by producing a force that acts on a member, said member transmitting the force to a user in contact with the member so that the user experiences a force effect; (b) a sensor that detects a position of the member and produces a signal indicative of the position, said signal being used in defining at least one of the force effects; (c) a memory for storing data that specify the force effects; and (d) a processor, coupled to the force generator, the sensor, and the memory, said processor executing machine instructions that are stored in the memory and carrying out a plurality of functions defined by said machine instructions, including determining when each force effect is initiated and a duration of each force effect in accord with the schedule, said processor rendering each force effect as specified by the data stored in the memory, and when a force effect is required by the schedule, providing a corresponding drive signal to the force generator, wherein a concatenated force effect included on the schedule comprises multiple force effects that are executed sequentially, each force effect having a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are executed sequentially.
Claim 13
Independent Claim 157 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effects that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; and (c) as a function of the schedule, providing a drive signal that enables a force corresponding to the force effect to be produced by the device, so that the force effects are generated in accord with the schedule, wherein a concatenated force effect included on the schedule comprises multiple force effects that are produced sequentially, each force effect having a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are produced sequentially.
Claim 14
Independent Claim 157 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effects that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; and (c) as a function of the schedule, providing a drive signal that enables a force corresponding to the force effect to be produced by the device, so that the force effects are generated in accord with the schedule, wherein a concatenated force effect included on the schedule comprises multiple force effects that are produced sequentially, each force effect having a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are produced sequentially.
Claim 15
Independent Claim 115 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effects that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; (c) as a function of the schedule, providing a drive signal that enables a force corresponding to the force effect to be produced by the device, so that the force effects are generated in accord with the schedule; and (d) terminating a force effect if execution of a command invoking the force effect exceeds a predetermined time interval.
Claim 16
Independent Claim 115 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effects that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; (c) as a function of the schedule, providing a drive signal that enables a force corresponding to the force effect to be produced by the device, so that the force effects are generated in accord with the schedule; and (d) terminating a force effect if execution of a command invoking the force effect exceeds a predetermined time interval.
Claim 17
Dependent Claim 281 words
A force feedback device that is responsive to a request from a host computer to generate scheduled force effects, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate a force corresponding to the force effects; (d) a servo clock, coupled to the processor and providing a tick at a predetermined time interval; (e) a scheduler implemented by the processor, said scheduler scheduling the force effects so that they are generated during time intervals requested by the host computer; (f) a communication link coupling the host computer to the processor, said communication link conveying the request to render the force effects from the host computer to the processor, for scheduling the force effects; and (g) a memory in which a plurality of force effect profiles, each having a unique force effect identifier, are stored, said host computer sending a plurality of force effect commands comprising a playlist, each of said force effect commands comprising timing information concerning when the commanded force effect is to be active and a force effect identifier corresponding to one of the stored force effect profiles, said processor evaluating said playlist at each servo clock tick to render a force effect that imparts forces to said member, said rendered force effect being a summation of all of the force effect profiles on the playlist that are active at that time.
Claim 18
Dependent Claim 281 words
A force feedback device that is responsive to a request from a host computer to generate scheduled force effects, comprising: (a) a member adapted to be grasped by a user of the force feedback device; (b) a prime mover coupled to the member, said prime mover producing a force that acts on the member; (c) a processor coupled to the prime mover, said processor rendering the force effect to produce a drive signal that is coupled to the prime mover, causing the prime mover to generate a force corresponding to the force effects; (d) a servo clock, coupled to the processor and providing a tick at a predetermined time interval; (e) a scheduler implemented by the processor, said scheduler scheduling the force effects so that they are generated during time intervals requested by the host computer; (f) a communication link coupling the host computer to the processor, said communication link conveying the request to render the force effects from the host computer to the processor, for scheduling the force effects; and (g) a memory in which a plurality of force effect profiles, each having a unique force effect identifier, are stored, said host computer sending a plurality of force effect commands comprising a playlist, each of said force effect commands comprising timing information concerning when the commanded force effect is to be active and a force effect identifier corresponding to one of the stored force effect profiles, said processor evaluating said playlist at each servo clock tick to render a force effect that imparts forces to said member, said rendered force effect being a summation of all of the force effect profiles on the playlist that are active at that time.
Claim 19
Dependent Claim 28 words
The force feedback device of claim 9, wherein at least one of the plurality of force effect profiles stored in memory is initially received from the host computer.
Claim 20
Dependent Claim 23 words
The force feedback device of claim 9, wherein at least one of the plurality of force effect profiles is stored in non-volatile memory.
Claim 21
Dependent Claim 50 words
The force feedback device of claim 9, wherein the host processor can issue a combined force effect command simultaneously activating a plurality of stored force effect profiles with a single unique force effect identifier, said combined force effect command being mapped to a plurality of the stored force effect identifiers.
Claim 22
Dependent Claim 21 words
The force feedback device of claim 9, wherein the force effect profiles comprise data pertaining to force frequency, amplitude, and duration.
Claim 23
Dependent Claim 21 words
The force feedback device of claim 9, wherein the playlist comprises a series of force effect commands that are executed sequentially.
Claim 24
Dependent Claim 62 words
The force feedback device of claim 14, wherein for producing a concatenated force effect, each of the sequentially commanded force effects has a force effect amplitude envelope, the concatenated force effect having a predetermined amplitude concatenation envelope, said predetermined amplitude concatenation envelope superseding said force effect amplitude envelopes so as to control an amplitude of the force effects that are executed sequentially.
Claim 25
Independent Claim 145 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effect commands that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; (c) as a function of the schedule, executing the force effect commands so as to provide a drive signal that enables a force corresponding to a commanded force effect to be produced by the device, so that the force effects are generated in accord with the schedule; and (d) performing a sanity check for each force effect command prior to its execution so that the force effect command is not executed unless it is found among a predefined set of valid force effect commands for the device.
Claim 26
Independent Claim 145 words
A method for controlling a device that generates force effects, comprising the steps of: (a) storing data that define the force effects in a memory of the device; (b) creating a schedule of force effect commands that defines when each force effect that is included on the schedule should be initiated and a duration of each force effect; (c) as a function of the schedule, executing the force effect commands so as to provide a drive signal that enables a force corresponding to a commanded force effect to be produced by the device, so that the force effects are generated in accord with the schedule; and (d) performing a sanity check for each force effect command prior to its execution so that the force effect command is not executed unless it is found among a predefined set of valid force effect commands for the device.

References Cited (Backward Citations)

US3818457A Cited
US5103404A Cited
US5414337A Cited
EP0626634A2 Cited
US5734373A Cited
US5739811A Cited
US5742278A Cited
US5589854A Cited
WO1997012337A1 Cited
US5691898A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag