A force feedback interface device that provides force feedback to a joystick handle manipulated by a user. A force feedback device inputs control signals to a computer and outputs forces to a user of the force feedback device. The device includes a housing gripped by the user of the force feedback device and a joystick handle manipulable in at least two rotary degrees of freedom by the user, such as a gamepad. Sensors detect a position of the joystick handle and two direct drive actuators each provide torque in a rotary degree of freedom. Each of the actuators is a brushless, single phase actuator having a grounded excitation coil and a moving magnetic material. The joystick is mechanically constrained to not move past either of two limits where the torque output by the actuator in an unenergized state changes direction. The joystick handle can be oriented such that a center position is substantially at a local minimum reluctance position of the actuator, where the joystick is mechanically constrained to not move substantially past either local maximum reluctance position adjacent to the local minimum reluctance position. The local minimum reluctance position can in some embodiments provide a centering spring force on the joystick handle.
1. A force feedback device for inputting control signals to a computer and for outputting force comprising:
a manipulandum manipulable in at least two degrees of freedom; and at least one actuator coupled to said manipulandum, said actuator configured to provide torque to said manipulandum in an unenergized state, said actuator having a plurality of coils, all of said plurality of coils operated in the same magnitude and direction. 2. A device as recited in 3. A device as recited in 4. A device as recited in 5. A device as recited in 6. A device as recited in 7. A device as recited in 8. A device as recited in 9. A device as recited in 10. A device as recited in 11. A device as recited in 12. A device as recited in 13. A device as recited in 14. A device as recited in 15. A device as recited in 16. A force feedback device for inputting control signals to a computer and for outputting force comprising:
a housing; a manipulandum manipulable in at least two degrees of freedom; at least one sensor configured to output at least one sensor signal indicative of a position of said manipulandum in at least one of said degrees of freedom; and at least one actuator coupled to said manipulandum, said actuator operable in an unenergized state to provide torque to said manipulandum, said actuator having a plurality of coils, all of said plurality of coils operated in the same magnitude and direction. 17. A device as recited in 18. A device as recited in 19. A device as recited in 20. A device as recited in 21. A device as recited in 22. A device as recited in 23. A device as recited in 24. A device as recited in 25. A device as recited in 26. A device as recited in 27. A device as recited in 28. A device as recited in 29. A device as recited in 30. A method for providing a force feedback device for inputting control signals to a computer and for outputting force comprising:
providing a housing; providing a manipulandum manipulable in at least two degrees of freedom; and providing at least one actuator operable in an unenergized state to provide torque to said manipulandum, said actuator having a plurality of coils, all of said plurality of coils operated in the same magnitude and direction. 31. A method as recited in 32. A method as recited in 33. A method as recited in 34. A method as recited in 35. A method as recited in 36. A method as recited in 37. A method as recited in
This application claims priority to U.S. Provisional Application No. 60/133,208, filed May 7, 1999 by Moore et al., which is incorporated herein by reference in its entirety. The present invention relates generally to the interfacing with computer devices by a user, and more particularly to devices used to interface with computer systems and which provide force feedback to the user. Humans interface with electronic devices in a variety of applications, and the need for a more natural, easy-to-use, and informative interface device is a constant concern. One of those applications includes interacting directly with computer-generated environments. Interface devices are used extensively with computer systems in the implementation of computer-controlled games, simulations, and other applications very popular with the mass market of home consumers. In a typical implementation, a computer system such as a personal computer, home video game console, portable computer, etc., displays a visual environment to a user on a display device. Users can interact with the displayed environment by inputting commands or data from the interface device. Popular interface devices include joysticks, “joypad” or “gamepad” button controllers, mice, trackballs, styluses, tablets, pressure spheres, foot or hand pedals, or the like, that are connected to the computer system controlling the displayed environment. The computer updates the environment in response to the user's manipulation of a moved manipulandum such as a joystick handle, joypad, or mouse, and provides visual feedback to the user using the display screen. In some interface devices, haptic (e.g., tactile and/or kinesthetic) feedback is also provided to the user, more generally known as “force feedback” herein. These types of interface devices can provide physical sensations to the user manipulating the physical object of the interface device. Typically, motors or other actuators of the interface device are coupled to the manipulandum and are connected to the controlling computer system. The computer system receives sensor signals from the interface device and sends appropriate force feedback control signals to the actuators in conjunction with host events. The actuators then provide forces on the manipulandum. A local microprocessor in the device can be used to offload some computational burden on the host. The computer system can thus convey physical sensations to the user in conjunction with other visual and auditory feedback as the user is contacting the manipulandum. Commercially available force feedback devices include the ForceFX joystick from CH Products, Inc., the Wingman Force joystick and Wingman Formula Force steering wheel from Logitech, Inc., and the Sidewinder Force Feedback Pro joystick from Microsoft Corporation. One problem occurring in commercially-available implementations of force feedback devices is that the devices are very bulky. A large base or support is typically required to house large motors or other types of actuators. These features make it difficult to integrate compelling force feedback into a smaller interface device such as a handheld gamepad, joystick, remote control, or other device. Yet, these controllers are preferred input devices for many types of systems, especially home video game consoles, and are also preferred by many consumers. Besides simple vibrations and the like, realistic force feedback has not previously been integrated into such handheld devices. The present invention provides a force feedback interface device which interfaces a user with a computer system. The force feedback device provides force feedback to a user object such as a joystick handle manipulated by a user, where at least one single phase, fixed coil actuator is used to provide the force feedback. These actuators can be made very small motor and thus can be used to provide realistic force feedback in small devices such as gamepads and handheld joysticks. More particularly, in one aspect of the present invention, a force feedback interface device inputs control signals to a computer and outputs forces to a user of the interface device. The device includes a housing gripped by the user of the device and can include a joystick handle (or other object) manipulable in at least two rotary degrees of freedom by the user. At least one sensor detects a position of the joystick handle in the degrees of freedom and outputs at least one sensor signal indicative of the position which is received by the computer. Two direct drive actuators are coupled to the joystick handle, each of the actuators providing torque in one of the rotary degrees of freedom. Each of the actuators is a brushless, single phase actuator having a limited rotational range, at least one grounded excitation coil, and a moving magnetic material. The joystick is mechanically constrained to not move past either of two limits where the torque output by the actuator in an unenergized state changes direction. The joystick handle can be oriented such that a center position of the joystick handle in the degrees of freedom is substantially at a local minimum reluctance position of the actuator, where the joystick is mechanically constrained to not move substantially past either local maximum reluctance position adjacent to the local minimum reluctance position when manipulated by the user. For example, each actuator can be limited to an angular range of approximately 50 degrees. The local minimum reluctance position can in some embodiments provide a centering spring force on the joystick handle in the degrees of freedom biased toward the center position. In one preferred embodiment, each of the actuators includes four poles and two excitation coils. The joystick handle can be in the form of a sphere, a stick-like rod and engagement surface, direction pad, or other form. A gimbal mechanism is preferably coupled between the actuators and the joystick handle, such as a five-bar closed loop linkage. The sensor can be an optical encoder, e.g. an encoder disk rigidly coupled to a rotor of one of the actuators and including at least one encoder pattern. In some embodiments, at least four detectors can provide sensor signals about 45 degrees out of phase with each other, increasing the sensing resolution over a standard quadrature sensor. In the preferred embodiments, the joystick device is in the form of a handheld gamepad and the computer is a home video console system or personal computer. The present invention provides a compact yet fully-functional feedback interface device that provides realistic and compelling force sensations to a user of the device. The single phase actuators described herein allow the interface device to be very small, yet provide a significant amount of force. When using the present invention, the kinesthetic force functionality of much larger joysticks and steering wheels can be easily integrated into handheld interface devices. These and other advantages of the present invention will become apparent to those skilled in the art upon a reading of the following specification of the invention and a study of the several figures of the drawing. Interface device 10 is in the form of a handheld controller, of similar shape and size to many “gamepads” currently available for video game console systems. A housing 14 of the interface device 10 is shaped to easily accommodate two hands gripping the device, either by a left-handed user or a right-handed user. In the described embodiment, a sphere 16 is included at one end of the device to be manipulated by the user. Sphere 16 may be rotated in place within two degrees of freedom, indicated by arrows 18 and 20. Thus, the sphere 16 operates much like a joystick in that it can be moved in two rotary degrees of freedom. The sphere 16 is included in the term “joystick” or “joystick handle” as referred to herein. As shown, the user's hand is intended to grip the sphere between two or more fingers on approximately opposing points on the sphere, and rotate the sphere in the desired direction(s) using both fingers. This provides the user with a much more secure grip as compared to rolling the sphere with one finger or with two fingers contacting the sphere at approximately the same point. The more secure grip allows the user to experience more realistic resistive and assistive force sensations without losing control of the rotation of the sphere. Furthermore, the user may place at least a portion of the palm of the sphere-contacting hand against the rest portion 22 of the housing 14 to provide support to that hand (left handed users may place the hand on the opposing portion 22 on the other side of the sphere 16). Interface device 10 also includes a button grip portion 24 of the housing 14 which the user may grasp with his or her other hand, as shown. The hand grasping portion 24 has easy access to one or more buttons 26, each of which may be pressed by the user to provide a distinct input signal to the host computer 12. Instead of or in addition to buttons 26, other controls may be placed within easy reach of the hand grasping portion 24. For example, a directional button pad or “joypad” can be provided to allow additional input from the user, which typically provides a single piece which may be moved in four or eight directions to provide input in each direction. Furthermore, an additional directional manipulandum such as a fingertip joystick can be positioned near buttons 26 for use by the hand on portion 24 (sphere 16 can also be implemented as a fingertip joystick, as described below). Such fingertip joysticks can be moved in two degrees of freedom, as is well known to those skilled in the art. One or more trigger buttons 28 can also be positioned on the underside of grip portion 24 and can be pressed by the fingers of the user. Other controls can also be provided, such as a dial or slider for throttle control in a game, a four- or eight-way hat switch, etc. Some embodiments can provide a directional pad that is coupled to a gimbal mechanism as described below with reference to Furthermore, the buttons 26 and/or 28 or other controls such as a directional joypad pad can be provided with force feedback, such as tactile feedback and/or kinesthetic feedback, as described in copending patent application Ser. No. 09/156,802, filed Sep. 17, 1998, and incorporated herein by reference. The forces can be colocated such that the user feels the forces in the degree of freedom of movement of the button or joypad; or, the button or joypad can be provided with tactile sensations such as vibrations. For example, a directional pad can be provided with force feedback on one or more of the directions of the pad, or on a motion of the entire pad as it is pressed downward (e.g. from the center of the pad). Using one or more actuators and sensors coupled to the buttons or other controls, a variety of force sensations can be output to the user who is contacting the button. For example, jolts, vibrations, textures, spring forces, damping forces, and obstruction forces can be output. Forces can be at least in part based on the position of the button in its degree of freedom, and/or independent of button position. Furthermore, a moveable portion can be provided on the housing 14 which is contacted by the user when the user operates the device and which is described in copending patent application Ser. No. 09/156,802. The linear voice coil actuators described in application Ser. No. 09/156,802 may also be used to actuate controls in the present invention. In yet other embodiments, a similar force feedback interface device can be implemented in other applications, such as a hand-held remote control device used to access the functions of a device or appliance remotely by a user (such as a television, video cassette recorder, sound stereo, Internet or network computer connected to a television, etc.). The force feedback device 10 can also be connected to a vehicular control system and used for interface functions in a vehicle such as an automobile, e.g., temperature control, map navigation control, selection from lists, etc. Some of such vehicular embodiments can use a joystick as described above, while others may use a knob coupled to one of the actuators described herein for rotational force feedback. Interface device 10 is coupled to host computer 12 by a bus 32, which can be any of several types of communication media. For example, a serial interface bus, parallel interface bus, or wireless communication link can be used. Specific implementations can include Universal Serial Bus (USB), IEEE 1394 (Firewire), RS-232, or other standards. Host computer 12 is preferably a personal computer, workstation, video game console, or other computing or electronic device. Personal computers, such as an IBM-compatible or Macintosh personal computer, or a workstation, such as a SUN or Silicon Graphics workstation, can be used. Alternatively, one of a variety of home video game systems, such as systems available from Nintendo, Sega, or Sony, a television “set top box” or a “network computer”, etc. can be used. Host computer system 12 preferably implements a host application program with which a user is interacting via peripherals and interface device 10. For example, the host application program can be a video or computer game, medical simulation, scientific analysis program, operating system, graphical user interface, or other application program that utilizes force feedback. The host application preferably displays graphical images of the environment on a display device included with the host computer, such as display screen 34, a television, 3D goggles, LCD display, etc. The software and environment running on the host computer 12 may be of a wide variety. For example, the host application program can be a video game, simulation, graphical user interface (GUI), Web page or browser that implements HTML or VRML instructions, scientific analysis program, virtual reality training program or application, or other application program that utilizes input from the interface device 10 and outputs force feedback commands to the controller. For example, many game application programs include force feedback functionality and may communicate with the force feedback interface device 10 using a standard protocol/drivers such as I-Force®, available from Immersion Corporation of San Jose, Calif. Herein, computer 12 may be referred as displaying “graphical objects” or “entities.” These objects are not physical objects, but are logical software unit collections of data and/or procedures that may be displayed as images by computer 12 on display screen 34, as is well known to those skilled in the art. A displayed cursor or a simulated cockpit of an aircraft might be considered a graphical object. In operation, the controls of interface device 10 are manipulated by the user, which indicates to the computer how to update the implemented application program(s). An electronic interface included in housing 14 of device 10 can couple the device 10 to the computer 12. The host computer 12 receives the input from the interface device and updates an application program in response to the input. For example, a game presents a graphical environment in which the user controls one or more graphical objects or entities using the sphere 16 and other controls such as buttons 26 and 28. The host computer, in turn, provides force feedback commands and data to the device 10 to cause force feedback to be output on sphere 16 and/or other controls. Gimbal mechanism 52 can be of a variety of types of linkages. In Two transducers 54 Actuators 70 are preferably “direct drive” actuators, i.e. the actuator is connected directly to the gimbal mechanism 56 and there is no transmission positioned between the actuator and the gimbal mechanism or manipulandum 56. Although such transmissions, such as belt drives, cable drives, and gears, allow forces output on the manipulandum 56 to be amplified, in the present invention such amplification is typically unnecessary since actuator 70 is capable of producing a torque of sufficient magnitude for intended applications. For example, such applications include force feedback on sphere 16, a small joystick, or a dial, which typically require less force magnitude than other devices such as full-sized joysticks and steering wheels. Of course, in other embodiments such an amplification transmission can be included in device 10. Actuators 70 are preferably limited to a desired angular range, which is described in greater detail with respect to Sensor 72 In the described embodiment, sensors 72 are digital optical encoders which each include a rotating disc 74 (or arc) that rotates with the rotating shaft of the actuator and a pattern 76 provided on the disc 74. Pattern 76 need only be provided over a small fraction of the total circumference of the disc 74 or other encoder member, because the actuators 70 preferably have a limited angular range of motion, as described in greater detail below. Pattern 76 includes a number of equally-spaced slots (apertures) which are used to provide encoded sensor signals for the sensor 72 (opaque marks or lines can alternatively be used). For example, in one embodiment, pattern 76 can include 250 thin slots having a thickness of 0.025 mm and having a pitch of 0.05 mm on the disc; other spacings and amounts of slots can also be used. An emitter detector pair 78 is positioned to sense the motion of the pattern. An emitter 79 is positioned on one side of the disc 74 and emits a beam of energy (such as infrared light) through the slots of the pattern 76. When the pattern 76 moves beneath the emitter detector pair 78, the beam is either transmitted to a detector portion 81 positioned on the other side of the disc 74, or the beam is blocked from passing through the disc by the opaque disc material. The sensor 72 provides one or more encoder signals which indicates how many marks have been moved past the detector. Preferably, a quadrature sensor is used which includes two individual detectors in the detector assembly 81 which are spaced 90 degrees out of phase to allow the direction of rotation of the disc 74 to be detected, as described with reference to Sensors 72 can be provided as different types and forms of sensors in other embodiments. For example, the emitters and detectors and encoder pattern can be positioned at other locations with respect to the actuator 70. Furthermore, other types of sensors may be used, such as analog potentiometers, optical sensors, photodiode sensors, photoresistor sensors, capacitive sensors, Hall effect sensors, etc. In a preferred embodiment, each transducer 54 also includes a substrate 80 which is coupled to the housing of the actuator. For example, substrate 80 can be a printed circuit board. This allows some or all of the control electronics for the sensor 72 to be integrated on the substrate 80, thereby saving cost and space in the interface device 10. Thus, the leads of the emitter-detector 78 can be coupled directly to a circuit on the substrate 80. Rotor 82 is positioned between the two stators 84 The actuator 70 is a brushless motor that provides four N-S poles as shown (four rotor poles and four stator poles). Actuator 70 is single phase, meaning that a single energization coil 88 is used to provide torque on the rotor 82. Although two physical coils 88 The magnetic structure of the actuator 70 may provide an inherent torque on the rotor 82 when the coils 88 are not energized with current, depending on the position of the rotor 82 and on the geometry of the stators and magnets. The position of rotor 82 shown in Actuators 70 operate by flowing a current through both coils 88 to cause a magnetic field that interacts with the magnetic fields provided by magnets 96 and 98 of the rotor 82. When a coil 88 is energized with a current, additional flux is provided through linked portion 87 of each stator 84, which interacts with the existing flux 95 and causes the rotor 82 to move, i.e. poles on the stator are changed such that the pole interaction between rotor and stator induces movement of the rotor. Depending on the direction of the current in the coils, the rotor 82 can be made to rotate in either direction, clockwise or counterclockwise. This causes the shaft 92 to rotate and outputs a torque on the extension members of the gimbal mechanism 52. The position of Curve 112 follows a varying path, indicating that the torque output of the actuator can differ greatly depending on the position of the rotor with respect to the stator. A desired usable output range of the actuator 70 for the present invention is about 50 degrees of rotation, and physical stops are preferably provided to limit to the rotor to such a range as described above. The O-degree position 120 shown in the graph corresponds to the center position of the rotor of Since positive torque resists motion in the particular direction and negative torque assists motion in that direction, the presented range shows that the rotor is biased to the center position at 0 degrees. The torque output reaches a maximum at points 116 and 118, and then falls off, crossing the zero torque line at points 113. The limits to the actuator are provided just before points 113, where there is still a (small) resistive torque. A reluctance curve 122 is also shown in the graph 110. Curve 122 is an approximate relative indication or generalization of the reluctance in the magnetic circuit based on the rotor position when the coils are not energized, using the same horizontal position scale as the torque curve (reluctance values are not shown). A local minimum reluctance point 124 indicates that the reluctance is low at the position of the rotor in Preferably, the physical stops described with reference to If the position 120 is provided at or near the center of the desired range of the actuator, the opposing torque forces act similarly to centering spring forces. The centering spring force of actuator 70 can be advantageous in many force feedback interface device embodiments. For example, joysticks are often provided with a centering spring force which bias the joystick handle to a center position in each degree of freedom. However, the actuators must typically be controlled by the local microprocessor (see below) or host computer processor to output the centering spring force. Since the centering spring force of actuator 70 is present when the actuator is not energized, the computer or microprocessor need not actively control and output the centering spring force. This may decrease the processing burden of the processor in some embodiments. Furthermore, the processor can output force by energizing the actuator to counteract the inherent centering spring force of the actuator with an energized force output. This allows no forces to be output as a net result, or allows other force sensations to be output without having the centering spring force interfering with those force sensations. The actuator can also be energized to provide a spring force having a magnitude that adds to the inherent spring force magnitude, which allows spring forces of greater magnitude to be output. This can be advantageous in many implementations due to the common use of spring forces in force feedback application programs. The actuator 70 can be used in some embodiments such that no large centering spring force is output in an unenergized state. For example, in a preferred embodiment, approximately 5 oz-in of torque may be output when the coils are energized. The small amount of unenergized torque output shown in In actuator 70, the profile shown in As explained with reference to Clock 204 can be a standard clock crystal or equivalent component used by host computer 12 to provide timing to electrical signals used by host microprocessor 202 and other components of the computer 12 and can be used to provide timing information that may be necessary in determining force or position values. Display device 34 is described with reference to Interface device 10 is coupled to host computer 12 by bi-directional bus 208, which sends signals in either direction between host computer 12 and the interface device 10. Bus 208 can be a serial interface bus, such as USB, RS-232, or Firewire (IEEE 1394), providing data according to a serial communication protocol, a parallel bus using a parallel protocol, or other types of buses. An interface port of host computer 12, such as a USB or RS232 serial interface port, can connect bus 208 to host computer 12. Interface device 10 can include a local microprocessor 220, local clock 222, local memory 224, sensor interface 226, and actuator interface 228. Device 10 may also include additional electronic components for communicating via standard protocols on bus 208. Local microprocessor 220 preferably coupled to bus 208 and is considered “local” to device 10, where “local” herein refers to processor 220 being a separate microprocessor from any processors 202 in host computer 12. “Local” also preferably refers to processor 220 being dedicated to haptic feedback and sensor I/O of the device 10, and being closely coupled to sensors and actuators of the device 10, such as within the housing 14 or 42. Microprocessor 220 can be provided with software instructions to wait for commands or requests from computer host 12, parse/decode the command or request, and handle/control input and output signals according to the command or request. In addition, processor 220 can operate independently of host computer 12 by reading sensor signals and calculating appropriate forces from those sensor signals, time signals, and force processes selected in accordance with a host command, and outputting appropriate control signals to the actuators. Suitable microprocessors for use as local microprocessor 220 include the 8X930AX by Intel, the MC68HC711E9 by Motorola or the PIC16C74 by Microchip, for example. Microprocessor 220 can include one microprocessor chip, or multiple processors and/or co-processor chips. In other embodiments, microprocessor 220 can include digital signal processor (DSP) functionality, or be implemented as control logic components or hardware state machine instead of an actual microprocessor chip. For example, in one host-controlled embodiment that utilizes microprocessor 220, host computer 12 can provide low-level force commands over bus 208, which microprocessor 220 directly transmits to the actuators. In a different local control embodiment, host computer 12 provides high level supervisory commands to microprocessor 220 over bus 208, and microprocessor 220 manages low level force control loops to sensors and actuators in accordance with the high level commands and independently of the host computer 12. In the local control embodiment, the microprocessor 220 can process sensor signals to determine appropriate output actuator signals by following the instructions of a “force process” that may be stored in local memory 224 and includes calculation instructions, conditions, formulas, force magnitudes, or other data. The force process can command distinct force sensations, such as vibrations, textures, jolts, or even simulated interactions between displayed objects. The host can send the local processor 220 a spatial layout of objects in the graphical environment so that the microprocessor has a mapping of locations of graphical objects and can determine force interactions locally. Force feedback used in such embodiments is described in greater detail in co-pending patent application Ser. No. 08/879,296 and U.S. Pat. No. 5,734,373, both of which are incorporated by reference herein. A local clock 222 can be coupled to the microprocessor 220 to provide timing data, similar to system clock 204 of host computer 12; the timing data might be required, for example, to compute forces output by actuators 70. Local memory 224, such as RAM and/or ROM, is preferably coupled to microprocessor 220 to store instructions for microprocessor 220 and store temporary and other data. Sensor interface 226 may optionally be included in device 10 to convert sensor signals to signals that can be interpreted by the microprocessor 220 and/or host computer 12. For example, sensor interface 226 can receive and convert signals from a digital sensor such as an encoder or from an analog sensor using an analog to digital converter (ADC). Such circuits, or equivalent circuits, are well known to those skilled in the art. Alternately, microprocessor 220 or host computer 12 can perform these interface functions. Actuator interface 228 can be optionally connected between the actuators of device 10 and microprocessor 220 to convert signals from microprocessor 220 into signals appropriate to drive the actuators. Interface 228 can include power amplifiers, switches, digital to analog controllers (DACs), and other components well known to those skilled in the art. Power supply 230 can optionally be coupled to actuator interface 228 and/or the actuators 70 to provide electrical power. Alternatively, actuators and other components can draw power from the bus 208 (such as USB) from the host computer. Or, power can be stored and regulated by device 10 and used when needed to drive actuators 70. Sensors 72 sense the position, motion, and/or other characteristics of particular controls of device 10 as described above. Sensors 72 provide signals to microprocessor 220 including information representative of those characteristics. The sensor 72 or sensor interface 226 can optionally provide sensor signals directly to computer 12 as shown by busses 209 Actuators 70 transmit forces to particular controls of device 10 in one or more directions along one or more degrees of freedom in response to signals output by microprocessor 220 and/or host computer 12, i.e., they are “computer controlled.” Actuators 70 are described in greater detail above. In some embodiments of the present invention, passive actuators can be used apply a resistance to the motion of the manipulandum 56, such as magnetic particle brakes, friction brakes, or pneumatic/hydraulic passive actuators. The manipulandum 56 can be a variety of different objects or manipulandums that are manipulated by a user and which can receive force feedback. For example, manipulandum 56 can be the sphere or finger joystick described above. The housing of the entire device 10 can also be actuated. Other input devices 234 can optionally be included in device 10 and send input signals to microprocessor 220 and/or host computer 12. Such input devices can include buttons, dials, knobs, switches, voice recognition hardware (with software implemented by host 12), or other input mechanisms as described above. Safety or “deadman” switch 236 can be included in some embodiments of device 10 to provide a mechanism to allow a user to override and deactivate forces output by actuators 70, or require a user to activate actuators 70, for safety reasons. For example, the user can be required to continually activate or close safety switch 236 during manipulation of the device 10 to activate the actuators 70. Embodiments of safety switch 236 include an optical safety switch, electrostatic contact switch, hand weight safety switch, etc. While this invention has been described in terms of several preferred embodiments, it is contemplated that alterations, permutations, and equivalents thereof will become apparent to those skilled in the art upon a reading of the specification and study of the drawings. Furthermore, certain terminology has been used for the purposes of descriptive clarity, and not to limit the present invention. It is therefore intended that the following appended claims include all such alterations, permutations and equivalents as fall within the true spirit and scope of the present invention.CROSS REFERENCE TO RELATED APPLICATIONS
BACKGROUND OF THE INVENTION
SUMMARY OF THE INVENTION
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS