Claims Analysis
Total Claims: 53
Claim 1
Independent Claim
295 words
A force feedback interface device manipulated by a user and communicating with a host computer implementing a host application program executed in parallel with operation of said force feedback interface device, said host computer updating said host application program in response to input data, said force feedback interface device comprising: a microprocessor, separate from said host computer, that communicates with said host computer via a communication interface by receiving a host force command from said host computer and by sending said input data to said host computer, said input data being derived from sensor data received by said microprocessor, wherein said host computer updates said parallel execution of said host application program in response to said input data and wherein said microprocessor can receive both high level host force commands and low level host force commands selectively sent by said host computer, said high level host force commands instructing said local microprocessor to compute force magnitudes and output said computed force magnitudes in a processor force signal, and said low level host force commands including force magnitudes and causing said local microprocessor to output said processor force signal based on said included force magnitudes; a user object movable in at least one degree of freedom by a user and adapted to be physically contacted and manipulated by said user; an actuator electrically coupled to said microprocessor and operative to apply a force to said user in accordance with said processor force signal from said microprocessor; and at least one sensor that detects a position of said user object in said at least one degree of freedom and outputs said sensor data to said microprocessor, said sensor data including information representative of said position of said user object in said at least one degree of freedom.
Claim 2
Dependent Claim
295 words
A force feedback interface device manipulated by a user and communicating with a host computer implementing a host application program executed in parallel with operation of said force feedback interface device, said host computer updating said host application program in response to input data, said force feedback interface device comprising: a microprocessor, separate from said host computer, that communicates with said host computer via a communication interface by receiving a host force command from said host computer and by sending said input data to said host computer, said input data being derived from sensor data received by said microprocessor, wherein said host computer updates said parallel execution of said host application program in response to said input data and wherein said microprocessor can receive both high level host force commands and low level host force commands selectively sent by said host computer, said high level host force commands instructing said local microprocessor to compute force magnitudes and output said computed force magnitudes in a processor force signal, and said low level host force commands including force magnitudes and causing said local microprocessor to output said processor force signal based on said included force magnitudes; a user object movable in at least one degree of freedom by a user and adapted to be physically contacted and manipulated by said user; an actuator electrically coupled to said microprocessor and operative to apply a force to said user in accordance with said processor force signal from said microprocessor; and at least one sensor that detects a position of said user object in said at least one degree of freedom and outputs said sensor data to said microprocessor, said sensor data including information representative of said position of said user object in said at least one degree of freedom.
Claim 3
Dependent Claim
27 words
A force feedback interface device as recited in claim 1 wherein said processor force signal includes said force magnitudes includes in said low level host force command.
Claim 4
Dependent Claim
64 words
A force feedback interface device as recited in claim 1 wherein said high level host force command instructs said microprocessor to select one of a plurality of force processes available to said microprocessor, wherein each of said force processes instructs said microprocessor to output said processor force signal to said actuator and input said sensor data from said sensor independently of said host computer.
Claim 5
Dependent Claim
43 words
A force feedback interface device as recited in claim 1 further comprising circuitry for receiving said sensor data from said sensor and for calculating velocity or acceleration values from said sensor data, said velocity and acceleration values being included in said input data.
Claim 6
Dependent Claim
30 words
A force feedback interface device as recited in claim 1 wherein said input data includes a current position of said user object in said at least one degree of freedom.
Claim 7
Dependent Claim
53 words
A force feedback interface device as recited in claim 5 wherein said sensor data is received by said microprocessor at a rate greater than 1000 times per second, and wherein said input data is sent to said host computer at a rate that is less than said rate of receiving said sensor data.
Claim 8
Dependent Claim
49 words
A force feedback interface device as recited in claim 5 wherein said user object is a joystick moveable in two degrees of freedom and further comprising a slotted yoke mechanism coupled to said joystick, said slotted yoke mechanism providing at least two degrees of freedom to said user object.
Claim 9
Dependent Claim
23 words
A force feedback interface device as recited in claim 1 wherein said actuator is one of a servo motor and a voice coil.
Claim 10
Dependent Claim
21 words
A force feedback interface device as recited in claim 1 wherein said communication interface is a Universal Serial Bus (USB) interface.
Claim 11
Independent Claim
168 words
A method for providing force feedback using a force feedback device in communication with a host computer, the method comprising: providing a user manipulatable object for said force feedback device, said user manipulatable object moveable in at least one degree of freedom and physically contacted by a user; sensing positions of said user manipulatable object in said at least one degree of freedom with at least one sensor and producing sensor signals therefrom; using a microprocessor local to said force feedback device and separate from said host computer to receive said sensor signals and to retrieve a force profile from a memory device local to said force feedback device, said force profile including a sequence of stored force magnitudes to be output as a function of time; outputting said sensor signals to said host computer from said microprocessor; and outputting said force magnitudes as a function of time to an actuator coupled to said microprocessor, wherein said actuator outputs forces derived from said force magnitudes to said user.
Claim 12
Independent Claim
168 words
A method for providing force feedback using a force feedback device in communication with a host computer, the method comprising: providing a user manipulatable object for said force feedback device, said user manipulatable object moveable in at least one degree of freedom and physically contacted by a user; sensing positions of said user manipulatable object in said at least one degree of freedom with at least one sensor and producing sensor signals therefrom; using a microprocessor local to said force feedback device and separate from said host computer to receive said sensor signals and to retrieve a force profile from a memory device local to said force feedback device, said force profile including a sequence of stored force magnitudes to be output as a function of time; outputting said sensor signals to said host computer from said microprocessor; and outputting said force magnitudes as a function of time to an actuator coupled to said microprocessor, wherein said actuator outputs forces derived from said force magnitudes to said user.
Claim 13
Dependent Claim
37 words
A method as recited in claim 10 wherein said force magnitudes are digitized force sensation values previously stored in said memory device, said digitized force sensation values collectively defining a force sensation when output by said actuator.
Claim 14
Dependent Claim
35 words
A method as recited in claim 11 wherein said stored digitized force sensation values are output to said actuator also based on a position of said user manipulatable object as derived from said sensor signals.
Claim 15
Dependent Claim
48 words
A method as recited in claim 10 wherein said microprocessor retrieves said force profile and outputs said force magnitudes in response to receiving a high level command from said host computer, said high level command being associated with said output of said force magnitudes of said force profile.
Claim 16
Independent Claim
42 words
A method as recited in claims 10 wherein said outputting said force magnitudes as a function of time includes retrieving timing information from a clock device, wherein said clock device is coupled to said microprocessor and is local to said interface device.
Claim 17
Dependent Claim
23 words
A method as recited in claim 14 wherein said force magnitudes are output in sequence to said actuator as a function of time.
Claim 18
Dependent Claim
40 words
A method as recited in claim 14 wherein a length of a time interval provided between said force magnitudes of said force profile can be varied to provide different force sensations to said user physically contacting said user manipulatable object.
Claim 19
Dependent Claim
271 words
A force feedback device manipulated by a user and communicating with a host computer implementing a host application program in parallel with operation of said force feedback interface device, said host computer updating said host application program in response to input data, said force feedback device comprising: at least one sensor detecting motion of a user manipulatable object of said force feedback device in at least one degree of freedom and outputting a sensor signal representative of a position or motion of said user manipulatable object in said at least one degree of freedom, said user manipulatable object being physically contacted and manipulated by a user; an actuator receiving actuator signals and outputting forces to a user of said force feedback device in accordance with said actuator signals; and a microprocessor local to said force feedback device and separate from said host computer, said microprocessor operative to receive said sensor signal from said at least one sensor and send sensor information derived from said sensor signal to said host computer, wherein said microprocessor receives host commands from said host computer and outputs control signals based on said host commands, said actuator signals received by said actuator being based on said control signals, and wherein said microprocessor is operative to receive both high level host commands and low level host commands selectively sent by said host computer, said high level host commands causing said microprocessor to determine force information in said control signals based on parameters in said high level host commands, and said low level host commands including force information that is directly output by said microprocessor in said control signals.
Claim 20
Dependent Claim
271 words
A force feedback device manipulated by a user and communicating with a host computer implementing a host application program in parallel with operation of said force feedback interface device, said host computer updating said host application program in response to input data, said force feedback device comprising: at least one sensor detecting motion of a user manipulatable object of said force feedback device in at least one degree of freedom and outputting a sensor signal representative of a position or motion of said user manipulatable object in said at least one degree of freedom, said user manipulatable object being physically contacted and manipulated by a user; an actuator receiving actuator signals and outputting forces to a user of said force feedback device in accordance with said actuator signals; and a microprocessor local to said force feedback device and separate from said host computer, said microprocessor operative to receive said sensor signal from said at least one sensor and send sensor information derived from said sensor signal to said host computer, wherein said microprocessor receives host commands from said host computer and outputs control signals based on said host commands, said actuator signals received by said actuator being based on said control signals, and wherein said microprocessor is operative to receive both high level host commands and low level host commands selectively sent by said host computer, said high level host commands causing said microprocessor to determine force information in said control signals based on parameters in said high level host commands, and said low level host commands including force information that is directly output by said microprocessor in said control signals.
Claim 21
Dependent Claim
37 words
A force feedback device as recited in claim 17 wherein said force output by said actuator is output in said at least one degree of freedom to said user manipulatable object that is coupled to said actuator.
Claim 22
Dependent Claim
34 words
A force feedback device as recited in claim 17 wherein said force feedback device includes a digital-to-analog converter to convert said control signals output by said microprocessor to analog signals received by said actuator.
Claim 23
Dependent Claim
28 words
A force feedback device as recited in claim 17 wherein said determined force information is based at least in part on said sensor signal received from said sensor.
Claim 24
Dependent Claim
59 words
A force feedback device as recited in claim 17 wherein each of said high level commands instructs said microprocessor to select one of a plurality of force processes available to said microprocessor, wherein each of said force processes instructs said microprocessor to output said control signals and input said sensor signal from said sensor independently of said host computer.
Claim 25
Dependent Claim
41 words
A force feedback device as recited in claim 21 further comprising circuitry for receiving said sensor signal from said sensor and for calculating velocity or acceleration values from said sensor signal, said velocity and acceleration values being received by said microprocessor.
Claim 26
Dependent Claim
48 words
A force feedback device as recited in claim 17 wherein said microprocessor receives said sensor signal and outputs said control signals at a rate greater than the rate at which said sensor information is sent to said host computer, thereby reducing a computational burden on said host computer.
Claim 27
Dependent Claim
56 words
A force feedback device as recited in claim 23 wherein said sensor signal is received by said microprocessor at a rate greater than 1000 times per second, and wherein said sensor information is sent to said host computer at a rate that is about the refresh rate of a display screen coupled to said host computer.
Claim 28
Dependent Claim
23 words
A force feedback device as recited in claim 17 wherein said user manipulatable object is a joystick moveable in two degrees of freedom.
Claim 29
Dependent Claim
25 words
A force feedback device as recited in claim 17 wherein said microprocessor is coupled to said host computer by a Universal Serial Bus (USB) interface.
Claim 30
Dependent Claim
65 words
A force feedback device as recited in claim 17 further comprising a clock device coupled to and accessible by said microprocessor, said clock device separate from said host computer, wherein said clock device is accessed by said microprocessor for timing data to ensure that force feedback sensations provided by said actuator feel consistent to said user regardless of an operating speed of said host computer.
Claim 31
Dependent Claim
36 words
A force feedback device as recited in claim 17 wherein said microprocessor receives a high level host command from said host computer indicating that said microprocessor should process succeeding received host commands as low level commands.
Claim 32
Dependent Claim
64 words
A force feedback device as recited in claim 17 further comprising a physical button coupled to said force feedback device, said button having a button state, wherein said microprocessor sends button information to said host computer, said button information derived from said button state, and wherein said host computer uses said button information in determining whether to send a host command to said microprocessor.
Claim 33
Independent Claim
304 words
A method for providing force feedback to a user manipulating a force feedback device, said force feedback device communicating with a host computer implementing a host application program in parallel with operation of said force feedback device, the method comprising: detecting motion of a user manipulable object of said force feedback device in at least one degree of freedom and providing a sensor signal representative of a position of said user manipulatable object in said at least one degree of freedom, said user manipulatable object being physically contacted and manipulated by a user; sending sensor information derived from said sensor signal to said host computer, said host computer updating said host application program in response to said sensor information; receiving host commands from said host computer on a microprocessor local to said force feedback device and separate from said host computer, wherein said microprocessor can receive high level host commands and can receive low level host commands, said high level host commands and low level host commands being selectively sent by said host computer; and outputting control signals from said microprocessor based on said host commands, wherein said high level host commands cause said microprocessor to output said control signals based on parameters in said high level host commands, said output performed during time periods between receiving host commands, and said low level host commands including low level force information and cause said microprocessor to output said control signals based on said low level force information only when each of said low level host commands are received and not during periods between receiving said low level host commands, wherein an actuator of said force feedback device receives actuator signals that are based on said control signals, said actuator outputting forces to a user of said force feedback device in accordance with said actuator signals.
Claim 34
Independent Claim
304 words
A method for providing force feedback to a user manipulating a force feedback device, said force feedback device communicating with a host computer implementing a host application program in parallel with operation of said force feedback device, the method comprising: detecting motion of a user manipulable object of said force feedback device in at least one degree of freedom and providing a sensor signal representative of a position of said user manipulatable object in said at least one degree of freedom, said user manipulatable object being physically contacted and manipulated by a user; sending sensor information derived from said sensor signal to said host computer, said host computer updating said host application program in response to said sensor information; receiving host commands from said host computer on a microprocessor local to said force feedback device and separate from said host computer, wherein said microprocessor can receive high level host commands and can receive low level host commands, said high level host commands and low level host commands being selectively sent by said host computer; and outputting control signals from said microprocessor based on said host commands, wherein said high level host commands cause said microprocessor to output said control signals based on parameters in said high level host commands, said output performed during time periods between receiving host commands, and said low level host commands including low level force information and cause said microprocessor to output said control signals based on said low level force information only when each of said low level host commands are received and not during periods between receiving said low level host commands, wherein an actuator of said force feedback device receives actuator signals that are based on said control signals, said actuator outputting forces to a user of said force feedback device in accordance with said actuator signals.
Claim 35
Dependent Claim
20 words
A method as recited in claim 30 wherein said microprocessor directly outputs said low-level force information in said control signals.
Claim 36
Dependent Claim
35 words
A method as recited in claim 30 wherein said forces output by said actuator is output in said at least one degree of freedom to said user manipulatable object that is coupled to said actuator.
Claim 37
Dependent Claim
25 words
A method as recited in claim 30 further comprising converting said control signals output by said microprocessor to analog actuator signals received by said actuator.
Claim 38
Dependent Claim
46 words
A method as recited in claim 30 wherein said microprocessor receives said sensor signal and outputs said control signals at a rate greater than the rate at which said sensor information is sent to said host computer, thereby reducing a computational burden on said host computer.
Claim 39
Dependent Claim
36 words
A method as recited in claim 30 wherein said microprocessor receives one of said high level host commands from said host computer that indicates that said microprocessor should process succeeding host commands as low level commands.
Claim 40
Dependent Claim
20 words
A method as recited in claim 30 wherein said host computer calculates said force information in said low level commands.
Claim 41
Dependent Claim
29 words
A method as recited in claim 36 wherein said host computer calculates said force information based at least in part on said sensor information derived from said sensor signal.
Claim 42
Dependent Claim
35 words
A method as recited in claim 37 wherein said sensor information sent to said host computer includes position data describing a position of said user manipulatable object in said at least one degree of freedom.
Claim 43
Dependent Claim
49 words
A method as recited in claim 30 wherein said force information in said low level commands is predetermined and stored in a storage device on said host computer, wherein said host computer retrieves said force information and sends said force information to said microprocessor in said low level commands.
Claim 44
Dependent Claim
29 words
A method as recited in claim 30 wherein said microprocessor calculates force information based on said parameters in said high level commands, said control signals including said force information.
Claim 45
Dependent Claim
55 words
A method as recited in claim 30 wherein said high level commands instruct said microprocessor to select one of a plurality of force processes available to said microprocessor, wherein each of said force processes instructs said microprocessor to output said control signals and input said sensor signal from said sensor independently of said host computer.
Claim 46
Dependent Claim
27 words
A method as recited in claim 41 wherein said host computer checks said sensor information to determine whether to issue said high level commands to said microprocessor.
Claim 47
Dependent Claim
53 words
A method as recited in claim 42 further comprising sending button information to said host computer, said button information derived from a button state of a physical button positioned on said force feedback device, wherein said host computer uses said button information in determining whether to send a host command to said microprocessor.
Claim 48
Dependent Claim
303 words
A force feedback device manipulated by a user and communicating with a host computer implementing a host application program in parallel with operation of said force feedback interface device, said host computer updating said host application program in response to input data, said force feedback device comprising: at least one sensor detecting motion of a user manipulable object of said force feedback device in at least one degree of freedom and outputting a sensor signal representative of a position of said user manipulatable object in said at least one degree of freedom, said user manipulatable object being physically contacted and manipulated by a user; an actuator operative to receive actuator signals and output forces to a user of said force feedback device in accordance with said actuator signals; and a microprocessor local to said force feedback device and separate from said host computer, said microprocessor operative to receive said sensor signal from said at least one sensor and send sensor information derived from said sensor signal to said host computer, wherein said microprocessor receives host commands from said host computer and outputs control signals based on said host commands, said actuator signals received by said actuator being based on said control signals, and wherein said microprocessor is operative to receive both high level host commands and low level host commands selectively sent by said host computer, said high level host commands causing said microprocessor to determine force information in said control signals based on a position of said user manipulatable object in said at least one degree of freedom or based on time, and said low level host commands causing said microprocessor to output said control signals based on low level information in said low level host commands and not based on said position of said user manipulatable object nor based on time.
Claim 49
Dependent Claim
303 words
A force feedback device manipulated by a user and communicating with a host computer implementing a host application program in parallel with operation of said force feedback interface device, said host computer updating said host application program in response to input data, said force feedback device comprising: at least one sensor detecting motion of a user manipulable object of said force feedback device in at least one degree of freedom and outputting a sensor signal representative of a position of said user manipulatable object in said at least one degree of freedom, said user manipulatable object being physically contacted and manipulated by a user; an actuator operative to receive actuator signals and output forces to a user of said force feedback device in accordance with said actuator signals; and a microprocessor local to said force feedback device and separate from said host computer, said microprocessor operative to receive said sensor signal from said at least one sensor and send sensor information derived from said sensor signal to said host computer, wherein said microprocessor receives host commands from said host computer and outputs control signals based on said host commands, said actuator signals received by said actuator being based on said control signals, and wherein said microprocessor is operative to receive both high level host commands and low level host commands selectively sent by said host computer, said high level host commands causing said microprocessor to determine force information in said control signals based on a position of said user manipulatable object in said at least one degree of freedom or based on time, and said low level host commands causing said microprocessor to output said control signals based on low level information in said low level host commands and not based on said position of said user manipulatable object nor based on time.
Claim 50
Dependent Claim
29 words
A force feedback device as recited in claim 44 wherein said microprocessor calculates said force information in said control signals based on parameters in said high level host commands.
Claim 51
Dependent Claim
29 words
A force feedback device as recited in claim 45 wherein said parameters include a direction in said at least one degree of freedom in which to output said force.
Claim 52
Dependent Claim
58 words
A force feedback device as recited in claim 44 wherein at least one of said high level commands causes said microprocessor to determine said force information in said control signals by retrieving force values of a force profile stored in local memory, wherein said microprocessor outputs said force values in said control signals as a function of time.
Claim 53
Dependent Claim
33 words
A force feedback device as recited in claim 44 wherein said low level commands cause said microprocessor to output said control signals that include said low level information received from said host computer.