Claims
- 1. An input/output device used in conjunction with a host computer for monitoring user manipulations and for enabling the simulation of feel sensations in response to said user manipulations, said feel sensations being generated in accordance with software running on said host computer that provides images on a computer display device, said input/output device comprising:
a user manipulatable object physically contacted by a user and movable in at least two degrees of freedom by said user; a gimbal mechanism coupled to said user object and providing at least two degrees of freedom to said user object with respect to a local ground; a local microprocessor separate from said host computer system for enabling communication with said host computer, wherein said local microprocessor receives commands from said host computer, decodes said commands from said host computer, controls force generators in accordance with one or more of said commands, receives sensor signals, and reports data to said host computer in response to one or more of said commands, said local microprocessor functioning simultaneously with said software on said host computer; a communication interface coupled between said host computer and said local microprocessor for transmitting signals from said host computer to said local microprocessor and from said local microprocessor to said host computer; a plurality of force generators for generating feel sensations by providing a force on said user object in at least two degrees of freedom with respect to said local ground, said force generators applying forces to said user object is response to said local microprocessor; at least one sensor for detecting the motion of said user object in said degrees of freedom with respect to said local ground, said sensor reporting said sensor signals to said local microprocessor representative of motion of said user object; and memory coupled to and local to said local microprocessor for storing program instructions, said program instructions including routines for enabling communication between said local microprocessor and said host computer, for decoding said host commands, for reporting data to said host computer, and for generating said feel sensations utilizing said force generators, wherein said feel sensations are generated in accordance with said software running on said host computer and in accordance with images displayed by said host computer on said computer display device.
- 2. An input/output device as recited in claim 1 wherein said force generators include two actuators coupled to local ground, said actuators generating said feel sensations in response to actuator signals from said local microprocessor.
- 3. An input/output device as recited in claim 2 wherein said feel sensation is a damping sensation simulating a feel of motion through a fluid.
- 4. An input/output device as recited in claim 3 wherein a damping constant is initialized by said local microprocessor indicating the degree of resistance experienced.
- 5. An input/output device as recited in claim 3 wherein a current position of said user manipulatable object is stored by said local microprocessor.
- 6. An input/output device as recited in claim 5 wherein a difference between a current position value and a previous position value of said user manipulatable object is determined.
- 7. An input/output device as recited in claim 6 wherein a sign of said difference is used as an indication of a direction of motion of said user manipulatable object in one or more of said degrees of freedom.
- 8. An input/output device as recited in claim 5 wherein said difference between a current position value and a previous position value of said user manipulatable object is computed by said local microprocessor.
- 9. An input/output device as recited in claim 8 wherein a sign of said difference is used by said local microprocessor as an indication of the direction of motion of said user manipulatable object.
- 10. An input/output device as recited in claim 6 wherein a variable representing force output is determined as a function of said damping constant and said difference.
- 11. An input/output device as recited in claim 3 wherein an actuator signal representative of said damping is sent from said local microprocessor to at least one of said actuators.
- 12. An input/output device as recited in claim 10 wherein a digital representation of said variable is sent by said local microprocessor to a digital to analog converter (DAC), said DAC converting said digital representation to an analog signal and sending said analog signal to at least one of said actuators.
- 13. An input/output device as recited in claim 4 wherein the feel of moving through multiple fluid mediums is provided to said user.
- 14. An input/output device as recited in claim 10 wherein said user object is a joystick.
- 15. An input/output device as recited in claim 10 wherein said user object is a pool cue.
- 16. An input/output device as recited in claim 10 wherein said program instructions in said memory include a routine that, when executed, sets communication parameters for communication between said microprocessor and said host computer.
- 17. An input/output device as recited in claim 2 wherein said feel sensation is a wall sensation simulating the feel of impacting a surface or obstruction.
- 18. An input/output device as recited in claim 17 wherein said wall sensation is generated at least in part by said local microprocessor which tracks the position of said user object by reading said sensors.
- 19. An input/output device as recited in claim 17 wherein said host computer updates a display of said simulation in response to user manipulation of said user object and determines that a simulated obstruction has been encountered and that such an obstruction should restrict motion of said user object in one or more directions.
- 20. An input/output device as recited in claim 19 wherein said actuator generates a force to create a physical representation of said restriction of motion, thereby providing the user with a feel of hitting said simulated obstruction.
- 21. An input/output device as recited in claim 20 wherein said local microprocessor detects motion of said user manipulatable object away from said simulated obstruction and deactivates said actuators, thereby simulating the feel of moving out of contact with said obstruction.
- 22. An input/output device as recited in claim 19 wherein said simulation on said host computer includes a cursor, where a location of said cursor on a display is updated by said host computer in response to user manipulation of said user object, said wall sensation generated in response to interaction between said cursor and said simulated obstruction.
- 23. An input/output device as recited in claim 22 wherein said local microprocessor detects motion of said user manipulatable object away from said simulated obstruction and deactivates said actuators, thereby simulating the feel of the cursor freely moving out of contact with said displayed obstruction.
- 24. An input/output device as recited in claim 19 wherein said local microprocessor determines that a simulated obstruction has been encountered as a result of motion of said user object and sends a signal to at least one of said actuators, causing said at least one actuator to generate a force that simulates the feel of hitting said obstruction.
- 25. An input/output device as recited in claim 2 wherein said communication interface is a serial communication bus.
- 26. An input/output device as recited in claim 25 wherein said communication interface is an RS232 interface.
- 27. An input/output device as recited in claim 25 wherein said communication interface is a wireless communication interface.
- 28. An input/output device as recited in claim 19 wherein said actuators are passive actuators.
- 29. An input/output device as recited in claim 28 wherein said passive actuators are brakes.
- 30. An input/output device as recited in claim 19 further including a play mechanism between said actuator and said user object.
- 31. An input/output device as recited in claim 30 wherein said play mechanism is a flexure.
- 32. An input/output device as recited in claim 19 wherein said user object is a stylus held between the fingers of a user similar to a writing implement.
- 33. An interface device used in conjunction with a host computer for monitoring user manipulations and for enabling the simulation of feel sensations in response to said user manipulations, said feel sensations generated in accordance with application software running on said host computer and in accordance with images output on a computer display device by said host computer, said interface device comprising:
a user object being physically contacted by a user and movable in at least two degrees of freedom by said user; a gimbal mechanism coupled to said user object and providing at least two degrees of freedom to said user object with respect to a local ground; a local microprocessor separate from said host computer system for enabling communication with said host computer, for receiving commands from said host computer, for decoding said commands from said host computer, for controlling said feel sensations in accordance with one or more of said commands, for reading sensor signals, and for reporting data back to said host computer in response to one or more of said commands, said local microprocessor functioning simultaneously with said software on said host computer; a communication interface for transmitting signals from said host computer to said local microprocessor and from said local microprocessor to said host computer; a plurality of actuators coupled to said gimbal mechanism for generating at least one of a plurality of feel sensations by providing a force on said user object in two degrees of freedom with respect to said local ground, wherein said actuators apply forces to said user object in response to said local microprocessor; a sensor coupled to said local ground for detecting the motion of said user object along said degrees of freedom with respect to said local ground, wherein said sensors report said sensor signals to said local microprocessor representative of motion of said user object; and memory local to said local microprocessor for storing program instructions, said program instructions including routines for setting communication parameters to enable communication between said local microprocessor and said host, for decoding said host commands, for reporting data to said host, and for generating said feel sensations, wherein said feel sensations are generated in accordance with said software running on said host computer and in accordance with images displayed by said host computer on said computer display device.
- 34. An interface device as recited in claim 33 wherein said plurality of actuators includes two grounded actuators coupled to said local ground, wherein said local microprocessor sends actuator signals to said actuators in response to one or more of said commands to control said feel sensations, and wherein one of said feel sensations includes a damping sensation simulating the feel of motion through a fluid or similar medium.
- 35. An interface device as recited in claim 34 wherein a damping constant is initialized by said local microprocessor, said damping constant indicating the degree of resistance experienced by said user through said user manipulatable object.
- 36. An interface device as recited in claim 34 wherein a current position of said user manipulatable object is stored by said local microprocessor.
- 37. An interface device as recited in claim 36 wherein a difference between a current position value and a previous position value of said user manipulatable object is determined.
- 38. An interface device as recited in claim 37 wherein a sign of said difference is used as an indication of the direction of motion of said user manipulatable object.
- 39. An interface device as recited in claim 37 wherein a variable representing force output is computed as a function of said damping constant and said difference.
- 40. An interface device as recited in claim 35 wherein a force signal representative of said damping is sent from said local microprocessor to said actuator.
- 41. An interface device as recited in claim 39 wherein a digital representation of said variable is sent by said local microprocessor to a Digital to Analog Converter (DAC) wherein it is converted to an analog signal sent to said actuator.
- 42. An interface device as recited in claim 36 wherein one of said plurality of generated feel sensations is the feel of moving through multiple mediums.
- 43. An interface device as recited in claim 39 wherein said user object is a joystick.
- 44. An interface device as recited in claim 39 wherein said user object is a pool cue.
- 45. An interface device as recited in claim 38 wherein said gimbal mechanism is a 5 bar closed loop linkage.
- 46. An interface device as recited in claim 38 wherein said gimbal mechanism is a slotted bail.
- 47. An interface device as recited in claim 45 further including a transmission mechanism connecting said actuator to said gimbal for providing mechanical advantage.
- 48. An interface device as recited in claim 47 wherein said transmission mechanism is a capstan cable drive system including a flexible member.
- 49. An interface device as recited in claim 43 wherein said joystick user object can be manipulated in a third, rotary degree of freedom.
- 50. An interface device as recited in claim 37 wherein all of said sensors and all of said actuators are coupled to said local ground.
- 51. An interface device used in conjunction with a host computer for monitoring user manipulations and for enabling the simulation of feel sensations in response to said user manipulations, said feel sensations generated in accordance with application software running on said host computer, said interface device comprising:
a user object being physically contacted by a user and movable in at least two degrees of freedom by said user; a gimbal mechanism coupled to said user object and providing at least two degrees of freedom to said user object with respect to a local ground; at least one local microprocessor separate from said host computer system and coupled to said host computer system by a communication interface, said local microprocessor contributing to an enablement of communication with said host computer, receiving commands from said host computer, decoding said commands from said host computer, controlling said feel sensations in accordance with one or more of said commands, reading sensor signals, and reporting data back to said host in response to one or more of said commands, said local microprocessor functioning simultaneously with said software on said host computer; a plurality of actuators for generating at least one of a plurality of said feel sensations by providing a force on said user object in two degrees of freedom with respect to said local ground, wherein said actuators apply forces to said user object in response to said actuator signals from said local microprocessor; a sensor coupled to said local ground for detecting the motion of said user object along said degrees of freedom with respect to said local ground, wherein said sensors report said sensor signals to said local microprocessor representative of motion of said user object; and memory local to said local microprocessor for storing program instructions, said program instructions including routines for enabling communication between said local microprocessor and said host and for generating said feel sensations, wherein said feel sensations are generated in accordance with said software running on said host computer and in accordance with images displayed by said host computer on a computer display device.
- 52. An interface device as recited in claim 51 wherein said actuators are coupled to said local ground, and wherein said program instructions include routines for decoding said host commands and for reporting data to said host, and wherein one of said plurality of generated feel sensations is a wall sensation simulating the feel of impacting a surface or obstruction.
- 53. An interface device as recited in claim 52 wherein said wall sensation is generated, at least in part, by said local microprocessor which tracks the position of said user object by reading said sensor signals from said sensor.
- 54. An interface device as recited in claim 53 wherein said host computer updates a display of said simulation in response to user manipulation of said user object and determines that a simulated obstruction has been encountered that restricts motion of said user object in at least one direction.
- 55. An interface device as recited in claim 54 wherein said actuator generates a force to create a physical representation of said restriction of motion, thereby providing the user with a feel of hitting said simulated obstruction.
- 56. An interface device as recited in claim 55 wherein said local microprocessor detects motion of said user manipulatable object away from said simulated obstruction and deactivates said actuators, thereby simulating the feel of the cursor disengaging from said obstruction.
- 57. An interface device as recited in claim 54 wherein said simulation on said host computer includes a cursor, where a location of said cursor is updated by said host in response to user manipulation of said user object, said wall sensation generated in response to interaction between said cursor and said simulated obstruction.
- 58. An interface device as recited in claim 54 wherein said local microprocessor determines that a simulated obstruction has been encountered as a result of motion of said user object and sends a signal to at least one of said actuators, causing said at least one actuator to generate a force that simulates the feel of hitting said obstruction.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of co-pending parent patent application Ser. No. 08/374,288, filed Jan. 18, 1995 on behalf of Louis Rosenberg, entitled, “Method and Apparatus for Providing High Bandwidth, Low Noise Mechanical I/O for Computer Systems”; Ser. No. 08/400,233, filed Mar. 3, 1995 on behalf of Louis Rosenberg, entitled, “Method and Apparatus for Providing Passive Force Feedback to Human-computer Interface Systems”; and Ser. No. 08/583,032, filed Feb. 16, 1996, on behalf of Louis Rosenberg and Bernard Jackson, entitled, “Method and Apparatus for Providing a Cursor Control Interface with Force Feedback,” which is the national stage of International Application No. PCT/US94/07851 filed Jul. 12, 1994, which claims priority of patent application Ser. No. 07/092,974, filed Jul. 16, 1993, now abandoned; all of which are hereby incorporated by reference herein.
Continuations (2)
|
Number |
Date |
Country |
Parent |
09532288 |
Mar 2000 |
US |
Child |
10183971 |
Jun 2002 |
US |
Parent |
08784803 |
Jan 1997 |
US |
Child |
09532288 |
Mar 2000 |
US |
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
08374288 |
Jan 1995 |
US |
Child |
08784803 |
Jan 1997 |
US |
Parent |
08400233 |
Mar 1995 |
US |
Child |
08784803 |
Jan 1997 |
US |
Parent |
08583032 |
Feb 1996 |
US |
Child |
08784803 |
Jan 1997 |
US |