Method and apparatus for controlling force feedback interface systems utilizing a host computer
First Claim
1. An interface device for use with a host computer displaying a graphical environment, said host computer updating said graphical environment in response to user manipulation of said interface device and commanding force feedback sensations utilizing said interface device in response to said manipulation and in coordination with events within said graphical environment, said interface device comprising:
- a user manipulatable object grasped by a user;
a support mechanism which supports said user manipulatable object with respect to an origin while allowing a plurality of degrees of freedom in the motion of said user manipulatable object with respect to said origin;
an actuator coupled to said user manipulatable object for providing a force resistance to motion of said user manipulatable object along at least one of said degrees of freedom with respect to said origin, said resistance to motion generated in response to commands from said host computer and in coordination with said graphical environment;
a sensor outputting a locative signal responsive to and corresponding with manipulation of said user manipulable object along at least said degree of freedom in which said resistance is provided;
a user adjustable switch apparatus outputting a state signal representing the state of said switch apparatus;
a local microprocessor separate from said host computer, coupled to said host computer by a communication interface and coupled to said actuator, said sensor, and to said user adjustable switch, said local microprocessor executing a local process in parallel with host execution of said graphical environment, said local process involving the execution of a plurality of local routines, wherein said local process executed by said local microprocessor is stored in local memory coupled to said local microprocessor, wherein said local processenables communication between said interface device and said host computer,decodes commands sent by said host computer to said interface device over said communication interface,controls said actuator in response to at least one decoded command received from said host computer, wherein said control of said actuator is coordinated with an event occurring in said parallel host computer execution of said graphical environment, thereby locally creating a feel sensation that corresponds with a relevant displayed event within said graphical environment,reports a representation of said locative signal to said host computer, wherein said host computer updates said parallel execution of said graphical environment in response to said representation of said locative signal, andreports a representation of said state signal to said host computer, wherein said host computer updates said parallel execution of said graphical environment in response to said switch state,and wherein a plurality of host commands are received by said local microprocessor over said communication interface; and
a plurality of command routines stored in memory local to said microprocessor, wherein particular ones of said command routines are executed in response to particular ones of said received host commands, wherein at least one of said host commands causes execution of a command routine for reporting data from said local microprocessor to said host computer, at least one of said host commands causes the execution of a force routine, said force routine being a command routine that causes said force generator to produce a resistance to motion of said user object along at least one of said degrees of freedom.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for controlling and providing force feedback using an interface device manipulated by a user. A microprocessor is provided local to the interface device and reads sensor data from sensors that describes the position and/or other information about a user object moved by the user, such as a joystick. The microprocessor controls actuators to provide forces on the user object and provides the sensor data to a host computer that is coupled to the interface device. The host computer sends high level host commands to the local microprocessor, and the microprocessor independently implements a local reflex process based on the high level command to provide force values to the actuators using sensor data and other parameters. A provided host command protocol includes a variety of different types of host commands and associated command parameters. By providing a relatively small set of high level host commands and parameters which are translated into a panoply of forces, the protocol further shifts the computational burden from the host computer to the local microprocessor and allows a software developer to easily create force feedback applications.
1009 Citations
111 Claims
-
1. An interface device for use with a host computer displaying a graphical environment, said host computer updating said graphical environment in response to user manipulation of said interface device and commanding force feedback sensations utilizing said interface device in response to said manipulation and in coordination with events within said graphical environment, said interface device comprising:
-
a user manipulatable object grasped by a user; a support mechanism which supports said user manipulatable object with respect to an origin while allowing a plurality of degrees of freedom in the motion of said user manipulatable object with respect to said origin; an actuator coupled to said user manipulatable object for providing a force resistance to motion of said user manipulatable object along at least one of said degrees of freedom with respect to said origin, said resistance to motion generated in response to commands from said host computer and in coordination with said graphical environment; a sensor outputting a locative signal responsive to and corresponding with manipulation of said user manipulable object along at least said degree of freedom in which said resistance is provided; a user adjustable switch apparatus outputting a state signal representing the state of said switch apparatus; a local microprocessor separate from said host computer, coupled to said host computer by a communication interface and coupled to said actuator, said sensor, and to said user adjustable switch, said local microprocessor executing a local process in parallel with host execution of said graphical environment, said local process involving the execution of a plurality of local routines, wherein said local process executed by said local microprocessor is stored in local memory coupled to said local microprocessor, wherein said local process enables communication between said interface device and said host computer, decodes commands sent by said host computer to said interface device over said communication interface, controls said actuator in response to at least one decoded command received from said host computer, wherein said control of said actuator is coordinated with an event occurring in said parallel host computer execution of said graphical environment, thereby locally creating a feel sensation that corresponds with a relevant displayed event within said graphical environment, reports a representation of said locative signal to said host computer, wherein said host computer updates said parallel execution of said graphical environment in response to said representation of said locative signal, and reports a representation of said state signal to said host computer, wherein said host computer updates said parallel execution of said graphical environment in response to said switch state, and wherein a plurality of host commands are received by said local microprocessor over said communication interface; and a plurality of command routines stored in memory local to said microprocessor, wherein particular ones of said command routines are executed in response to particular ones of said received host commands, wherein at least one of said host commands causes execution of a command routine for reporting data from said local microprocessor to said host computer, at least one of said host commands causes the execution of a force routine, said force routine being a command routine that causes said force generator to produce a resistance to motion of said user object along at least one of said degrees of freedom. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A method for interfacing a force feedback interface device manipulated by a user with a host computer system, the method comprising:
-
providing a user manipulable object included in said force feedback interface device, said object having a degree of freedom; sensing positions of said user manipulable object along said degree of freedom with a sensor and producing electrical sensor signals therefrom; updating game or simulation software implemented by said host computer system in accordance with said position signals; utilizing a microprocessor local to said user manipulable object to communicate with said host computer system to provide said electrical sensor signals to said host computer system and to receive a host command from said host computer system, said host command including a button parameter instructing said microprocessor to read input from a designated button and generate a force in response to said designated button being activated by said user; creating a force on said object along said degree of freedom independently utilizing said microprocessor and said host command to control an actuator coupled to said user manipulable object, including; selecting a routine by said microprocessor in accordance with said best command; and outputting processor force commands from said microprocessor to said actuator utilizing said routine and said electrical sensor signals. - View Dependent Claims (45, 46, 47)
-
-
48. An interface device for use with a host computer displaying a graphical environment and updating said graphical environment in response to user manipulation of said interface device, said host computer commanding force feedback sensations in response to said manipulations and in coordination with events within said graphical environment, said interface device comprising:
-
a user manipulatable object gasped by a user; a support mechanism which supports said user manipulatable object with respect to an origin while allowing a plurality of degrees of freedom in the motion of said user manipulatable object with respect to said origin; an actuator coupled to said user manipulatable object for providing a force on said user manipulatable physical object in at least one of said degrees of freedom with respect to said origin, said force generated in response to commands from said host computer and in coordination with interaction among displayed objects within said graphical environment; a sensor providing a locative signal responsive to and corresponding with manipulation of said user manipulatable object along said degree of freedom in which said force is provided; a user adjustable switch apparatus providing a state signal representing a state of said switch apparatus; a device microprocessor separate from said host computer, coupled to said host computer by a communication interface and coupled to said actuator, said sensor, and to said user adjustable switch, said device microprocessor executing a local process in parallel with host generation of said graphical environment, said local process involving the execution of a plurality of local routines, wherein said local process executed by said local microprocessor is stored in a local memory accessible by said local microprocessor, wherein said local process enables bi-directional communication between said interface device and said host computer using a force feedback command protocol, said force feedback command protocol including a plurality of discrete host commands, decodes commands sent by said host computer to said interface device over said communication interface, controls said actuator in response to at least one decoded command received from said host computer, wherein said control of said actuator is coordinated with an event occurring in the simultaneous host computer generation of said graphical environment, thereby locally creating a feel sensation that corresponds perpetually with a relevant displayed event within said graphical environment, monitors said locative signal, stores a representation of said locative signal within said local memory, and reports a representation of said locative signal to said host computer, wherein said host computer updates said parallel execution of said graphical environment in response to said representation of said locative signal, and monitors said state signal and reports a representation of said state signal to said host computer, wherein said host computer updates said parallel execution of graphical environment in response to said switch state. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102)
-
-
103. An interface device for use with a host computer displaying a graphical simulation, said host computer updating said graphical simulation in response to user manipulation of said interface device and commanding force feedback sensations in response to said manipulations and in coordination with events within said graphical simulation, said interface device comprising:
-
a user manipulatable object gasped by a user; a support mechanism which supports said user manipulatable object with respect to an origin while allowing a plurality of degrees of freedom in the motion of said user manipulatable object with respect to said origin; an actuator coupled to said user manipulatable object for providing resistance to motion of said user manipulatable physical object in at least one of said degrees of freedom with respect to said origin, said resistance to motion generated in response to host commands from said host computer and in coordination with displayed graphical simulation; a local microprocessor separate from said host computer, said local microprocessor executing a local process in parallel with host execution of said graphical simulation, said local process involving the execution of a plurality of local routines; a communication interface coupling said local microprocessor to said host computer, wherein a PC game port included as part of said communication interface between said host computer and said local microprocessor; a sensor apparatus coupled to said device microprocessor, said sensor apparatus providing said device microprocessor with a locative signal responsive to and corresponding with manipulation of said user manipulatable object in at least said degree of freedom in which said resistance is provided; and a user adjustable switch apparatus electrically coupled to said device microprocessor, said switch apparatus providing a state signal to said device microprocessor representing the state of said switch; wherein said local process is executed by said device microprocessor stored in local memory coupled to said local microprocessor, said local process for enabling communication between said interface device and said host computer, decoding host commands sent by said host computer to said interface device over said communication interface, controlling said actuator in response to at least one of said decoded commands received from said host computer, wherein said control of said actuator is coordinated with an event occurring in parallel host computer execution of said graphical simulation, reporting a representation of said locative signal to said host computer, and reporting a representation of said state signal to said host computer. - View Dependent Claims (104, 105, 106, 107, 108, 109, 110, 111)
-
Specification