Tactile feedback device providing tactile sensations from host commands
First Claim
1. A system for controlling an electromechanical interface apparatus manipulated by a user, the system comprising:
- a host computer system for receiving an input control signal and for providing a host command having at least one command parameter to control forces on a user manipulable object of said interface apparatus, wherein said host computer system updates a process in response to said input control signal;
a processor positioned local to said interface apparatus and separate from said host computer system for receiving said host command from said host computer system and providing a processor output control signal in accordance with said at least one command parameter;
an actuator for receiving said processor output control signal and providing a force along a degree of freedom to said user manipulable object in accordance with said processor output control signal, said object being coupled to said actuator and being graspable and movable by said user; and
a sensor for detecting motion of said manipulable object along said degree of freedom and outputting said input control signal including information representative of the position and motion of said object.
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.
37 Citations
89 Claims
-
1. A system for controlling an electromechanical interface apparatus manipulated by a user, the system comprising:
-
a host computer system for receiving an input control signal and for providing a host command having at least one command parameter to control forces on a user manipulable object of said interface apparatus, wherein said host computer system updates a process in response to said input control signal;
a processor positioned local to said interface apparatus and separate from said host computer system for receiving said host command from said host computer system and providing a processor output control signal in accordance with said at least one command parameter;
an actuator for receiving said processor output control signal and providing a force along a degree of freedom to said user manipulable object in accordance with said processor output control signal, said object being coupled to said actuator and being graspable and movable by said user; and
a sensor for detecting motion of said manipulable object along said degree of freedom and outputting said input control signal including information representative of the position and motion of said object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for interfacing a force feedback interface device manipulated by a user with a host computer system, the method comprising the steps of:
-
providing a user manipulable object included in said force feedback interface device, said object having a degree of freedom;
sensing positions of said object along said degree of freedom with a sensor and producing electrical sensor signals therefrom;
utilizing a microprocessor local to said 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 command parameter; and
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 object. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36)
-
-
33. A method as recited in
claim 33 wherein said serial interface includes a Universal Serial Bus.
-
37. A force feedback interface device manipulated by a user and communicating with a host computer system implementing a host application program, said host computer system updating said host application program in response to input signals, said force feedback interface device comprising:
-
a processor, separate from said host computer system, for communicating with said host computer system via a communication bus by receiving a host command from said host computer system and implementing said command in a reflex process, and by relaying said input signals to said host computer system;
a user object movable in a degree of freedom by a user and being physically contacted by said user;
an actuator electrically coupled to said processor for applying a force along a degree of freedom to said user object in accordance with a processor force command from said processor, said processor force command being derived from said host command, said reflex process, and a position of said user object; and
a sensor electrically coupled to said processor for detecting a position of said user object along said degree of freedom and outputting said input signals to said processor, said input signals including information representative of said position of said user object.
-
-
38. A force feedback interface device as recited in
claim 38 wherein said host command instructs said processor to select one of a plurality of reflex processes available to said processor, wherein each of said reflex processes instructs said processor to output force commands to said actuator and process said input signals from said sensor independently of said host computer system.
-
42. A force feedback interface device as recited in
claim 42 wherein said restoring forces are constant in magnitude when said user object is positioned outside a region near an origin position of said user object, and wherein said restoring forces are near to zero within said region near said origin position.
-
44. A force feedback interface device as recited in
claim 44 wherein said host command includes command parameters to control a frequency and a magnitude of said vibration forces.
-
46. A force feedback interface device as recited in
claim 46 wherein said host command includes a command parameter specifying a spatial density of said texture forces along said degree of freedom.
-
48. A force feedback interface device as recited in
claim 48 wherein said barrier force is removed after said user object is moved a snap distance past said barrier force.
-
49. A force feedback interface device as recited in
claim 49 wherein a location of said barrier force along said degree of freedom is specified by a command parameter included in said host command.
-
52. A force feedback interface device as recited in
claim 52 wherein a location of a field origin position determines at what positions of said user object said forces are applied, said origin location being specified in a command parameter included with said host command.
-
55. A force feedback interface device as recited in
claim 55 wherein a command parameter included with said host command specifies whether said damping force is applied bi-directionally or uni-directionally along said degree of freedom.
-
57. A force feedback interface device as recited in
claim 57 wherein a command parameter included with said host command specifies an orientation of said groove.
-
60. A force feedback interface device as recited in
claim 60 wherein said host command includes a command parameter controlling a simulated compliance of said simulated paddle.
-
62. A computer readable medium including program instructions for providing force feedback to a user-manipulable object of an interface device and for communicating with a host computer system implementing a host application program, said program instructions performing steps comprising:
-
receiving a host command on a microprocessor local to said interface device and separate from said host computer system;
processing said host command and storing force parameters derived from said host command;
receiving sensor data from sensors describing a motion of said user object of said interface device;
computing a force value using a reflex process selected in accordance with said force parameters and said sensor data; and
outputting a force on said user object utilizing actuators coupled to said user object, said force corresponding to said force value.
-
-
63. A computer readable medium as recited in
claim 63 wherein said host command includes at least one command parameter, and wherein said force parameters are derived from said host command and said at least one command parameter.
-
64. A computer readable medium as recited in
claim 64 wherein said step of storing said force parameters includes providing a set of force parameter memory locations for each host command which can be sent by said host computer, and writing said force parameters for said received host command in said force parameter memory locations that correspond to said received host command.
-
66. A computer readable medium as recited in
claim 66 further comprising a step of determining velocity values from said position data.
-
67. A computer readable medium as recited in
claim 67 wherein said step of receiving sensor data includes receiving velocity data from said sensors, said sensors being velocity sensors.
-
73. A computer readable medium as recited in
claim 73 wherein said step of computing a force value is performed for a plurality of host commands that are simultaneously in effect, and wherein a total force value is computed by adding said force values from each of said host commands in effect.
-
75. A computer readable medium as recited in
claim 75 wherein only sensor data required by said host computer system is reported to said host computer system.
-
76. A computer readable medium as recited in
claim 76 wherein said host command is a configuration command which determines which sensor data is reported to said host computer.
-
79. A computer readable medium as recited in
claim 79 further comprising a step of removing all output force when said violation occurs, and wherein when said safety condition is no longer violated, said force is gradually reapplied to said user object over time.
-
83. A processing apparatus coupled to an interface device that provides force feedback to a user-manipulable object coupled to said interface device and which communicates with a separate host computer system, said processing apparatus comprising:
-
a command processor for receiving a host command from a separate host computer system, said host command including a command parameter, and for processing said host command and storing force parameters derived from said host command and said command parameter;
a status update processor for receiving sensor data from sensors describing a motion of said user object of said interface device; and
a force output processor for computing a force value using a reflex process selected in accordance with said force parameters and said sensor data, said force output processor outputting a force on said user object utilizing actuators coupled to said user object, said force corresponding to said force value.
-
-
84. A processing apparatus as recited in
claim 84 wherein a set of force parameter locations for each host command which can be sent by said host computer are stored in a memory device, and wherein said force parameters for said received host command are written in said force parameter locations corresponding to said received host command.
Specification