Mouse interface device for providing force feedback
Abstract
This record has no abstract on file.
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
41 claims: 7 independent, 34 dependent
- 1CLAIMS 1. A mouse interface device for interfacing a user's motion with a host computerand providing force feedback to said user, said mouse interface device comprising:a mouse object contacted and manipulated by said user and moveable in a planarworkspace with respect to a ground surface;a planar linkage including five members rotatably coupled to each other, whereinsaid linkage is arranged such that a ground member is rigidly coupled to saidground surface, a first base member is rotatably coupled to said ground member torotate about an axis of rotation, a first link member is rotatably coupled to said firstbase member, a second base member is rotatably coupled to said ground member atsaid axis of rotation such that said first base member and said second base memberpivot about a single axis with respect to said ground member, and a second linkmember is rotatably coupled to said first link member and said second basemember, wherein said mouse object is coupled to said planar linkage at saidcoupling of said first link member and said second link member;a plurality of electromagnetic actuators providing forces in said planar workspace ofsaid mouse object, said forces caused by interactions between an electric currentand a magnetic field, wherein each of said actuators includes a coil portionintegrated with one of said members of said linkage and a magnet portion coupledto said ground surface through which said coil portion moves, and wherein saidactuators are controlled from commands output by said host computer;and a plurality of sensors coupled to said ground surface and separate from saidactuators, wherein said sensors provide at least one sensor signal includinginformation describing said movement of said mouse object from which a positionof said mouse object in said planar workspace is determined. 49
- 18A mouse interface device for providing force feedback to a user of said interfacedevice, wherein a host computer is coupled to said mouse interface device andimplements a graphical environment with which said user interacts, said interfacedevice comprising:a support base provided on a grounded surface;a mouse object physically contacted and manipulated by said user in two degrees offreedom with respect to said grounded surface;a mechanical linkage including a plurality of members, wherein two of saidmembers are rotatably coupled to said grounded surface at a single axis of rotationsuch that said members rotate about said single axis, said linkage coupled to saidmouse object and providing said two degrees of freedom;a plurality of actuators, said actuators providing a force on said mouse object in saidtwo degrees of freedom, wherein each of said actuators is spaced apart from saidother actuators in a plane parallel to said planar workspace;and at least one sensor detecting movement of at least one of said members of saidlinkage, wherein said sensor includes an emitter that emits a beam of energy and a 52 detector that detects said beam, wherein both said emitter and said detector of said sensor are coupled to said grounded surface.
- 28A force feedback interface device for interfacing with a host computer systemimplementing a graphical environment, the force feedback interface devicecomprising:54 a user manipulatable object physically contacted and manipulated by a user andmoved in two degrees of freedom with respect to a reference surface;a mechanism coupling said user manipulatable object to said reference surface andallowing movement of said user manipulatable object in said two degrees offreedom;at least one actuator providing a force to said user;and a sensor detecting movement of said user manipulatable object and outputting asensor signal indicative of said movement, wherein said sensor includes an emitterthat emits a beam of energy and a detector that detects said beam, wherein both saidemitter and said detector of said sensor are coupled to said reference surface, andwherein said sensor includes an arc coupled to a rotating member of saidmechanism rotatable about an axis, said arc including a portion which preventsportions of said beam from being detected by said detector, and including a stripwhich directs portions of said beam impinging on said strip to be detected by saiddetector, wherein said strip is skewed such that different portions of said strip are atdifferent distances from said axis.
- 38A mouse interface device for interfacing a user's motion with a host computerand providing force feedback to said user, said mouse interface device comprising:a mouse object contacted and manipulated by said user and moveable in a planarworkspace with respect to a ground surface;a planar linkage including five members rotatably coupled to each other, whereinsaid linkage is arranged such that a first base member is rotatably coupled to aground member, a first link member is rotatably coupled to said first base member,a second base member is rotatably coupled to said ground member, and a secondlink member is rotatably coupled to said first link member and said second basemember, wherein said mouse object is coupled to said planar linkage at saidcoupling of said first link member and said second link member;a plurality of electromagnetic actuators providing forces in said planar workspace ofsaid mouse object, said forces caused by interactions between an electric field and amagnetic field, wherein each of said actuators includes a coil portion integratedwith one of said members of said linkage and a magnet portion coupled to saidground surface through which said coil portion moves, and wherein said actuatorsare controlled from commands output by said host computer;a plurality of sensors coupled to said ground surface and separate from saidactuators, wherein said sensors provide at least one sensor signal includinginformation describing said movement of said mouse object from which a positionof said mouse object in said planar workspace is determined;and 57 an indexing input device allowing said user to change the offset between a position of said mouse object and a location of a cursor displayed on a display screen of said host computer by disabling a mapping between said cursor and said mouse object.
- 39A mouse interface device for providing force feedback to a user of said interfacedevice, wherein a host computer is coupled to said mouse interface device andimplements a graphical environment with which said user interacts, said interfacedevice comprising:a support base provided on a grounded surface, said base including a supportsurface provided above said grounded surface;a mouse object physically contacted and manipulated by said user in two degrees offreedom with respect to said support surface, wherein said mouse object contactssaid support surface;a mechanical linkage including a plurality of members, said linkage coupled to saidmouse object and providing said two degrees of freedom, wherein said linkageincludes a planar linkage including five members rotatably coupled to each other, afirst base member is rotatably coupled to a ground member, a first link member isrotatably coupled to said first base member, a second base member is rotatablycoupled to said ground member, and a second link member is rotatably coupled tosaid first link member and said second base member, wherein said mouse object iscoupled to said planar linkage at said coupling of said first link member and saidsecond link member, wherein a portion of said linkage is positioned beneath saidsupport surface and wherein said coupling of said first and second link membersextends through said support surface and is coupled to said mouse object;a plurality of actuators, said actuators providing a force on said mouse object in saidtwo degrees of freedom, wherein each of said actuators is spaced apart from saidother actuators in a plane parallel to said planar workspace;and 58 at least one sensor detecting movement of at least one of said members of saidlinkage, wherein said sensor includes an emitter that emits a beam of energy and adetector that detects said beam, wherein both said emitter and said detector of saidsensor are coupled to said grounded surface.
Independent claims7
192 paragraphs in 6 sections, as filed
φρη mw ρΐΰ>υ> pWQQ-*wy two
MOUSE INTERFACE DEVICE FOR PROVIDING FORCE FEEDBACK
Applicant:
Immersion Corporation IMM 90201/1.3 WO 98/24183 PCT/US97/21601
MOUSE INTERFACE DEVICEFOR PROVIDING FORCE FEEDBACK 5
BACKGROUND OF THE INVENTION
The present invention relates generally to interface devices for allowing humans to interfacewith computer systems, and more particularly to mechanical computer interface devices that allowthe user to provide input to computer systems and provide force feedback to the user. 10 Computer systems are used extensively in many different industries to implement many applications, such as word processing, data management, simulations, games, and other tasks. Acomputer system typically displays a visual environment to a user on a display screen or othervisual output device. Users can interact with the displayed environment to perform functions onthe computer, play a game, experience a simulation or “virtual reality” environment, use a computer 15 aided design (CAD) system, browse the World Wide Web, or otherwise influence events or imagesdepicted on the screen.
One visual environment that is particularly common is a graphical user interface (GUI).GUI's present visual images which describe various graphical metaphors of a program or operatingsystem implemented on the computer. Common GUI's include the Windows® operating system 20 from Microsoft Corporation and the MacOS® operating system from Apple Computer, Inc. Theseinterfaces allows a user to graphically select and manipulate functions of the operating system andapplication programs by using an input interface device. The user typically moves a user-controlled graphical object, such as a cursor or pointer, across a computer screen and onto otherdisplayed graphical objects or predefined screen regions, and then inputs a command to execute a 25 given selection or operation. The objects or regions (“targets”) can include, for example, icons,windows, pull-down menus, buttons, and scroll bars. Most GUI’s are currently 2-dimensional asdisplayed on a computer screen; however, three dimensional (3-D) GUI's that present simulated 3-D environments on a 2-D screen can also be provided.
Other programs or environments that may provide user-controlled graphical objects such as 30 a cursor include browsers and other programs displaying graphical “web pages” or otherenvironments offered on the World Wide Web of the Internet, CAD programs, video games,virtual reality simulations, etc. In some graphical computer environments, the user may provideinput to control a 3-D “view” of the graphical environment, i.e., the user-controlled graphical“object” can be considered the view displayed on the video screen. The user can manipulate the 1 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00021.tif" id="idf0001" />
interface device to move the view, as if moving a camera through which the user is looking. Thistype of graphical manipulation is common in CAD or 3-D virtual reality applications.
The user interaction with and manipulation of the computer environment is achieved usingany of a variety of types of human-computer interface devices that are connected to the computer 5 system controlling the displayed environment. In most systems, the computer updates theenvironment in response to the user’s manipulation of a user-manipulatable physical object (“userobject”) that is included in the interface device, such as a mouse, joystick, trackball, etc. Thecomputer provides visual and audio feedback to the user utilizing the display screen and, typically,audio speakers. 10 Another mode of feedback recently introduced to the consumer home market is force feedback, which provide the user with sensory “haptic” (feel) information about an environment.Most of the consumer force feedback devices are joysticks which include motors to provide theforces to the joystick and to the user. Current force feedback joystick devices may allow realisticand effective forces to be transmitted to a user; however, the standard joystick device is well-suited 15 for such uses as controlling an aircraft or other simulated vehicle in a simulation or game, first-person perspective virtual reality applications, or other rate-control tasks and is not well suited toposition control tasks such as controlling a pointer or cursor in a graphical user interface. Othertypes of controllers, such a mouse, trackball, stylus and tablet, “touch point” keyboard pointers,and finger pads are commonly provided for cursor position control tasks since they are adept at 20 accurately controlling the position of a graphical object in two dimensions. Herein, “positioncontrol” refers to a direct mapping of the position of the user object with a user-controlled graphicalobject, such as controlling a cursor in a GUI, while “rate control” refers to an indirect or abstractmapping of user object to graphical object, such as scrolling text in a window, zooming to a largerview in a window of a GUI, or controlling velocity of a simulated vehicle. 25 A problem with the currently-available position control interface devices is that none of them offer realistic force feedback. A mouse is not easily provided with force feedback since themouse must be moved in a planar workspace and is not easily connected to actuators which providethe force feedback. Controllers such as trackballs and tablets are even less well suited for forcefeedback than a mouse controller due to their free-floating movement. A joystick, in contrast, is 30 typically connected to an immobile base which can include large actuators needed to providerealistic forces on the joystick. A mouse can be coupled to actuators from a side linkage, but acompact, low cost, and conveniently-positioned mechanism allowing free movement of a mouse aswell as providing realistic force feedback for the mouse has not been available in the consumermarket. 35 2 WO 98/24183 PCT/US97/21601
SUMMARY OF THE INVENTION
The present invention is directed to a mouse interface which is connected to a host computerand provides realistic force feedback to a user. The interface device includes low cost, compactcomponents that provide a convenient mouse interface for a desktop.
More specifically, the present invention provides a mouse interface device for interfacing auser’s motion with a host computer and providing force feedback to the user. The host computerpreferably implements a graphical environment with which the user interacts using the mouseinterface device. The mouse interface device includes a user object, preferably a mouse object,contacted and manipulated by a user and moveable in a planar workspace with respect to a groundsurface. A linkage coupled to the mouse includes a plurality of members rotatably coupled to eachother. In one preferred configuration, the linkage is a planar closed-loop linkage including fivemembers, where two members are coupled to ground and rotatable about the same axis. Twoactuators, preferably electromagnetic voice coil actuators, provide forces in the two degrees offreedom of the planar workspace of the mouse object. Each of the actuators includes a moveablecoil portion preferably integrated with one of the members of the linkage and a magnet portioncoupled to the ground surface through which the coil portion moves. One or more sensors arecoupled to the ground surface that detects movement of a member of the linkage and provides asensor signal including information from which a position of the mouse object in the planarworkspace can be determined.
The planar linkage may include four members coupled to a ground member, where a firstbase member is rotatably coupled to the ground member, a link member is rotatably coupled to thebase member, a second base member is rotatably coupled to the ground member, and an objectmember is rotatably coupled to the link member and the second base member. The mouse object iscoupled to the object member and preferably may rotate with respect to the object member to allowthe user easy handling of the mouse. The members of the linkage are coupled together by bearingsof the present invention, which may be ball bearing assemblies, snap together bearings, snaptogether bearings including ball bearings, or V-shaped bearings.
First and second grounded base members pivot about a single axis with respect to the ground member. Preferably, the first base member and first link member are symmetrically arranged from the second base member and second link member. The coils of the actuators are preferably integrated in the members of the linkage, for example the base members, and move through magnetic fields provided by the grounded portions. In one embodiment, the grounded magnet portions of the actuators are coupled together in one embodiment, such that a common flux path between the magnet portions is shared by both magnet portions. In a preferred configuration, the first and second base members are coupled to a rotation point at a mid point of the base members, where one end of each base member integrates said coil such that the coil is spaced from3 WO 98/24183 PCT/US97/21601 the rotation point of the member. In one embodiment, the actuators are spaced apart from eachother, and a base portion of one of the actuators is used as a base portion of a different actuator. Ina different embodiment, one actuator is positioned adjacent the other as an integrated unit.
Many implementations of the sensor can be provided. The sensors can be digital encoders 5 that include a grounded portion having an emitter and detector and a moving encoder arc having anumber of equally spaced marks detected by the grounded portion when the member moves. Thearc alternatively can include an opaque portion and a transparent strip, where the strip is skewedsuch that its distance from a center of rotation of the arc varies along the length of the strip. Inother embodiments, the sensors can be lateral effect photo diodes, an emitter directing a beam to 10 detector using a light pipe, an encoder sensor with a friction wheel, or a planar sensor pad. In oneembodiment, the planar sensor pad senses a magnitude of force provided against the sensor pad ina direction perpendicular to the two degrees of freedom of the mouse object. A stop mechanism limits movement of the mouse object in four directions in the planarworkspace to a desired area. The stop mechanism can include a guide opening provided in a pad 15 surface on which the mouse object slides. In one embodiment, the linkage is positioned beneaththe pad surface, and a portion of the linkage can protrude through and engage the sides of the guideopening to provide the limits to the mouse movement. In another embodiment, a guide pin coupledto the linkage may engage sides of the guide opening to provide the movement limits. The mouseobject can also be supported by a support separate from the linkage and provided between the 20 mouse object and the ground surface, such as a roller and/or smooth pad. A safety switch can beincluded that causes the actuators to be deactivated when the user is not contacting the mouseobject. An indexing feature allows the user to change the offset between the position of the mouseobject and the location of a displayed cursor on a display screen. A local microprocessor, separatefrom the host computer system, is included in the interface device and may provide local control , 25 over sensing and outputting forces to relieve the computational burden on the host computer.
The method and apparatus of the present invention provides a force feedback mouseinterface that allows a user to conveniently interface with a host computer application program.The actuators, sensors, and linkage of the device, in the embodiments described, provide acompact, simple, low-cost design that outputs realistic forces on the user and accurately tracks the 30 user’s motions in the provided workspace, and is well suited for the consumer market.
These and other advantages of the present invention will become apparent to those skilled inthe art upon a reading of the following specification of the invention and a study of the severalfigures of the drawing. 35 4 WO 98/24183 PCT/US97/21601
BRIEF DESCRIPTION OF THE DRAWINGS
<img img-format="tif" img-content="drawing" file="IL160002AD00022.tif" id="idf0002" />
10 15
Figure 1 is a perspective view of one embodiment of a force feedback mouse interfacesystem of the present invention;
Figures la and lb are perspective views of alternate embodiments of a force feedbackinterface device of the present invention;
Figure 2a is a perspective view of the mouse interface of Fig. 1 inside the housing;
Figure 2b is a perspective view of a mechanical portion of the mouse interface of Fig. 1;
Figure 3a is a perspective view of a support pad for supporting the mouse of Fig. la;
Figure 3b is a perspective view of the underside of the mouse object of Fig. la;
Figure 3c is a side elevational view of the mouse interface of Fig. 2;
Figure 4a is a top plan view of the mechanical portion of the mouse interface of Fig. 2b;
Figure 4b is a side elevational view of the actuators of the mouse interface;
Figure 4c is a top plan view of the mechanical portion of the mouse interface after thelinkage has been moved;
Figure 5 is a perspective view of another embodiment of the mouse interface of Figure 1;
Figure 5a is a perspective view of a support pad for supporting the mouse of Figure 5;
Figures 6a and 6b are top plan and side elevational views, respectively, of the mouseinterface of Figure 5; 20 Figure 6c is a side elevational detail view of an actuator magnet assembly of the mouse interface of Figure 5;
Figures 7a and 7b is a top plan view of the mouse interface of Figure 5 in which the linkageis moved;
Figure 7c is a detailed top plan view of a sensor used in the present invention; 25 Figure 7d is a perspective view of an alternate embodiment of the mouse interface of Figure 2; 5 WO 98/24183 PCT/US97/21601
Figures 8a and 8b are top plan and side elevational views, respectively, of an alternatesensor of the present invention; and
Figure 8c is a perspective view of an alternate sensor having a friction wheel;
Figure 8d is a perspective view of an alternate sensor having a planar sensor pad; 5 Figures 8el and 8e2 are perspective and top plan views, respectively, of an alternate light pipe sensor of the present invention;
Figures 8f 1 and 8f2 are perspective and top plan views, respectively, of an alternate lightpipe sensor to that of Figures 8el and 8e2;
Figures 8g and 8h are perspective views of alternate sensors including an emitter and10 detector;
Figures 9a and 9b are perspective and side elevational views, respectively, of a ball bearingassembly suitable for use in the mouse interface of the present invention;
Figure 9c is a snap bearing of the present invention suitable for use with the mouseinterface of the present invention; 15 Figures 9d 1 and 9d2 are perspective views of an alternate snap bearing of the present invention for use with the mouse interface of the present invention;
Figure 9e is a top plan view of the snap bearing of Figures 9d 1 and 9d2;
Figure 9f is a side partial sectional view of the rotating bearing assembly of the snapbearing of Figures 9d 1 and 9d2; 20 Figures 9g 1 and 9g2 are perspective views of an alternate V-shaped bearing of the present invention for use with the mouse interface of the present invention;
Figure 10 is a block diagram of the systems of Figures 1 and 5 for controlling a forcefeedback interface device of the present invention;
Figure 11a is a perspective view of a mouse interface object for use with the interface25 systems of Figures 1 and 5;
Figure 1 lb is a side elevational view of the mouse of Figure 1 la showing a safety switch;
Figure 11c is a diagrammatic illustration of the indexing function of the present inventionusing the mouse of Figure 11a; and 6 WO 98/24183 PCT/US97Z21601
Figures 12a-12e are perspective views of alternate embodiments of the interface object foruse with the interface systems of Figures 1 and 5. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS5 FIGURE 1 is a perspective view of a force feedback mouse interface system 10 of thepresent invention capable of providing input to a host computer based on the user’s manipulation ofthe mouse and capable of providing force feedback to the user of the mouse system based onevents occurring in a program implemented by the host computer. Mouse system 10 includes an 10 interface device 11 including a mouse or “puck” 12, an interface 14, and a host computer 18. Itshould be noted that the term “mouse” as used herein, indicates an object 12 generally shaped to begrasped or contacted from above and moved within a substantially planar workspace (andadditional degrees of freedom if available). Typically, a mouse is a smooth or angular shapedcompact unit that snugly fits under a user’s hand, fingers, and/or palm, but can be implemented as 15 other objects as well.
Mouse 12 is an object that is preferably grasped or gripped and manipulated by a user. By“grasp,” it is meant that users may releasably engage a portion of the object in some fashion, suchas by hand, with their fingertips, etc. For example, images arc displayed and/or modified on adisplay screen 20 of the computer system 18 in response to such manipulations. In the described 20 embodiment, mouse 12 is shaped so that a user’s fingers or hand may comfortably grasp the objectand move it in the provided degrees of freedom in physical space. For example, a user can movemouse 12 to correspondingly move a computer generated graphical object, such as a cursor orother image, in a graphical environment provided by computer 18. The available degrees offreedom in which mouse 12 can be moved are determined from the interface 14, described below. 25 In addition, mouse 12 preferably includes one or more buttons 15 to allow the user to provideadditional commands to the computer system. The mouse 12 is described in greater detail withrespect to Figures 1 la-c.
It will be appreciated that a great number of other types of user manipulable objects (“userobjects” or “physical objects”) can be used with the method and apparatus of the present invention 30 in place of or in addition to mouse 12. For example, such objects may include a sphere, a puck, ajoystick, cubical- or other-shaped hand grips, a receptacle for receiving a finger or a stylus, a flatplanar surface like a plastic card having a rubberized, contoured, and/or bumpy surface, or otherobjects. Some of these other objects, such as a stylus, are described in detail subsequently withrespect to Figures 8a-e. Other examples of a user object 12 are described below with reference to 35 Figures la and lb. 7 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00023.tif" id="idf0003" />
Interface 14 interfaces mechanical and electrical input and output between the mouse 12 andhost computer 18 implementing the application program, such as a GUI, simulation or gameenvironment. Interface 14 provides multiple degrees of freedom to mouse 12; in the preferredembodiment, two linear, planar degrees of freedom are provided to the mouse, as shown byarrows 22. In other embodiments, greater or fewer degrees of freedom can be provided, as well asrotary degrees of freedom. For many applications, mouse 12 need only be moved in a very smallworkspace area.
In a preferred embodiment, the user manipulates mouse 12 in a planar workspace, muchlike a traditional mouse, and the position of mouse 12 is translated into a form suitable for 10 interpretation by position sensors of the interface 14. The sensors track the movement of themouse 12 in planar space and provide suitable electronic signals to an electronic portion of interface 14. The interface 14 provides position information to host computer 18. In addition, hostcomputer 18 and/or interface 14 provide force feedback signals to actuators coupled to interface 14,and the actuators generate forces on members of the mechanical portion of the interface 14 to 15 provide forces on mouse 12 in provided or desired degrees of freedom. The user experiences theforces generated on the mouse 12 as realistic simulations of force sensations such as jolts, springs,textures, “barrier” forces, and the like.
The electronic portion of interface 14 may couple the mechanical portion of the interface tothe host computer 18. The electronic portion is preferably included within the housing 21 of the 20 interface 14 or, alternatively, the electronic portion may be included in host computer 18 or as aseparate unit with its own housing. More particularly, interface 14 includes a local microprocessordistinct and separate from any microprocessors in the host computer 18 to control force feedbackon mouse 12 independently of the host computer, as well as sensor and actuator interfaces thatconvert electrical signals to appropriate forms usable by the mechanical portion of interface 14 and 25 host computer 18. A suitable embodiment of the electrical portion of interface 14 is described indetail with reference to Figure 6.
For example, a rigid surface is generated on computer screen 20 and a computer object(e.g., cursor) controlled by the user collides with the surface. In a preferred embodiment, high-level host commands can be used to provide the various forces associated with the rigid surface. 30 The local control mode using a local microprocessor in interface 14 can be helpful in increasing theresponse time for forces applied to the user object, which is essential in creating realistic andaccurate force feedback. For example, it is preferable that host computer 18 send a “spatialrepresentation” to the local microprocessor, which is data describing the locations of some or all thegraphical objects displayed in a GUI or other graphical environment which are associated with 35 forces and the types/characteristics of these graphical objects. The microprocessor can store such aspatial representation in local memory, and thus will be able to determine interactions between theuser object and graphical objects (such as the rigid surface) independently of the host computer. In 8 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00024.tif" id="idf0004" />
addition, the microprocessor can be provided with the necessary instructions or data to checksensor readings, determine cursor and target positions, and determine output forces independentlyof host computer 18. The host could implement program functions (such as displaying images)when appropriate, and synchronization commands can be communicated between the 5 microprocessor and host 18 to correlate the microprocessor and host processes. Also, the localmemory can store predetermined force sensations for the microprocessor that are to be associatedwith particular types of graphical objects. Alternatively, the computer 18 can directly send forcefeedback signals to the interface 14 to generate forces on mouse 12.
The interface 14 can be coupled to the computer 18 by a bus 17, which communicates 10 signals between interface 14 and computer 18 and also, in the preferred embodiment, providespower to the interface 14 (e.g. when bus 17 includes a USB interface). In other embodiments,signals can be sent between interface 14 and computer 18 by wireless transmission/reception. Inpreferred embodiments of the present invention, the interface 14 serves as an input/output (I/O)device for the computer 18. The interface 14 can also receive inputs from other input devices or 15 controls that are associated with mouse system 10 and can relay those inputs to computer 18. Forexample, commands sent by the user activating a button on mouse 12 can be relayed to computer18 by interface 14 to implement a command or cause the computer 18 to output a command to theinterface 14.
Host computer 18 is preferably a personal computer or workstation, such as an 1BM-PC20 compatible computer or Macintosh personal computer, or a SUN or Silicon Graphics workstation.For example, the computer 18 can operate under the Windows™ or MS-DOS operating system inconformance with an IBM PC AT standard. Alternatively, host computer system 18 can be one ofa variety of home video game systems commonly connected to a television set, such as systemsavailable from Nintendo, Sega, or Sony. In other embodiments, host computer system 18 can be a . 25 “set top box” which can be used, for example, to provide interactive television functions to users,or a “network-” or “internet-computer” which allows users to interact with a local or globalnetwork using standard connections and protocols such as used for the Internet and World WideWeb. Host computer preferably includes a host microprocessor, random access memory (RAM),read only memory (ROM), input/output (I/O) circuitry, and other components of computers well- 30 known to those skilled in the art.
Host computer 18 preferably implements a host application program with which a user isinteracting via mouse 12 and other peripherals, if appropriate, and which can include forcefeedback functionality. For example, the host application program can be a simulation, videogame, Web page or browser that implements HTML or VRML instructions, scientific analysis 35 program, virtual reality training program or application, or other application program that utilizesinput of mouse 12 and outputs force feedback commands to the mouse 12. Herein, for simplicity,operating systems such as Windows™, MS-DOS, MacOS, Unix, etc. are also referred to as 9 WO 98/24183
PCT/US97/2160I
<img img-format="tif" img-content="drawing" file="IL160002AD00025.tif" id="idf0005" />
10 “application programs.” In one preferred embodiment, an application program utilizes a graphicaluser interface (GUI) to present options to a user and receive input from the user. Herein, computer18 may be referred as displaying “graphical objects” or “computer objects.” These objects are notphysical objects, but are logical software unit collections of data and/or procedures that may bedisplayed as images by computer 18 on display screen 20, as is well known to those skilled in theart. A displayed cursor or a simulated cockpit of an aircraft might be considered a graphical object.The host application program checks for input signals received from the electronics and sensors ofinterface 14, and outputs force values and/or commands to be converted into forces on mouse 12.Suitable software drivers which interface such simulation software with computer input/output(I/O) devices are available from Immersion Human Interface Corporation of San Jose, California.
Display device 20 can be included in host computer 18 and can be a standard display screen(LCD, CRT, etc.), 3-D goggles, or any other visual output device. Typically, the host applicationprovides images to be displayed on display device 20 and/or other feedback, such as auditorysignals. For example, display screen 20 can display images from a GUI. Images describing a 15 moving, first person point of view can be displayed, as in a virtual reality game. Or, imagesdescribing a third-person perspective of objects, backgrounds, etc. can be displayed.Alternatively, images from a simulation, such as a medical simulation, can be displayed, e.g.,images of tissue and a representation of a manipulated user object 12 moving through the tissue,etc. 20 There are two primary “control paradigms” of operation for mouse system 10: position control and rate control. Position control is the more typical control paradigm for mouse andsimilar controllers, and refers to a mapping of mouse 12 in which displacement of the mouse inphysical space directly dictates displacement of a graphical object. The mapping can have anarbitrary scale factor or even be non-linear, but the fundamental relation between mousej 25 displacements and graphical object displacements should be present. Under a position controlmapping, the computer object does not move unless the user object is in motion. Position controlis not a popular mapping for traditional computer games, but is popular for other applications suchas graphical user interfaces (GUI’s) or medical procedure simulations. Position control forcefeedback roughly corresponds to forces which would be perceived directly by the user, i.e., they 30 are “user-centric” forces. Also, “ballistics” or other non-linear adjustments to cursor position canbe used, in which, for example, small motions of the mouse have a different scaling factor forcursor movement than large motions of the mouse, to allow more control of small cursormovement.
As shown in Figure I, the host computer may have its own “host frame” 28 which is 35 displayed on the display screen 20. In contrast, the mouse 12 has its own “local frame” 30 inwhich the mouse 12 is moved. In a position control paradigm, the position (or change in position)of a user-controlled graphical object, such as a cursor, in host frame 30 corresponds to a position 10 WO 98/24183 PCT7US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00026.tif" id="idf0006" />
(or change in position) of the mouse 12 in the local frame 28. The offset between the object in thehost frame and the object in the local frame can be changed by the user for indexing, as describedbelow.
Rate control is also used as a control paradigm. This refers to a mapping in which the5 displacement of the mouse 12 along one or more provided degrees of freedom is abstractly mappedto motion of a computer-simulated object under control. There is not a direct physical mappingbetween physical object (mouse) motion and computer object motion. Thus, most rate controlparadigms are fundamentally different from position control in that the user object can be heldsteady at a given position but the controlled computer object is in motion at a commanded or given 10 velocity, while the position control paradigm only allows the controlled computer object to be inmotion if the user object is in motion.
The mouse interface system 10 is useful for both position control (“isotonic”) tasks and ratecontrol (“isometric”) tasks. For example, as a traditional mouse, the position of mouse J 2 in itslocal frame 30 workspace can be directly mapped to a position of a cursor in host frame 28 on 15 display screen 20 in a position control paradigm. Alternatively, the displacement of mouse 12 in aparticular direction against an opposing output force can command rate control tasks in an isometricmode.
Mouse 12 is preferably supported upon a grounded pad 32 by the mechanical portion ofinterface 14, described below. Pad 32 or a similar surface is supported by grounded surface 34. 20 Mouse 12 contacts grounded pad 32 (or alternatively grounded surface 34) to provide additionalsupport for the mouse and relieve stress on the mechanical portion of interface 14. In particular,such additional support is valuable for the preferred embodiment in which there is only one locationof grounding (e.g., at one grounded axis of rotation) for the mechanical linkage of the device, as inthe embodiment of Figure 2b. In such an embodiment, a roller, wheel, Teflon pad or other device 25 is preferably used on the mouse to minimize friction between the mouse and the contacted surface,as described in greater detail below.
Mouse 12 can be used, for example, to control a computer-generated graphical object suchas a cursor displayed in a graphical computer environment, such as a GUI. The user can move themouse in 2D planar workspace to move the cursor to graphical objects in the GUI or perform other 30 tasks. In other graphical environments, such as a virtual reality video game, a user can becontrolling a computer player or vehicle in the virtual environment by manipulating the mouse 12.The computer system tracks the position of the mouse with sensors as the user moves it. Thecomputer system may also provide force feedback commands to the mouse, for example, when theuser moves the graphical object against a generated surface such as an edge of a window, a virtual 35 wall, etc. It thus appears and feels to the user that the mouse and the graphical object are contactingreal surfaces. 11 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00027.tif" id="idf0007" />
FIGURES la and lb illustrate other embodiments of an interface device and user object 12which can incorporate the features of the present invention. In Figure la, a hand-held remotecontrol device 35 can be used to access the functions of a device or appliance remotely by a user.For example, remote control 35 can be used to select functions of a television, video cassetterecorder, sound stereo, etc. More specifically, remote control 35 can select functions of an internetor network computer connected to a television. For example, one popular device is Web-TV™,which is connected to a television and displays internet information such as web pages on thetelevision screen. Remote control 35 may include buttons 33 for selecting options of the Web-TVdevice, of the application program running on the device, or of web pages. 10 Remote control 35 also includes a fingertip joystick 35 for moving a cursor on the television screen, scrolling windows, and other functions that are typically performed by a mouseon a personal computer. Fingertip joystick 35 can be implemented as the user object 12 of theinterface device 11 of the present invention. For example, a linkage, actuators, and sensors similarto these components of Figures 1 and 2a-2b can be positioned in the housing of remote control so 15 that joystick 35 is coupled to the linkage, e.g. at bearing 58. The joystick 35 may be moved in twoplanar degrees of freedom by the user’s fingertips or hand. The workspace of the joystick 35 canbe, for example, one-quarter to half the area of the required workspace of mouse 12. This allowsthe actuators, sensors, and linkage to be smaller and less costly that the embodiment of Figure 1,e.g., forces of less magnitude, but with high fidelity, can be provided in a smaller workspace 20 (also, since fingertips are used, output forces need not be as high a magnitude as in otherembodiments). In addition, spring forces can be always provided by the actuators of the device 11to bias the stick 35 toward the center of the planar workspace to simulate a spring return on thejoystick. This simulates a pivoting fintertip joystick of the prior art that has physical springs tocenter the joystick. Alternatively, a conventional full-size joystick can include the centering spring 25 forces. Also, mouse 12 in the embodiment of Figure 1 can be provided with such a centeringspring bias, e.g. when the mouse is used like a joystick in game or simulation applications.
Figure lb illustrates an alternate embodiment of the remote control 35 of Figure la, inwhich a gamepad controller 37 is provided with a fingertip joystick 38. Controller 37 is intendedto be held by both hands of a user. The controller 37 includes some input devices of prior art 30 controllers, such as buttons and a directional game pad 39. The joystick 38 can be moved in aplanar workspace with a user’s thumb and can be similar to the joystick 35 of Figure la to allowforce feedback in games and other applications. FIGURE 2a is a perspective view of a preferred embodiment of the mouse device 11 withthe cover portion of housing 21 and the grounded pad 32 removed. Mouse 12 is preferably 35 coupled to the mechanical portion 24 of interface 14, which includes a mechanical linkage 40 that iscoupled to a transducer assembly 41. A base 42 is provided to support the mechanical linkage 40and transducer system 41 on grounded surface 34. In the described embodiment, the linkage 40 12 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00028.tif" id="idf0008" />
allows mouse 12 two planar degrees of freedom in the directions of arrows 22, and the members ofthe linkage 40 move approximately within a plane. The linkage is preferably coupled to groundedbase 42 at an axis of rotation, described below. The transducer assembly 41 is coupled to base 42and is thus also grounded. 5 In the described embodiment, at least part of the electronic portion 26 of interface 14 is positioned above the transducer assembly 41. For example, a printed circuit board 43 or similarsupport can be positioned over the top surface of transducer assembly 41. A number of integratedcircuits and other components 45 can be coupled to the printed circuit board 43. This configurationallows the transducer assembly 41 and the electronic portion 26 of the interface 14 to conform to a 10 small volume which reduces the overall size of housing 21 and allows the mouse interface device tobe positioned in convenient areas of a desktop or other area accessible to a user. FIGURE 2b is a perspective view of a portion of tlie mouse device 11 of Figure 2ashowing the mechanical portion 24 of interface 14 for providing mechanical input and output inaccordance with the present invention. 15 Mechanical linkage 40 provides support for mouse 12 and couples the mouse to a grounded surface 34, such as a tabletop or other support. Linkage 40 is, in the described embodiment, a 5-member (or “5-bar”) linkage including a ground member 42 (the base), a first base member 44coupled to ground member 42, a second base member 48 coupled to ground member 42, a firstlink member 46 coupled to base member 44, and a second link member 50 coupled to link member 20 46 and base member 48. In the described embodiment, the base member 44 and the link member 46 are arranged symmetrically from base member 48 and link member 50 across an axis extendingperpendicularly through axes A and D. The symmetrical orientation of the members allows basemember 44 and link member 46, in some embodiments, to be manufactured substantially inidentical fashion as base member 48 and link member 50, thus saving on manufacturing costs. 25 Mouse 12 is coupled to the linkage at the coupling between link members 46 and 50. Fewer orgreater numbers of members in the linkage can be provided in alternate embodiments.
Ground member 42 of the linkage 40 is a base for the support of the linkage and is coupledto or resting on a ground surface 34. The ground member 42 in Figure 2b is shown as a plate orbase that extends under mouse 12. In other embodiments, the ground member can be shaped in 30 other ways and might only contact the ground surface directly under bearing 52, for example.
The members of linkage 40 are rotatably coupled to one another through the use of rotatablepivots or bearing assemblies having one or more bearings, all referred to as “bearings” herein. Thebearings used on linkage 40 can be of a wide variety of types. Some types of bearings suitable forthe present invention are described in detail below. Base member 44 is rotatably coupled to ground 35 member 42 by a grounded bearing 52 and can rotate about an axis A. Link member 46 is rotatably coupled to base member 44 by bearing 54 and can rotate about a floating axis B, and base member13 WO 98/24183 PCT/US97/21601 48 is rotatably coupled to ground member 42 by bearing 52 and can rotate about axis A. Linkmember 50 is rotatably coupled to base member 48 by bearing 56 and can rotate about floating axisC, and link member 50 is also rotatably coupled to link member 46 by bearing 58 such that linkmember 50 and link member 46 may rotate relative to each other about floating axis D. The axes B,C, and D are “floating” in the sense that they are not fixed in one position relative to ground surface34 as is axis A. Since the only connection of the four linkage members 44, 46, 48, and 50 to theground member 42 is through grounded bearing 52, only base members 44 and 48 are grounded ataxis A. Bearings 54, 56, and 58 are floating and not connected to the ground member. Preferably,the axes B, C, and D are all substantially parallel to each other.
One advantage of the linkage 40 is that both base member 44 and base member 48 arerotatable about the same axis A. This is important to allow the actuator and sensor design of thepresent invention, as described in greater detail below. Also this configuration dramaticallysimplifies the kinematic equations required to describe the motion of mouse 12 and provide forcesto mouse 12 at the other end of the linkage, such kinematic equations being well known to those ofskill in the art. In alternate embodiments, members 44 and 48 can be coupled to ground member42 at different locations and are rotatable about different axes, so that two grounded axes areprovided, about which each member rotates. In yet other embodiments, the ground member 42 canbe positioned between the base members 44 and 48 on axis A.
Linkage 40 is formed as a five-member closed-loop chain. Each member in the chain isrotatably coupled to two other members of the chain. The five-member linkage is arranged suchthat the members can rotate about their respective axes to provide mouse 12 with two degrees offreedom, i.e., mouse 12 can be moved within a planar workspace defined by the x-y plane, whichis defined by the x- and y-axes as shown in Figure 2b. Linkage 40 is thus a “planar” five-memberlinkage, since it allows the mouse 12 to be moved within a plane. In addition, in the describedembodiment, the members 44, 46, 48 and 50 of linkage 40 are themselves approximately orientedin a plane.
Mouse 12 in the preferred embodiment is coupled to link members 46 and 50 by rotarybearing 58. The mouse may also preferably rotate about floating axis D and allow the user someflexible movement in the planar workspace. The allowed rotation can provided to allow the user’shand/wrist to conveniently stay in one position during mouse movement while the mouse 12 rotatesabout axis D. In alternate embodiments, mouse rotation about axis D may be sensed by sensors.In yet other embodiments, forces can be provided on mouse 12 about axis D using actuators. Inthe preferred embodiment, a pad or other support is provided under mouse 12 to help support themouse 12, and is described in greater detail with respect to Figures 3a-c.
In alternate embodiments, capstan drive mechanisms (not shown) can be provided totransmit forces and motion between electromechanical transducers and the mouse 12. Capstan 14 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD00029.tif" id="idf0009" />
drive mechanisms provide mechanical advantage for forces generated by actuators withoutintroducing substantial friction and backlash to the system. In alternate embodiments, mouse 12can also be moved in an additional spatial degree of freedom using a rotatable carriage coupledbetween ground member 42 and base member 44. 5 Transducer system 41 is used to sense the position of mouse 12 in its workspace and to generate forces on the mouse 12. Transducer system 41 preferably includes sensors 62 andactuators 64. The sensors 62 collectively sense the movement of the mouse 12 in the provideddegrees of freedom and send appropriate signals to the electronic portion of interface 14. Sensor62a senses movement of link member 48 about axis A, and sensor 62b senses movement of base 10 member 44 about axis A. These sensed positions about axis A allow the determination of theposition of mouse 12 using known constants such as the lengths of the members of linkage 40 andusing well-known coordinate transformations. Member lengths particular to the interface devicecan be stored in local memory 134, such as EEPROM, to account for manufacturing variationsamong different interface devices; alternatively, variations of the particular link lengths from 15 standard lengths can be stored in memory 134.
Sensors 62 are, in the described embodiment, grounded optical encoders that sense theintermittent blockage of an emitted beam. A grounded emitter/detector portion 71 includes anemitter that emits a beam which is detected by a grounded detector. A moving encoder disk portionor “arc” 74 is provided at the end of members 44 and 48 which each block the beam for the 20 respective sensor in predetermined spatial increments and allows a processor to determine theposition of the arc 74 and thus the members 44 and 48 by counting the spatial increments. Also, avelocity of members 44 and 48 based on the speed of passing encoder marks can also bedetermined. In one embodiment, dedicated electronics such as a “haptic accelerator” may determinevelocity and/or acceleration. The operation of sensors 62 are described in greater detail with 25 reference to Figures 4a-4c.
Transducer system 41 also preferably includes actuators 64 to transmit forces to mouse 12in space, i.e., in two (or more) degrees of freedom of the user object. The bottom housing plate 65of actuator 64a is rigidly coupled to ground member 42 (or grounded surface 34) and a movingportion of actuator 64a (preferably a coil) is integrated into the base member 44. The actuator 64a 30 transmits rotational forces to base member 44 about axis A. The housing 65 of the groundedportion of actuator 64b is rigidly coupled to ground member 42 or ground surface 34 through thegrounded housing of actuator 64b, and a moving portion (preferably a coil) of actuator 64b isintegrated into base member 48. Actuator 64b transmits rotational forces to link member 48 aboutaxis A. The combination of these rotational forces about axis A allows forces to be transmitted to 35 mouse 12 in all directions in the planar workspace provided by linkage 40 through the rotationalinteraction of the members of linkage 40. The integration of the coils into the base members 44 and48 is advantageous to the present invention and is discussed below. 15 WO 98724183 PCT/US97/21601
In fee preferred embodiment, actuators 64 are electromagnetic voice coil actuators whichprovide force through the interaction of a current in a magnetic field. The operation of fee actuators64 is described in greater detail below with reference to Figure 4a. In other embodiments, othertypes of actuators can be used, both active and passive, such as DC motors, pneumatic motors,passive friction brakes, passive fluid-controlled brakes, etc.
Additional and/or different mechanismscan also be employed to provide desired degrees offreedom to mouse 12. This rotational degree of freedom can also be sensed and/or actuated, ifdesired, to provide an additional control degree of freedom. In other embodiments, a floatinggimbal mechanism can be included between mouse 12 and linkage 40 to provide additional degreesof freedom to mouse 12. Optionally, additional transducers can be also added to interface 14 inprovided or additional degrees of freedom of mouse 12.
In an alternate embodiment, the mechanism 14 can be used for a 3-D interface device featallows a user to move a user object 12 in three dimensions rather than the 2-D planar workspacedisclosed. For example, in one embodiment, the entire mechanism 14 can be made to rotate abouta grounded axis, such as axis H extending through the actuators 64. For example, members (notshown) rigidly coupled to the actuators 64 or to grounded member 42 can extend in both directionsalong axis H and be rotary coupled to a grounded surface at points Hl and H2. This provides athird (rotary) degree of freedom about axis H to the mouse device 11 and to the user object 12. Amotor can be grounded to the surface near point Hl or H2 and can drive the mechanism 14 aboutaxis H, and a sensor, such as a rotary encoder, can sense motion in this third degree of freedom.One reason for providing axis H through the magnet assemblies is to reduce fee inertia and weightcontributed to motion about axis H by the magnet assemblies. Axis H can be provided in otherpositions in other embodiments. In such an embodiment, the user object 12 can be a stylus, grip,or other user object. A third linear degree of freedom to mechanism 14 can be provided in alternateembodiments. FIGURE 3a is a perspective view of the grounded pad 32 and interface 14 of fee mousesystem shown in Figure 1, where the mouse 12 has been detached from fee mechanical linkageportion of the interface 14. As shown, pad 32 preferably has a height h and is preferably hollow toallow the mechanical linkage to be positioned underneath fee top surface of the pad 32. Thebearing 58 is preferably arranged to extend through a guide opening 76 in fee pad 32. Anattachment plate 59 can be coupled to the bearing 58 or rotatably coupled to a member of linkage 40to provide a point for attaching fee mouse 12 to the linkage 40. Mouse 12 is thus releasablycoupled to attachment plate 59.
In the described embodiment, the pad 32 includes opening 76 in its top surface featprovides fee limits to the workspace of the mouse 12. Bearing 58 and plate 59 preferably protrudethrough opening 76 such that a rounded portion 63 of plate 59 (provided under the flat plate 16 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000210.tif" id="idf0010" />
10 15 portion), when moved in any degree of freedom of the mouse 12, eventually impacts a side ofopening 76. The four sides to the opening 76 thus provide limits to the workspace of the mouse 12in the provided planar degrees of freedom, i.e., a stop mechanism is provided that limits themovement of the mouse 12 as defined by the size of opening 76. Opening 76 can be made any sizedesired. For example, in the described embodiment, opening 76 has relatively small dimensions,such as approximately 1 3/8” by 1 1/8”. The size of the opening 76 is larger than the workspace ofthe mouse due to the size or radius of the rounded portion 63; thus, with the described openingsize, a workspace of about I” by 3/4” is obtained for the mouse 12 (which is considered at thecenter of bearing 58 at axis D). This is typically adequate workspace for the user to move themouse and control a graphical object such as a cursor on a display screen. In addition, this sizeworkspace has an aspect ratio of 4:3, which is about the aspect ratio of a standard computermonitor, television, or other display screen. Preferably, the opening 76 has rounded comers thatare receptive to the rounded portion 63 of plate 59, i.e., the rounded portion fits snugly into therounded corner. In other embodiments, differently-sized guide openings 76 can be provided fordifferently-sized workspaces, or other types of stops or guides can be used to prevent movementpast predetermined limits; e.g., guide opening 76 can be square shaped or otherwise shaped.
An aperture 77 can also be provided to route wires or cables from buttons 15 on the mouseto the electronic portion 26 of the mouse device 11. Alternatively, an inductive coil can be includedin mouse 12 to transmit a signal when a button is activated, where the signal is received by another 20 inductive coil in pad 32 which detects the activation of buttons 15; the operation of such coils beingwell known to those skilled in the art. Other wireless devices can also be used to detect theactivation of buttons 15.
Preferably, the top surface of grounded pad 32 is a smooth material, such as a smooth slickplastic, to allow contact with portions of mouse 12. Such contact provides support for mouse 12 25 when the mouse is moved in its planar workspace and allows the mouse to slide on the pad 32 withlittle friction. Since the linkage 40, when extended, is cantilevered at a large moment arm, a smallforce at the mouse end of the linkage can create a large torque that stresses the mounting orcoupling 52 at axis A, which may cause the mounting or coupling to bend. Pad 32 (and roller 61)thus balances the cantilever load by providing support to any pressure or force from the user in the 30 z-direction on mouse 12 toward the ground surface 34. FIGURE 3b is a perspective view of· the underside of mouse 12. Preferably, mouse 12includes edges 78 provided as a lip to a hollow interior of the mouse 12. Edges 78 are preferablycoated with a Teflon or similar smooth material, and are operative to contact the smooth top surfaceof grounded pad 32 to allow smooth movement of the mouse on the pad with little friction. In the 35 described embodiment, mouse 12 is attached to plate 59 at apertures 79; for example, screws,posts, or other members can be inserted in the apertures of plate 59 and in apertures 79. 17 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000211.tif" id="idf0011" />
10 FIGURE 3c is a side elevational view of the mouse 12 coupled to linkage 40 and contactinggrounded pad 32. Preferably, grounded pad 32 includes a bottom support member 33 whichcontacts the grounded surface 34 and which is a hard smooth material (such as a lightweightmetal). Linkage 40 is preferably supported on the surface of member 33 by a roller 61. Roller 61,in the described embodiment, is a spherical ball-shaped piece, e.g. having a surface made ofTeflon, that is coupled to linkage 40 and slides on the surface of member 33 when the mouse 12 ismoved in its workspace. Alternatively, roller 6.1 can be rotatably coupled to the linkage 40 and canrotate on the surface of member 33 when the mouse 12 moves. Roller 61 thus supports the linkage40 to receive the force from the user’s hand on the mouse 12 without being stressed in the z-direction. The top surface of grounded pad 32 is not shown in Figure 3c, but is also present suchthat the linkage 40 is positioned between an upper member 31 and member 33. The top surface ofthe upper member receives downward force on mouse 12 since the edges 78 of mouse 12 slide onthis surface.
In other embodiments, other types of supports can be used to support the bearing 58 end of 15 linkage 40 and which allow little friction between mouse and pad surface, such as a wheel, runner,etc. In other embodiments, a pad or other support can be coupled to the underside of linkage 40such as at bearing 58, or at other areas between mouse 12 and grounded surface 34. FIGURE 4a is a top plan view of the mechanical portion 24 of the interface device 11showing the arrangement of sensors and actuators in the device. The present invention preferably 20 uses voice coil (electromagnetic) actuators.
Actuator 64a drives base member 44. Base member 44 includes an integrated coil portion80a on which a wire coil is provided. Coil portion 80a may be of the same material as theremaining portion of member 44, or it may include a circuit board material (with a suitabledielectric, etc.) which promotes easy layout and etching of a coil on its surface. A wire coil 82a of 25 actuator 64a is coupled to portion 80a of member 44. Preferably, wire coil 82a includes at leasttwo loops of wire and is wound on a member portion 80a, e.g. 222 loops, in the describedembodiment, are wound like a spool about a center portion of portion 80a. In alternativeembodiments, coil 82a can be provided as a printed circuit board trace using well-knowntechniques. Fewer or greater numbers of loops of coil 82a can also be provided. Terminals (not 30 shown) from wire coil 82a to the electronic portion 26 of the interface are provided so that hostcomputer 18 or local microprocessor 130 can control the direction and/or magnitude of the currentin wire coil. The coil 82a can be made of aluminum, copper, or other conductive material.
The coil portion of actuator 64a is integrated in base member 44 and pivots about A as thebase member so pivots. This feature is one of the advantages of the present invention. In typical 35 prior art force feedback linkages, the actuator is a supported by a set of bearings which are separatefrom the bearings which support a member of the linkage. In the device of the present invention, a 18 WO 98/24183 PCT/US97/21601 single bearing 52 is a grounded bearing of the linkage and a guide bearing for the actuator 64, sincebase member 44 is part of both the linkage 40 and the actuator 64a. This is more efficient thanhaving separate bearings since one part serves two functions, which reduces the cost of the deviceand friction among the moving parts.
Voice coil actuator 64a also includes a magnet assembly 88a, which is grounded andpreferably includes four magnets 90a and a flux plate 92a, as shown more clearly in the sideelevation view of FIGURE 4b. Alternatively, two magnets 90 with two polarities each can beincluded. Each magnet has a polarity (north N or south S) on opposing sides of the magnet.Opposite polarities of magnets 90 face each other, such that coil 82a is positioned betweenopposing polarities on either side of the coil. In an alternate embodiment, one or more magnets 90can be provided on one side of coil 82a, and the other magnet 90 on the opposite side of the coil82a can be a piece of metal shaped similarly to the magnet that provides a flux return path for themagnetic field (or the piece of metal can simply be plate 65); this can be more cost efficient in someembodiments. When magnets are provided on only one side of the coil, the magnets are madelarger to provide the same amount of force as if two sides of (smaller) magnets are present.Preferably, a small amount of space is provided between the magnet surfaces and the coil84a/member 44. The magnetic flux guide surrounding the magnets is provided as, in the describedembodiment, metal plate 92a provided on the top side of the magnets 90a and metal base plate 65provided on the bottom side of the actuator 64a. Plates 92a and 65 house actuator 64a to allowmagnetic flux from magnets 90a to travel from one end of the magnets 90a to the other end, as iswell known to those skilled in the art.
The magnetic fields from magnets 90a interact with a magnetic field produced from wirecoil 82a when current is flowed in coil 82a, thereby producing forces on member 44. Coil 82a andmember 44 arc positioned between magnets 90a and are thus affected by the magnetic fields ofopposing magnets. As an electric current I is flowed through the coil 82a via electrical terminals, amagnetic field is generated from the current and configuration of coil 82a. The magnetic field fromthe coil then interacts with the magnetic fields generated by magnets 90a to produce a force onmember 44 about axis A. The magnitude or strength of the force is dependent on the magnitude ofthe current that is applied to the coil, the number of loops in the coil, and the magnetic field strengthof the magnets. The direction of the force depends on the direction of the current in the coil; theforce can be applied in either direction about axis A. By applying a desired current magnitude anddirection, force can be applied to member 44 and through member 46, thereby applying force tomouse 12 in the x-y plane workspace of the mouse. A voice coil actuator can be provided for eachdegree of freedom of the mechanical apparatus to which force is desired to be applied.
Thus, the magnetic fields from magnets 90a interact with the magnetic field produced fromwire coil 82a when current is flowed in coil 82a to produce a planar force to the coil portion 80a ofthe member 44. The coil portion 80a and wire coil 82a are moved about axis A until the member 19 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000212.tif" id="idf0012" />
44 contacts the stop supports 91 provided at each end of the range of motion of the member 44about axis A (guide opening 76 may also limit the range of the actuators in some embodiments).Alternatively, the physical stops to movement can be omitted, where the force on member 44 isgradually decreases and ceases as the coil portion 80a moves out from between the magnets 90a. 5 Voice coil actuator 64b operates similarly to actuator 64a. A current is flowed through coil 82b to cause interaction with a magnetic field from magnets 90b of magnet assembly 88b which issimilar to the magnet assembly 88a described above, and inducing magnetic forces that rotateportion 80b of base member 48 about axis A. This causes forces to be applied to mouse 12 in thex-y workspace of the mouse through the member 48 and member 50. It should be noted that 10 magnet assembly 88b includes a different flux return plate 92b on the top of actuator 64b, butpreferably uses the same base plate 65 for the flux return path on the bottom of actuator 64b. Thisconveniently allows a single plate 65 to be used as a flux return path for both actuators 64a and64b.
In the described embodiment, magnet assemblies 88a and 88b are preferably positioned 15 adjacent to each other to provide a low profile. This allows housing 21 to have a low profile aswell, and permits the mouse interface device 11 to be placed conveniently in locations on a desktopnear a host computer. In addition, the low profile embodiment allows easier and thus cheaperassembly of the interface device 11.
An important advantage of the present invention is the linkage 40 which provides a single 20 rotation axis A for both base members 44 and 48. Since the base members 44 and 48 of thepresent invention also integrate the moving wire coil portion of the actuators, the moving portion ofthe actuators thus also rotate about the same axis A. The members 44 and 48, in effect, act asguides for the movement of the coils. A further advantage of integrating the coils 82 with the grounded base members 44 and 48 25 is that mechanical advantage is gained from the length of the base members. The two basemembers 44 and 48 are coupled to a single pivot point at a mid-point of the base members, whereone end of each base member includes a coil; the coils are thus spaced from the pivot. Themechanical advantage is derived from the ratio of the distance from the coil to the rotation point(axis A) and the distance from the rotation point to the other end of the member at the bearing 54 or 30 56. The base members 44 and 48 thus act as lever arms, and the lever arm distance provides mechanical advantage to forces generated by the actuators 64 and transmitted through linkage 40 tomouse 12.
The voice coil actuators 64a and 64b have several advantages. One is that a limitedmovement range is defined for a particular degree of freedom of mouse 12 by the length of the 35 magnets 90 and the stops 91. Also, control of the voice coil actuator is simpler than other actuators since output torque is a substantially linear function of input coil current. In addition, since voice20 WO 98/24183 PCT/US97/21601 coil actuators do not require mechanical or electrical commutation as do other types of motors, thevoice coil actuator has a longer life expectancy, less maintenance, and quiet operation. Theactuation is nearly frictionless, resulting in greater haptic fidelity and smoother feel to the user. Theparts for voice coil actuators are inexpensive to produce and are readily available, such as voice coildriver chips, resulting in a low cost way to provide realistic force feedback.
In the particular embodiment disclosed, another advantage relates to the grounding of bothactuators 64a and 64b. The heavy portion of the electromagnetic actuators (the magnets and thehousing for the magnets) are grounded, while the lighter portion of the actuators (the coils) are notgrounded and ride on members of the linkage. Since both actuators are coupled to ground, the usermoving mouse 12 does not carry the heavy portion of the actuators or feel their weight, thuspromoting realistic force feedback using smaller magnitude forces, and allowing the interfacesystem 10 to be a low cost device.
In alternate embodiments, the mechanical linkage 40 can be replaced by other mechanicallinkages or structures which can provide desired degrees of freedom. For example, portions 80aand 80b of the members 44 and 48 can be linearly moved through sensors 62 and linear actuatorscan provide forces in linear degrees of freedom of mouse 12. In other embodiments in whichrotary degrees of freedom are desired for a user object, linear degrees of freedom can be providedin the X and Y axes and can be converted to two rotary degrees of freedom for a user object 12using a ball joint, pendulum, or other mechanism.
In the preferred embodiment, separate sensors 62 are used to detect the position of mouse12 in its planar workspace, as described below. However, in alternate embodiments, the voice coilactuators 64a and 64b can also be used as sensors to sense the velocity of the members 44 and 48about axis A and/or to derive the position and other values of mouse 12 in its planar workspacefrom the sensed velocity. Motion of coil 82a within the magnetic field of magnets 90a induces avoltage across the coil 82a and this voltage can be sensed by an analog-to-digital converter or otherelectronics, for example. This voltage is proportional to the velocity of the coil and portion 80 ofthe rotating member about axis A. From this derived velocity, acceleration or position of themembers 44 and 48 can be derived using timing information, for example, from a clock (describedbelow). Alternatively, one or more additional coils similar to coil 82a and having an appropriatenumber of loops can be placed on member portions 80 which are dedicated to sensing voltage toderive position, velocity, or acceleration as-described above. However, voice coil actuatorsproduce analog values, which are subject to noise, and the filtering of such noise typically requiresexpensive components; thus, in the preferred low-cost embodiment, separate digital sensors areused to sense the position, motion, etc. of mouse 12.
In other embodiments, additional coils can also be provided for actuators 64 to providedifferent magnitudes of forces. For example, coil 82a can include multiple separate “sub-coils” of 21 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000213.tif" id="idf0013" />
wire. A set of terminals can be included for each different sub-coil. Each sub-coil can include adifferent number of loops on portion 80 and therefore will generate a different magnetic field andthus a different magnitude of force when a constant current I is flowed through the sub-coil. Thisscheme is also applicable to a digital system using on and off switches. 5 In other embodiments, linear actuators can be used to provide forces in provided degrees of freedom. Also, other types of actuators may be used in place of or in addition to actuators 64 ofthe interface device. For example, the linkage can be driven by a direct drive DC motor or ageared/belt DC motor to provide mechanical advantage.
Sensors 62a and 62b are provided to sense the position of mouse 12 in its planar 10 workspace. In the described embodiment, a grounded emitter/detector assembly 71a is providedfor sensor 62a and a grounded emitter/detector assembly 71b is provided for sensor 62b.Preferably, the emitter and detector in each assembly 71 are provided on the same side of theencoder arc 74; for example, they are provided on the upper side of the arc in the describedembodiment. The emitter portion emits a beam that impinges on the encoder arc 74. Encoder arc 15 74 includes a number of reflective line marks 75 which are very closely spaced together and are separated by a different, non-reflective material (the width and spacing of marks 75 are exaggeratedin Fig. 4a for clarity). Thus, the beam from the emitter is reflected to the detector of the assembly71 when a reflective mark is positioned at the point where the beam impinges the arc 74. When theencoder arc 74 moves such that a non-reflective portion is at the beam impinging location, the beam 20 is not reflected and the detector does not detect the beam. Thus, the detector senses each reflectivemark as it passes through the beam when the encoder arc 74 is moved on member 44 or 48. Thedetector outputs a sensor signal or pulse indicating each time a mark passes through the beam.Since sensor 62 in the described embodiment is a quadrature encoder, the detector preferablyincludes 2 individual spaced apart detectors providing four times the resolution, as is well known J5 to those skilled in the art. A suitable optical quadrature encoder which performs the functionsdescribed above is model HEDR-8100 from Hewlett Packard. Other types of emitter-detector pairscan also be used in other embodiments.
The more closely spaced the marks are, the finer the resolution of the sensor 62. Forexample, in the preferred embodiment, a mark spacing on the arc can be about 200-500 lines per 30 inch, providing four times that resolution in a quadrature encoder. By counting the number ofmarks passing through the beam, the position of the member 44 (for sensor 62a) or member 48(for sensor 62b) about axis A is known. The velocity and/or acceleration of the members 44 and48 can also be derived from the position data and timing information, as described above. Fromthe positions of the base member 48 and the base member 44 about axis A, the position of mouse 35 12 can be determined. 22 WO 98/24183 PCT/US97/21601
Alternate embodiments can include sensors 62a and/or 62b (and/or actuators 64) in differentpositions. For example, the emitter and detector can be on opposite sides of arc 74. In yet otherembodiments, other types of sensors can be used. For example, a single sensor can be used todetect motion in both degrees of freedom.
In Figure 4a, the mouse 12 (not shown) coupled to bearing 58 is approximately at a neutralposition approximately at the center of the mouse workspace where the members 44 and 46 areapproximately symmetrical in position with the members 48 and 50 across the axis extendingthrough axes A and D. Coil portions 80a and 80b of members 44 and 48 are approximatelycentered in the range of the optical encoder sensors 62a and 62b and within the range of magnetassemblies 88a and 88b. FIGURE 4c is a detailed top plan view of the mechanical portion 24 of the mouse interfacedevice 11 similar to Figure 4a and showing the linkage 40 in a different position. In Figure 4c, themouse 12 (not shown) and axis D have been moved in the x-y plane of the workspace of themouse. The movement of the mouse has been limited by the guide opening 76, where plate 59 hasengaged the sidewall of the upper-right comer area of guide opening 76 and stops any furthermovement in the forward y-direction and right x-direction. Linkage 40 and portions 80 ofmembers 44 and 48 have moved in a counterclockwise direction about axis A compared to theirpositions in Figure 4a. Sensor 62a has detected the movement of portion 80a by sensing themovement of the marks 75 on encoder arc 74a. Likewise, sensor 62b has detected the movementof portion 80b by sensing the movement of the encoder arc 74b. FIGURE 5 is a perspective view of an alternate embodiment 11 ’ of the mouse device 11 ofthe present invention. A cover portion of housing 26 is removed, showing the mechanical portionof interface 14. A mechanical linkage 40’ and a transducer system 41’ are shown. Mechanicallinkage 40’ is a planar 5-member linkage similar to the linkage 40 described above, and includes aground member (base) 92, a first base member 94 coupled to ground member 92, a second basemember 98 coupled to ground member 92, a link member 96 coupled to base member 94, and anobject member 100 coupled to link member 96, base member 98 and to mouse 12.
Ground member 92 of the linkage 40’ is a base for the support of the linkage and is coupledto or resting on a ground surface 34. In other embodiments, the ground member can be shaped inother ways and might only contact the ground surface directly under bearing 52, for example. Themembers of linkage 40’ are rotatably coupled to one another through the use of rotatable bearings.Base member 94 is rotatably coupled to ground member 92 by a grounded bearing 102 and canrotate about an axis A. Link member 96 is rotatably coupled to base member 94 by bearing 104and can rotate about a floating axis B, and base member 98 is rotatably coupled to ground member92 by bearing 102 and can rotate about axis A. Object member 100 is rotatably coupled to basemember 98 by bearing 106 and can rotate about floating axis C, and object member 100 is also 23 WO 98Z24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000214.tif" id="idf0014" />
rotatably coupled to link member 96 by bearing 108 such that object member 100 and link member96 may rotate relative to each other about floating axis D. In the described embodiment, linkmember 96 is coupled at its end to a mid-portion of object member 100 and mouse 12 is coupled tothe end of object member 100. In an alternate embodiment, the end of link member 96 can berotatably coupled to the end of base member 98. Preferably, the axes B, C, and D are allsubstantially parallel to each other. Since both base member 44 and base member 48 are rotatableabout the same axis A, a compact actuator design of the present invention can be provided, asdescribed in greater detail below. Also this configuration has the other advantages describedabove. 10 Mouse 12 in the preferred embodiment is coupled to object member 100 by a rotary bearing 110 so that the mouse may rotate about floating axis E and allow the user some flexible movementin the planar workspace. In alternate embodiments, motion about axis E may be sensed bysensors. In yet other embodiments, forces can be provided on mouse 12 about axis E usingactuators. In the preferred embodiment, a pad or other support is provided under mouse 12 to help 15 support the mouse 12, and is described in greater detail with respect to Figure 5a. In alternateembodiments, capstan drive mechanisms (not shown) can be provided to transmit forces andmotion between electromechanical transducers and the mouse 12.
Transducer system 41’ similar to transducer system 41 described above and includessensors 62’ and actuators 64’. The sensors 62’ collectively sense the movement of the mouse 12 20 in the provided degrees of freedom and send appropriate signals to the electronic portion ofinterface 14. Sensor 62a’ senses movement of link member 98 about axis A, and sensor 62b’senses movement of base member 94 about axis A. These sensed positions about axis A allow thedetermination of the position of mouse 12 as described above. Sensors 62’ are preferablygrounded optical encoders that sense the intermittent blockage of an emitted beam as described 5 above.
Transducer system 41’ also includes electromagnetic voice coil actuators 64’. The housingof a grounded portion of actuator 64b’ is rigidly coupled to ground member 92 and a movingportion of actuator 64b’ (preferably a coil) is integrated into the base member 94. The actuatortransmits rotational forces to base member 94 about axis A. The housing of the grounded portion 30 of actuator 64a’ is rigidly coupled to ground member 92 through the grounded housing of actuator64b’, and a moving portion (preferably a coil) of actuator 64a’ is integrated into base member 98.Actuator 64a’ transmits rotational forces to link member 98 about axis A. The combination of theserotational forces about axis A allows forces to be transmitted to mouse 12 in all directions in theplanar workspace as described above. 35 FIGURE 5a is a perspective view of a portion of the housing 26 of the alternate mouse interface device IT of the present invention shown in Figure 5. Grounded surface 120 of the 24 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000215.tif" id="idf0015" />
10 housing 26 preferably includes, in the preferred embodiment, a pad 122 or other supportpositioned on it. Pad 122 supports the bottom of mouse 12 on the grounded surface 120 when themouse is moved in its planar workspace. Since the linkage 40’ (or 40) is coupled to ground only atone location (axis A), the sideways position of the linkage creates an unbalanced weight that maynot be fully supported by the grounded bearing 102 (or 52). Pad 122 provides the requiredsupport to any pressure or force from the user in the z-direction on mouse 12 toward the groundsurface 34. In the described embodiment, the pad 122 surrounds an opening in housing 26 that ispositioned over the opening 124 in the ground member 92 that provides the limits to the workspaceof the mouse 12 using a guide pin, as described below (the ground member 92 is positioned underthe surface 120 in the described embodiment). Pad 122 can also be used in the device 11 of Figure 2.
The pad 122 can support the mouse 12 on any grounded surface, such as groundedmember 92 or grounded surface 34. The pad 122 is preferably made of Teflon or other smoothmaterial that allows the mouse 12 to slide substantially freely over surface 120 (or ground member 15 92 or grounded surface 34) with a small amount of friction. In other embodiments, other types of supports can be used that allow a small friction between mouse and surface, such as a roller,wheel, ball, etc. In other embodiments, a pad or other support can be coupled to the underside oflinkage 40’ or 40 such as at object member 100 or at bearing 110, or at other areas between mouse12 and grounded surface 34. 20 FIGURE 6a is a top plan view and FIGURE 6b is a side elevational view of the mouse device 11 ’ of Figure 5.
As seen in Figure 6b, the only connection of the four linkage members 94, 96, 98, and 100to the ground member 92 is through grounded bearing 102, where only base members 94 and 98are grounded at axis A. Bearings 104, 106, and 108 are floating and not connected to the ground 25 member. The single rotation point for the base members is important to the present invention sinceit allows the coils on the base members to sweep the same region, permitting the grounded portionof the actuators to be stacked as explained below. Bearing 102 actually includes two rotarybearings 102a and 102b, where bearing 102a is couples member 98 to ground member 92 andbearing 102b couples member 94 to ground member 92. 30 As described above, actuators 64’ are preferably electromagnetic voice coil actuators used to provide forces to the user object. Actuator 64a’ drives base member 98. Link member 98includes an integrated coil portion 80a on which a wire coil 82a is provided, similar to theembodiment of Figure 2. Voice coil actuator 64a’ also includes a magnet assembly 128a, which isgrounded and preferably includes four magnets 130a and a plate flux path 132a. Alternatively, two 35 magnets 130 with two polarities each can be included. As shown in FIGURE 6c, each magnet hasa polarity (north N or south S) on opposing sides of the magnet. Opposite polarities of magnets 25 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000216.tif" id="idf0016" />
130 face each other, such that coil 82a is positioned between opposing polarities on either side ofthe coil. In alternate embodiments, one or more magnets 130 can be provided on one side of coil82a, and the other magnet 130 on the opposite side of the coil 82a can be a piece of metal shapedsimilarly to the magnet that provides a flux return path for the magnetic field. Preferably, a smallamount of space is provided between the magnet surfaces and the coil 84a/member 98. Magneticflux guide 132a is provided as, in the described embodiment, two steel plates on either side of themagnets 130a and are used to house the actuator 64a’ to allow magnetic flux from magnets 130a totravel from one end of the magnets 130a to the other end.
The coil portion of actuator 64a is integrated in base member 48 and pivots about A as the10 base member so pivots. This feature is one of the advantages of the present invention, since a single bearing is provided for both the linkage and the actuator.
The magnetic fields from magnets 130a interact with a magnetic field produced from wirecoil 82a when current is flowed in coil 82a, thereby producing forces on member 98 as describedabove. A voice coil actuator can be provided for each degree of freedom of the mechanical 15 apparatus to which force is desired to be applied. The coil portion 80a and wire coil 82a are movedabout axis A until the member 98 contacts the stop supports 131 provided at each end of the rangeof motion of the member 98 about axis A (guide opening 124 and guide pin 125 may also limit therange of the actuators). Alternatively, the physical stops to movement can be omitted, where theforce on member 98 is gradually decreases and ceases as the coil portion 80a moves out from 20 between the magnets 130a.
Voice coil actuator 64b operates similarly to actuator 64a. In one embodiment, plates 130cprovided on the other side of member 44 are simply metal plates provided for flux path of themagnetic field from magnets 130b (or are omitted altogether); this is more efficient from amanufacturing perspective since the magnets 130a and 130b are obtained as a unit and can simply 25 be placed as is on the interface device 10 in the manufacturing process. In other embodiments,plates 130c can be magnets similar to magnets 130a and 130b; this provides a stronger magneticfield, allowing stronger forces using less power; however, the manufacturing/assembly process ofthe mouse interface device is more complex and expensive.
Magnet assembly 88b’ is preferably positioned below and coupled to magnetic assembly30 88a’ such that the grounded magnet assemblies are stacked. Magnetic flux guide 132b is coupled to magnetic flux guide 132a and a portion of the flux path between the two magnetic assemblies isshared by both actuators. This allows each actuator to gain a greater flux path. In addition, thestacked configuration can provide both magnetic assemblies as a single unit, providing a morecompact design, a simpler manufacturing design, less materials, and a simpler, less costly unit to 35 mount on the interface device. Both actuators 64a and 64b are also advantageously coupled toground. 26 WO 98/24183 PCTAJS97/21601
Linkage 40 is connected at a single rotation axis A for both base members 94 and 98. Sincethe base members 94 and 98 of the present invention also integrate the moving wire coil portion ofthe actuators, the moving portion of the actuators thus also rotate about the same axis A. The coils82a and 82b thus sweep the same region, with one coil over the o±er coil. The members 94 and98, in effect, act as guides for the movement of the coils. This single axis of rotation allows themagnet assemblies 88a’ and 88b’ to be stacked, which provides several advantages as explainedabove. The single axis rotation for both members 94 and 98 also allows the sensor arcs 74 tosweep out regions that are the same but on different points on the z-axis. This allows sensors 62a’and 62b’ to be stacked on each other to read the sensor arcs, providing an even moreadvantageous, compact design. A further advantage of integrating the coils 82 with the groundedbase members 44 and 48 is that mechanical advantage is gained from the length of the basemembers, where the base members 94 and 98 thus act as lever arms as described above.
In alternate embodiments, the mechanical linkage 40 or 40’ can be replaced by othermechanical linkages or structures which can provide desired degrees of freedom. For example,portions 80a and 80b of the members 98 and 94 can be linearly moved through encoders 62 andlinear actuators can provide forces in linear degrees of freedom of mouse 12. In otherembodiments in which rotary degrees of freedom are desired for a user object, linear degrees offreedom can be provided in the X and Y axes and can be converted to two rotary degrees offreedom for a user object 12 using a ball joint, pendulum, or other mechanism.
As in the embodiment of Figure 2, separate sensors 62’ arc preferably used to detect theposition of mouse 12 in its planar workspace, described in greater detail below. In alternateembodiments, the voice coil actuators 64a and 64b can also be used as sensors to sense the velocityof the members 44 and 48 as described above. FIGURES 7a and 7b are top plan views of mouse interface device 11 ’ showing theoperation of the device. In Figure 7a, the mouse 12 (not shown) coupled to member 100 at axis Eis approximately at a neutral position in which the members 94 and 100 are approximately paralleland the mouse is approximately in a center of its allowed workspace. Coil portions 80a and 80b ofmembers 94 and 98 are approximately centered in the range of the optical encoder sensors 62a’ and62b’ and within the range of magnet assemblies 88a’ and 88b’.
As shown in Figure 7a, a workspace guide opening 124 is provided in ground member 92to limit the movement of mouse 12 in the x-y plane. Guide opening 124 is a shallow opening inthe ground member 92 having sides which block movement of the mouse 12 beyond specifiedlimits. A guide pin 125 is coupled to the bearing 110 at axis E and extends down into the guideopening 124. Pin 125 contacts one or more sides of the opening 124 when the mouse is moved toa limit in a particular direction. As shown, guide opening 124 has relatively small dimensions,e.g., allowing the mouse a workspace of approximately 0.9” by 0.9”. This is typically adequate 27 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000217.tif" id="idf0017" />
workspace for the user to move the mouse and control a graphical object such as a cursor on adisplay screen. In other embodiments, differently-sized guide openings can be provided fordifferently-sized workspaces, or other types of stops or guides can be used to prevent movementpast predetermined limits. The guide opening 124 is shown as square shaped, but it can berectangular in other embodiments; for example, the dimensions of opening 124 can be made thesame aspect ratio as a standard computer monitor or other display screen. Figure 7a shows guidepin 125 approximately in the center of the guide opening 124.
In Figure 7b, the mouse 12 (not shown) and axis E have been moved in the x-y plane of theworkspace of the mouse. The movement of the mouse has been limited by the guide opening 124, 10 where guide pin 125 has engaged the sidewall of the upper-left comer area of guide opening 124and stops any further movement in the forward y-direction. Linkage 40’ and portions 80 ofmembers 94 and 98 have moved as shown, such that portion 80a of link member 98 has moved tothe left and portion 80b of base member 94 has moved to the right of their positions in Figure 7a.Sensor 62a’ has detected the movement of portion 80a by sensing the movement of the encoder arc 15 74a through the gap of the encoder 62a’. Likewise, sensor 62b’ has detected the movement of portion 80b by sensing the movement of the encoder arc 74b through the gap of encoder 62b’. FIGURE 7c is a detailed top plan view of portion 80a of link member 98 and encoder 62a’.Encoder arc 74 is preferably a transparent material, such as plastic, and preferably includes anumber of dark line marks 138 which are very closely spaced together. The more closely spaced 20 the marks 138 are, the finer the resolution of the sensor 62’, as described above. Sensor 62’ emitsabeam of electromagnetic energy, such as an infrared beam, from emitter 140, which is detectedacross the gap at detector 142 when a mark 138 is not positioned to block the beam, i.e., the beamcan travel through the transparent material of arc 74. When a mark passes under the beam, thebeam is blocked and this blockage is detected by the detector 142. In this way, the detector 142 5 outputs a sensor signal or pulse indicating each time a mark passes through the beam. Since sensor62 in the described embodiment is a quadrature encoder, detector 142 preferably includes 2individual spaced apart detectors providing four times the resolution, as is well known to thoseskilled in the art. By counting the number of marks passing through the beam, the position of themember 98 about axis A is known. The velocity and/or acceleration of the member 98 can also be 30 derived from the position data and timing information, as described above. Other types of emitter-detector pairs can also be used, such as the reflective encoder of Figure 2.
Portion 80b of base member 94 and encoder 62b function similarly to the portion 80a andencoder 62a described above. From the positions of the base member 98 and the base member 94about axis A, the position of mouse 12 can be determined. A suitable optical quadrature encoder 35 which performs the functions described above is model HEDS-9000 from Hewlett Packard. Inalternate embodiments, the encoder arc may be made opaque, while marks 138 are notches cut outof the arc that allow the beam from the emitter to pass through and be detected by detector 142. 28 WO 98/24183 PCT/US97/21601
Alternate embodiments can include sensors 62a and/or 62b (and/or actuators 64) in differentpositions. For example, FIGURE 7d shows an embodiment 11” of device 11 in which sensors62’ and actuators 64’ are placed in separate postions on opposite sides of linkage 40’. Theoperation of the device 11 ” is similar to the embodiments 11 and 11 ’ described above. 5 FIGURE 8a is a top plan view of an alternate embodiment 62’ ’ of the sensors 62a and 62b or sensors 62a’ and 62b’. In the embodiment of Figure 2, the encoder arc 74 provided on the edgeof member 44 and member 48 includes a plurality of spaced apart reflective line marks 75 whichare positioned perpendicularly to the direction of rotational travel of the arc 74. In the embodimentof Figure 8a, an arc 74’ is also provided in a location similar to the arc 74 of Figure 4a. For 10 example, arc 74’ is provided on the edge of member 48 (or member 44) at the edge of actuatorportion 80b. Arc 74’ is thus operative to rotate about axis A with member 48. Arc 74’ includes anopaque portion 144 and a transparent strip 146. Strip 146 is positioned such that, at end 143 of thearc 74’, the strip 146 is positioned at its closest point to axis A. At end 145 of the arc 74’, the strip146 is positioned at its furthest distance from axis A. The strip 146 extends between ends 143 and 15 145 in a continuous smooth curve as shown in Figure 8a. Strip 146 is referred to herein as “skewed,” indicating its distance from the center of rotation A varies along its length.
Sensor 62” also includes an emitter 147 and a detector 148, as more clearly shown in theside elevational view of FIGURE 8b. Emitter 147 is positioned above arc 74’ and can include aphoto diode or other source of a beam of electromagnetic energy. The beam is directed toward 20 detector 148, which is positioned on the other side of arc 74’. Detector 148 preferably is a lateraleffect photodiode, photosensitive strip, other type of differencing sensor, or other type of sensorthat can detect the location of the emitted beam on the detector. In the described embodiment, thedetector 148 need only detect the position of the beam in one dimension, e.g. parallel to an axis G.The emitter and detector positions can be reversed in alternate embodiments. 25 The sensor 62’ ’ operates as follows. A beam that is wide enough to cover the entire length of the detector is emitted from emitter 147. Transparent strip 146 allows a portion of the beam topass through at the position of the strip above the detector 148, while the opaque portion 150blocks the other portions of the beam. The detector senses the location of the transmitted portion ofthe beam through the strip on the detector. When the arc 74’ moves, the strip 146 changes its 30 position along axis G, so that a different position of the transmitted portion of the beam is detectedon detector 148. Thus, each incremental position of arc 74’ provides the beam on a slightlydifferent location on the detector 148, allowing the detector to sense the position of the arc 74’ andthe member 48. For example, in the position of Figure 8a, the strip 146 is located at about thecenter position of the detector on axis G. In the dashed line position 149 of the arc 74’, the strip 35 146 and beam is positioned much closer to the end of the detector 148. By transmitting this data to the microprocessor or host computer, the position of the arc and member 48 can be determined 29 WO 98/24183 PCT/US97/21601 based on the known movement range of the arc and the corresponding locations of the beam at theextreme positions of that range.
Sensor 62” may also be used in device 11’ of Figure 5. In an alternate embodiment,sensor 62” can use reflection similar to the sensor 62 described with reference to Figure 4a. Thus,both emitter and detector can be positioned on the same side of arc 74’. The opaque portion 144can be implemented as transparent or absorbent material, while the transparent strip 146 can beimplemented as a reflective strip similar to the line markings 75 of Figure 4a. Thus, the beam fromthe emitter 147 will be reflected to the detector 148 when the beam impinges on the strip 146,where the location of the strip along axis G will cause the reflected beam to have a unique detectedposition on the detector 148 based on the position of the arc 74’ about axis A. Portions of theemitted beam that impinge on the absorbent or transparent portions 144 will not be reflected andthus not detected by detector 148. FIGURE 8c is a diagrammatic illustration showing an alternate embodiment of a sensorincluding a rotary sensor 152 with a friction wheel. Figure 8c shows portion 80a of member 48,which rotates about axis A. Instead of optical encoder sensor 64a or 64a’, rotary sensor 152 canbe used, which includes a grounded shaft 154, a roller 156, an encoder wheel 158, an emitter 160,and a detector 162. Roller 156 is preferably made of a material having high friction and is rigidlycoupled to shaft 154 such that the surface of the roller 156 frictionally contacts the circular edge155 of member 48. When member 48 rotates about axis A, roller 156 rotates shaft 154 about anaxis extending through the shaft. Encoder wheel 158 is rigidly coupled to shaft 154 offset from theedge 155 of the member 48 and rotates when shaft 154 rotates. Included on encoder wheel 158 aremarks 159 spaced equally around the perimeter of the encoder wheel. The edge of the encoderwheel passes between grounded emitter 160 and grounded sensor 162. Similar to the opticalencoder embodiment described above, the encoder wheel can be made transparent, so that a beamemitted from emitter 160 is blocked from reaching detector 162 only when a mark 159 passesbetween the emitter and detector. Thus, detector 162 may send a signal or a count indicating howmany marks pass by the detector. From this information, the position of the member 48 can bederived. Alternatively, the encoder wheel 158 may be made opaque, while marks 159 are notchescut out of foe wheel 158 that allow the beam from the emitter to pass through and be detected bydetector 162.
The embodiment of Figure 8c is advantageous in that the marks 159 need not be as closelyspaced as the marks 98 of the embodiment of Figures 4b-c, since several rotations of encoderwheel 158 are completed for the range of motion of member 48 about axis A. This gearing up ofthe sensor resolution allows a less accurate, and less costly, procedure, in producing the sensor. Adisadvantage of this embodiment is that more moving parts are required, and the friction betweenroller 156 and edge 155 can wear down over time, causing slippage and inaccurate positiondetection. 30 WO 98/24183 PCT/US97/21601 FIGURE 8d is a perspective view of another alternate embodiment of a sensing systemincluding a planar sensor 162 for use with the present invention. Sensor 162 includes a planarsensor or “touch pad” 161 having rectangular sensing area and a pointer 162. Planar sensor 161 ispreferably positioned somewhere beneath linkage 40 or 40’; it is shown approximately at theposition of opening 124 in Figure 8d, but can be provided in other positions as well. Pointer 162is coupled to bearing 108 at axis D and extends down to contact the tablet 161, and can be a plasticor metal nub, for example. Pointer 162 can also be placed at other bearings or positions of thelinkage in other embodiments. The planar sensor 161 can also be placed within opening 124 sothat pointer 162 acts as guide pin 125.
Planar sensor 161 is functional to detect the x and y coordinates of the tip 163 of pointer162 on the tablet. Thus, as the mouse 12 is moved in its planar workspace, pointer 162 is movedto different locations on planar sensor 161. The x-y position of the local frame 30 on planar sensor161 is transformed to the host frame 28 and the user controlled graphical object is displayedaccordingly.
In the preferred embodiment, planar sensor 161 can also sense the pressure of tip 163 onthe tablet, i.e., in the z-direction. For example, the Versapoint Semiconductive Touch Pad fromInterlink is a suitable planar sensor that detects the x-y position as well as pressure or force in the z-direction. The pressure information can be useful in some embodiments for a variety of purposes.A first use is for a safety switch. The pressure information can be used to determine whether theuser is currently placing weight on the user object. If the user is not placing weight, then theactuators can be deactivated for safety reasons, as described below with reference to Figure 1 lb. Asecond use is for the indexing function, described below with reference to Figure 1 lc. Both thesefunctions might be performed only if the detected pressure in the z-direction is above or below apredetermined threshold (where different thresholds can be used for safety switch and indexing, ifdesired). A third use is to use the pressure information to modify the output forces on user object 12.One use of pressure information is to control a friction force on the user object felt by the user. Forexample, if the user moves a controlled cursor over a frictional region, the force opposingmovement across the region is output on the user object. If the pressure information in the z-axis isknown from planar sensor 161, this pressure information can help determine the magnitude ofsimulated friction the user experiences as the cursor moves across the region. This is becausefriction in a lateral direction is a function of the force normal to the surface, which is the force in thez-direction from the user. If the user is exerting a large amount of pressure down on the userobject, then a large friction force is felt, and vice versa, as if a real object were being scraped alongthe surface. This feature can be especially useful in drawing programs, where the amount ofcontrol in moving a virtual pen tip can be greatly enhanced if the user is able to input pressureinformation in the z-direction and control the amount of friction on the pen tip as it draws on the 31 WO 98/24183 PCT/US97/21601 screen. Thus, pressure information in the z-axis can enhance the realism of force sensations outputby the device.
The pressure information can also be used to control a damping force. A damping force istypically provided as a force proportional to velocity of the user object, where a coefficient ofdamping b is a proportionality constant. The damping coefficient can be modulated based on thesensed z-axis force exerted by the user, so that the experienced damping force is based on thevelocity of the user object in the x-y plane as well as the force on the user object in the z-direction,where a larger z-axis force provides a larger damping coefficient and thus a larger damping force.The pressure information can also be used to control a texture force. One way to provide textureforces is to spatially vary a damping force, i.e., a damping force that varies on and off according touser object position, such as a series of bumps. The damping coefficient b can be varied to createthe texture effect, where b is made high, then low, then high, etc. If pressure in the z-axis isavailable, the damping coefficients can be all globally increased or decreased by the same amountbased on the amount of pressure. This causes a high pressure in the z-axis to provide a strongertexture force, and vice-versa. Texture can also be based on stiffness (k) as in a spring; the stiffnesscan be globally varied based on pressure information as with the damping texture force. Othertypes of forces may also be enhanced or modified if such pressure information is known.
In yet other embodiments, lateral effect photo diode sensors can be used in the mouseinterface system 10. For example, such a photo diode sensor can include a rectangular or other-shaped detector positioned in place of the detector or emitter of sensors 62. A beam emitter that iscoupled to ground member 42 or to grounded surface 34 can emit a beam of electromagneticradiation which impinges on the detector. The position of the detector, and thus the rotatingmember, is known from the position of the beam on the detector area. The detector can bepositioned on other areas or components of the linkage 40 or 40’ in other embodiments. In otherembodiments, the detector can be coupled to ground and the emitter can be coupled to the movingmember (as in Fig. 8g and 8h below). FIGURES 8el and 8e2 are perspective and top plan views, respectively, showing adifferent lateral effect diode sensor 166 including a light pipe. A stationary emitter (e.g., a lightemitting diode or LED) 168 positioned on ground member 42 or 92 or other grounded surface 34emits a beam of electromagnetic energy. A light pipe 170 is a rigid membef having a solid,transparent interior and two ends 171 and 172. End 171 is positioned over emitter 168 such thatthe emitted beam travels into the pipe 170. The beam travels through the light pipe and stays insidethe pipe due to the index of refraction of the pipe material and angle of incidence of the beam, asshown by dashed line 173; the operation of light pipes is well known to those skilled in the art.The beam is reflected of 45-degree angled surfaces in the pipe and directed out of opening 172.Beam 174 is shown as a long narrow beam in Fig. 8el, but can alternatively be provided as acircular or other shaped beam. The beam 174 is directed onto a detector 176, which is preferably a 32 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000218.tif" id="idf0018" />
photo sensitive diode or similar detector, and is grounded similarly to emitter 168. Emitter 168 anddetector 176 are preferably provided on the same grounded printed circuit board for a low costembodiment. The beam 174 can cover a wider area than the detection area 178 of the detector 176,as shown. The detector outputs an electrical signal indicating the location of the beam on the area178, as is well known to those skilled in the art.
In the described embodiment, light pipe 170 is rigidly coupled to a moving member, suchas member 44 or member 48, at member 180. The light pipe is rotatable about axis F,, which inthis embodiment is not aligned with the emitter 168. Axis F, can be any of the axes of rotation ofthe members of linkage 40, 40’, or 40”, including axes A, B, C, or D. Alternatively, the light 10 pipe 166 can be placed over member 48 so that openings 171 and 172 are on either side of themember 48 and axis FI is axis A. When the coupled member moves about axis F,, the light pipealso rotates about axis F,. The beam 174 on detector 176 thus moves as well and the rotatedposition of the member can be determined by the detected position of the beam on the detector. Inone embodiment, the light pipe moves about 15 degrees in either direction about axis F, (depending 15 on the movement range of the member to which it is coupled). The wide-mouthed shape ofopening 171 allows the emitted beam 174 to be transmitted through the pipe regardless of thepipe’s position over the emitter. A fiber optic cable or flexible pipe can also be used in otherembodiments for light pipe 170. One advantage to this sensor embodiment is that both emitter anddetector are grounded, thus greatly simplifying the assembly and reducing cost of the device since 20 no wires need be routed to an emitter or detector positioned on a moving member of the linkage. FIGURES 8f 1 and 8f2 are perspective and top plan views, respectively, of an alternateembodiment 182 of the light pipe sensor of Figs. 8e I and 8e2. Sensor 182 includes an emitter184, a light pipe 186, and a detector 188 which operate substantially the same as these componentsin Fig. 8el and 8e2. A centroid location 191 of the beam can be detected by the detector 188. 25 Light pipe 186 is rigidly coupled to a moving member such as member 44 or 48 and may rotateabout axis F2 with the coupled member, where axis F2 may be any of the axes of rotation of thelinkage 40, 40’ or 40”. In this embodiment, however, the beam is emitted from emitter 184coaxially with the axis of rotation F2 of the light pipe. Since the light pipe may rotate about the axisof the emitted beam, the opening 190 of light pipe 186 can be made narrower than the wide 30 opening 171 of the light pipe 170. In addition, this configuration has the advantage over light pipe170 in that the beam 192 directed at detector 188 is more uniform throughout the range of motionof the pipe, since the emitter source 184 does not change its position relative to the opening 190 ofthe pipe. FIGURE 8g is a perspective view of another alternate embodiment of a sensor 193 for use 35 with the present invention. An emitter 194 is mounted to a rotating arm 195 that is in tum rigidlycoupled to a moving member such as member 44 or 48 (or 94, 98) by a coupling 196. Rotatingarm 195 thus rotates about an axis F3 when the connected member of the linkage rotates, where 33 WO 98/24183 PCT/US97/21601 axis F3 is the axis of rotation of the connected member and may be any of the axes of rotation of thelinkage 40,40’ or 40”. In the embodiment shown, a directed beam 198 of electromagnetic energyis shaped substantially circular and is directed at a grounded detector 197 which is similar to thedetectors described above. The directed beam thus sweeps over the detecting area of the detector197 when the arm 195 and the connected member rotate, allowing the detector to sense the positionof the member. The directed beam can be of other shapes in other embodiments. Rotating arm195, in alternate embodiments, can be part of an existing member of the linkage 40, 40’ or 40”,e.g. an extension of a member of the linkage rather than a separate component. FIGURE 8h is a perspective view of an alternate embodiment 193’ of the sensor 193 ofFigure 8g. Embodiment 193’ includes a rotating arm 195 and detector 197 as described in Figure8g. In addition, a flexible fiber optic cable 199 or similar flexible light guide is coupled betweenthe emitter 194 and the arm 195. Fiber optic cable 199 guides a light beam 189 from emtiter 194and along the cable’s length, where the transmission of light through such a cable is well known tothose skilled in the art. The beam is guided to arm 195, where the beam 189 is directed ontodetector 197 as in Figure 8g. The cable 199 may flex as the arm 195 rotates about axis F3. Thisembodiment allows the emitter 194 to be grounded as well as the detector 197, thus simplifyingassembly and reducing the manufacturing cost of the device. FIGURE 9a is a perspective view and FIGURE 9b is a side elevational view of oneembodiment of a ball bearing assembly 200 suitable for use for rotatably connecting the membersof linkage 40, 40', or 40” of the present invention. The linkage 40” of the alternate embodimentof Figure 7d is shown in Figure 9a; however, the bearing assembly 200 can also be used in theembodiment of Figures 2 and 5. The ball bearing assembly 200 includes a row 206 of individualballs 202 that ride in V-shaped grooves 204 (bearing races) which are an integral part of eachmember. Figure 9b shows a side elevational view of one implementation of the bearing assembly200 about the grounded axis A of the alternate embodiment of Figure 7d. This bearing assemblyincludes several layers 208 of balls 202, where a first layer 208a of balls 202a is positioned in aring within V-shaped groove 204a between the ground member 92 and the base member 94. Onthe base member 94 is positioned layer 208b of balls 202b in a ring within V-shaped groove 204b.Base member 98 is positioned over layer 208b, and a top cap layer 208c of balls 202c within V-shaped groove 204c is positioned over the base member 98. The entire bearing assembly 200 isthen preloaded with a screw 210 or spring loading mechanism to keep all the components of thebearing assembly tightly coupled together. Advantages of the bearing assembly 200 include lowcost of manufacture since the parts are widely available and inexpensive, and high stiffness andcompactness. FIGURE 9c is a perspective view of an alternate embodiment for bearings of the linkage40, 40’ or 40”. In the described embodiment of Figure 9c, snap bearing 216 is provided forbearing 106, and snap bearing 218 is provided for bearing 108. One part of bearing 216 is a 34 WO 98/24183 PCT/US97/21601 cylindrical boss 220 included as part of member 100, which mates with cylindrical cavity 222included in member 98. A slot 217 in member 98 which extends from the cylindrical cavity 222creates a spring that allows the sides of the cavity 222 to grab the boss 220 with a predeterminedamount of force. The boss 220 can be made of a slippery plastic material such as Delrin, while thecavities can be made of metal as is member 98. Likewise, one part of bearing 218 is a cylindricalboss 219 included as part of member 100 which mates with cylindrical cavity 221 included inmember 96. A slot 223 in member 446 extends from the cavity 221 and creates a spring force thatgrabs boss 219 with a predetermined amount of force. In addition, upper and lower flanges, orother devices, can be provided on the cylindrical bosses 220 and 219 to prevent the elements ofbearings 216 and 218 from sliding apart along axes C and D, i.e., to keep the members of thelinkage substantially in the same plane. Similar bearings to 216 and 218 can be used for the otherbearings of linkage 40 or 40’.
The bearings 216 and 218 use the natural springiness (elasticity) of elements 96 and 98 tohold the elements 98, 100, and 96 together, and thus can provide a connection having close to zeroplay due to the created spring force. Preferably, these bearings can be simply snapped together toprovide a low cost, easy-to-assemble linkage 40, 40’ or 40”. FIGURES 9d 1 and 9d2 are perspective views of an alternate embodiment 224 of the snapbearings 216 and 218 of Figure 9c. As shown in Figure 9d 1, bearing 224 includes a fork 225provided, in the example shown, on member 98 (the bearing 224 can be provided on othermembers of linkage 40, 40’ or 40” as well). Fork 225 includes two prongs 226 that each includea cavity 227 for receiving a corresponding assembly of bearing 224 (not shown in Figure 9d 1).Like the snap bearings 216 and 218 of Figure 9c, a slot 228 extends from each of the cavities 227on the prongs 226. In Figure 9d 1, bearing 108 on member 96 is a standard bearing having twoprongs for holding a corresponding portion (not shown) of a bearing on the attached member.
In Figure 9d2, member 100 has been attached to members 96 and 98. Bearing 224 couplesmember 98 with member 100. A bearing assembly 229 of member 100 includes two cylindricalbosses 230 at either end which “snap” into (mate with) the prongs 226 of the fork 225 on member98 and is rigidly held by a predetermined amount of spring force caused by slot 228 and theelasticity of the prong material. Member 100 is attached to member 96 using a standard bearing108; in other embodiments, bearing 108 can be a bearing similar to bearing 224. Bearing 224 canbe made of similar materials as described in Figure 9c. FIGURE 9el is a top plan view of bearing 224 where assembly 229 is mated with fork225. As shown, the cylindrical cavity 227 preferably has a diameter dl to which the boss 230 ofassembly 229 is matched in size. The forward portion 231 of cavity 227 preferably is narrowerthan the diameter d, of the cavity 227 by an amount d2 on each side of the portion 231. This allows 35 WO 98/24183 PCT/US97/21601 the boss 230 of the assembly 229 to fit more snugly in the mating portion 232 of the cavity andholds the boss 230 in place within the mating portion of the cavity 227. FIGURE 9e2 is a side partial sectional view of bearing assembly 229 of the bearing 224.Assembly 229 preferably includes a bearing 232 and a bearing 234 which may rotate with respect 5 to each other about axis J (which may be any of the axes A, B, C, D, or E of the linkage 40, 40’,or 40”). Bearing 232 includes the boss 230 which is coupled to inner shaft 233, which in turn iscoupled to inner races 235a and 235b of ball bearing grooves 237a and 237b, respectively.Bearing 234 includes outer housing 239 which is coupled to outer races 241a and 241b of ballbearing grooves 237a and 237b, respectively. A number of balls 243 are provided in grooves 237a 10 and 237b and operate as a standard ball bearing or as bearing 200 of Figure 9a, i.e., balls 243move in grooves 237a and 237b (or the races 235 and 241 move relative to the balls) as the twobearings 232 and 234 rotate relative to each other. Assembly 229 is preloaded with adhesive orother fasteners to create a tight assembly. Thus, in the example of Figures 9dl and 9d2, themember 98 is coupled to the boss 230 and inner races 235a and 235b through fork 225, while the 15 member 100 is coupled to the outer housing 234 and outer races 241a and 241b, thus allowingmember 98 and member 100 to rotate about axis C relative to each other. Bearing 224 provideslow friction bearing and has very little play.
Bearing 224 is also well-suited to be used at axis A of the linkage 40, 40’ or 40”, wheremembers 94 and 98 are both rotatably coupled to ground member 92 or ground 34 in the described 20 embodiment such that member 98 is positioned above member 94. Bearing 224 can be stacked onanother bearing 224 at axis A, where the lower boss 230a of the upper assembly 229 attached tomember 98 can be inserted into the upper boss 230b of the lower assembly 229 attached to member94, providing a rigid inner shaft between both assemblies 229 concentric around axis A. An emptyshaft can be provided through the assemblies 229 to allow a screw or other fastener to attach the 25 assemblies 229 to ground member 92. FIGURE 9f 1 is a perspective view of another alternate bearing 234 which can be used forsome or all of the bearings of linkage 40, 40’ or 40”. For example, the bearing 234 can be usedfor bearing 56 or 58 of the embodiment of Figure 2. Bearing 234 includes a V-shaped notch 236which mates with a V-shaped edge 238. The angle between the sides of notch 236 is greater than 30 the angle between the sides of edge 238 by an amount greater than or equal to the desired range ofangular motion provided by the bearing 234. In addition, a web element 240 is provided in thecenter of notch 236 which corresponds and mates with a notch 242 in V-shaped edge 238. Theweb element 240 and notch 242 prevent the elements of the linkage connected by bearing 234 frommoving out of substantially planar relation to each other. FIGURE 9f2 shows the bearing 234 35 when the elements of the linkage have been connected together. The bearing provides smoothrotational motion of the elements with respect to each other about axis G with very little friction.The bearing 234 can be held together, for example, by a spring element 244 (shown symbolically) 36 WO 98/24183 PCT/US97/21601 connected between two posts 246 on the connected elements. Other types of connections canpreload the bearing to keep its parts together in other embodiments. FIGURE 10 is a block diagram illustrating the electronic portion of interface 14 and hostcomputer 18 suitable for use with the present invention. Mouse interface system 10 includes a host 5 computer 18, electronic interface 26, mechanical portion 24, and mouse or other user object 12.Electronic interface 26, mechanical portion 24, and mouse 12 can also collectively be consideredthe “force feedback interface device” 11 that is coupled to the host computer.
As explained with reference to Figure 1, computer 18 is preferably a personal computer,workstation, video game console, or other computing or display device. Host computer system 18 10 commonly includes a host microprocessor 250, random access memory (RAM) 252, read-onlymemory (ROM) 254, input/output (I/O) electronics 256, a clock 258, a display device 20, and anaudio output device 260. Host microprocessor 250 can include a variety of availablemicroprocessors from Intel, AMD, Motorola, or other manufacturers. Microprocessor 250 can besingle microprocessor chip, or can include multiple primary and/or co-processors. Microprocessor
15 250 preferably retrieves and stores instructions and other necessary data from RAM 252 and ROM 254 as is well known to those skilled in the art. In the described embodiment, host computersystem 18 can receive sensor data or a sensor signal via a bus 262 from sensors of system 10 andother information. Microprocessor 250 can receive data from bus 262 using I/O electronics 256,and can use I/O electronics to control other peripheral devices. Host computer system 18 can also 20 output commands to interface device 11 via bus 262 to cause force feedback for the interfacesystem 10.
Clock 258 is a standard clock crystal or equivalent component used by host computer 18 toprovide timing to electrical signals used by host microprocessor 250 and other components of thecomputer system 18. Clock 258 is accessed by host computer 18 in the control process of the 25 present invention to provide timing information that may be necessary in determining force orposition, e.g., calculating a velocity or acceleration from position values.
Display device 20 is described with reference to Figure 1. Audio output device 260, suchas speakers, can be coupled to host microprocessor 250 via amplifiers, filters, and other circuitrywell known to those skilled in the art. Host processor 250 outputs signals to speakers 260 to 30 provide sound output to the user when an “audio event” occurs during the implementation of thehost application program. Other types of peripherals can also be coupled to host processor 250,such as storage devices (hard disk drive, CD ROM drive, floppy disk drive, etc.), printers, andother input and output devices.
Electronic interface 26 is coupled to host computer system 18 by a bi-directional bus 262. 35 The bi-directional bus sends signals in either direction between host computer system 18 and the interface device 11. Bus 262 can be a serial interface bus providing data according to a serial37 WO 98/24183 PCT/US97/21601 communication protocol, a parallel bus using a parallel protocol, or other types of buses. Aninterface port of host computer system 18, such as an RS232 serial interface port, connects bus262 to host computer system 18. In another embodiment, an additional bus can be included tocommunicate between host computer system 18 and interface device 11.
One preferred serial interface bus used in the present invention is the Universal Serial Bus(USB). The USB standard provides a relatively high speed serial interface that can provide forcefeedback signals in the present invention with a high degree of realism. USB can also sourcepower to drive actuators 64 and other devices of the present invention. Since each device thataccesses the USB is assigned a unique USB address by the host computer, this allows multipledevices to share the same bus. In addition, the USB standard includes timing data that is encodedalong with differential data.
Electronic interface 26 includes a local microprocessor 130, local clock 132, local memory134, sensor interface 136, and actuator interface 138. Interface 26 may also include additionalelectronic components for communicating via standard protocols on bus 120. In variousembodiments, electronic interface 26 can be included in mechanical portion 24, in host computer18, or in its own separate housing. Different components of interface 26 can be included in portion24 or host computer 18 if desired.
Local microprocessor 270 preferably coupled to bus 262 and may be closely linked tomechanical portion 24 to allow quick communication with other components of the interfacedevice. Processor 270 is considered “local” to interface device 11, where “local” herein refers toprocessor 270 being a separate microprocessor from any processors 250 in host computer 18.“Local” also preferably refers to processor 270 being dedicated to force feedback and sensor I/O ofthe interface system 10, and being closely coupled to sensors and actuators of the mechanicalportion 24, such as within the housing of or in a housing coupled closely to portion 24.Microprocessor 270 can be provided with software instructions to wait for commands or requestsfrom computer host 18, parse/decode the command or request, and handle/control input and outputsignals according to the command or request. In addition, processor 270 preferably operatesindependently of host computer 18 by reading sensor signals and calculating appropriate forcesfrom those sensor signals, time signals, and force processes selected in accordance with a hostcommand, and output appropriate control signals to the actuators. Suitable microprocessors foruse as local microprocessor 270 include the MC68HC711E9 by Motorola and the PIC16C74 byMicrochip, for example. Microprocessor 270 can include one microprocessor chip, or multipleprocessors and/or co-processor chips. In other embodiments, microprocessor 270 can includedigital signal processor (DSP) functionality.
For example, in one host-controlled embodiment that utilizes microprocessor 270, hostcomputer 18 can provide low-level force commands over bus 262, which microprocessor 270 38 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000219.tif" id="idf0019" />
10 directly transmits to the actuators. In a different local control embodiment, host computer system18 provides high level supervisory commands to microprocessor 270 over bus 262, andmicroprocessor 270 manages low level force control loops to sensors and actuators in accordancewith the high level commands and independently of the host computer 18. In the local controlembodiment, the microprocessor 270 can process inputted sensor signals to determine appropriateoutput actuator signals by following the instructions of a “force process” that may be stored in localmemory and includes calculation instructions, formulas, force magnitudes, or other data. Theforce process can command distinct force sensations, such as vibrations, textures, jolts, or evensimulated interactions between displayed objects. An “enclosure” host command can also beprovided, which causes the microprocessor to define a box-like enclosure in a graphicalenvironment, where the enclosure has sides characterized by wall and texture forces. The host cansend the local processor a spatial layout of objects in the graphical environment so that themicroprocessor has a mapping of locations of graphical objects like enclosures and can determineinteractions with the cursor locally. 15 Sensor signals used by microprocessor 270 are also reported to host computer system 18, which updates a host application program and outputs force control signals as appropriate. Forexample, if the user moves mouse 12, the computer system 18 receives position and/or othersignals indicating this movement and can move a displayed cursor in response. In an alternateembodiment, no local microprocessor 270 is included in interface system 10, and host computer 18 20 directly controls and processes all signals to and from the interface 26 and mechanical portion 24. A local clock 272 can be coupled to the microprocessor 270 to provide timing data, similarto system clock 258 of host computer 18; the timing data might be required, for example, tocompute forces output by actuators 64 (e.g., forces dependent on calculated velocities or other timedependent factors). In alternate embodiments using the USB communication interface, timing data 25 for microprocessor 130 can be retrieved from the USB interface. Local memory 274, such asRAM and/or ROM, is preferably coupled to microprocessor 270 in interface 26 to store instructionsfor microprocessor 270 and store temporary and other data. Microprocessor 270 may also storecalibration parameters in a local memory 274 such as an EEPROM. As described above, link ormember lengths or manufacturing variations and/or variations in coil winding or magnet strength 30 can be stored. If analog sensors are used, adjustments to compensate for sensor variations can beincluded, e.g. implemented as a look up table for sensor variation over the user object workspace.Memory 274 may be used to store the state of the force feedback device, including a referenceposition, current control mode or configuration, etc.
Sensor interface 276 may optionally be included in electronic interface 26 to convert sensor 35 , signals to signals that can be interpreted by the microprocessor 270 and/or host computer system18. For example, sensor interface 276 can receive signals from a digital sensor such as an encoderand convert the signals into a digital binary number representing the position of a member or 39 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000220.tif" id="idf0020" />
component of mechanical apparatus 14. An analog to digital converter (ADC) in sensor interface276 can convert a received analog signal to a digital signal for microprocessor 270 and/or hostcomputer 18. Such circuits, or equivalent circuits, are well known to those skilled in the art.Alternately, microprocessor 270 can perform these interface functions without the need for aseparate sensor interface 276. Or, sensor signals from the sensors can be provided directly to hostcomputer system 18, bypassing microprocessor 270 and sensor interface 276. Other types ofinterface circuitry 276 can also be used.
Actuator interface 278 can be optionally connected between the actuators 64 andmicroprocessor 270. Interface 278 converts signals from microprocessor 270 into signals 10 appropriate to drive the actuators. Interface 278 can include power amplifiers, switches, digital toanalog controllers (DACs), and other components. Such interfaces are well known to those skilledin the art. In alternate embodiments, interface 278 circuitry can be provided within microprocessor270 or in the actuators.
In the described embodiment, power is supplied to the actuators 64 and any other 15 components (as required) by the USB. Since the electromagnetic actuators of the describedembodiment have a limited physical range and need only output, for example, about 3 ounces offorce to create realistic force sensations on the user, very little power is needed. A large powersupply thus need not be included in interface system 10 or as an external power adapter. Forexample, one way to draw additional power from the USB is to configure device 11 to appear as 20 more than one peripheral to host computer 18; for example, each provided degree of freedom ofmouse 12 can be configured as a different peripheral and receive its own allocation of power.Alternatively, power from the USB can be stored and regulated by device 11 and thus used whenneeded to drive actuators 64. For example, power can be stored over time and then immediatelydissipated to provide a jolt force to the user object 12. A battery or a capacitor circuit, for example, 25 can store energy and discharge or dissipate the energy when power is required by the systemand/or when enough power has been stored. Alternatively, a power supply 280 can optionally becoupled to actuator interface 278 and/or actuators 64 to provide electrical power. Power supply280 can be included within the housing of device 11, or can be provided as a separate component,for example, connected by an electrical power cord. The power storage embodiment described 30 above, using a battery or capacitor circuit, can also be used in non-USB embodiments to allow asmaller power supply 280 to be used.
Mechanical portion 24 is coupled to electronic portion 26 and preferably includes sensors62, actuators 64, and linkage 40. These components are described in detail above. Sensors 62sense the position, motion, and/or other characteristics of mouse 12 along one or more degrees of 35 freedom and provide signals to microprocessor 270 including information representative of thosecharacteristics. Typically, a sensor 62 is provided for each degree of freedom along which mouse12 can be moved, or, a single compound sensor can be used for multiple degrees of freedom. 40 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000221.tif" id="idf0021" />
Example of sensors suitable for embodiments described herein are optical encoders, as describedabove. Linear optical encoders may similarly sense the change in position of mouse 12 along alinear degree of freedom. Alternatively, analog sensors such as potentiometers can be used. It isalso possible to use non-contact sensors at different positions relative to mechanical portion 24,such as Hall effect magnetic sensors for detecting magnetic fields from objects, or an optical sensorsuch as a lateral effect photo diode having an emitter/detector pair. In addition, velocity sensors(e.g., tachometers) for measuring velocity of mouse 12 and/or acceleration sensors (e.g.,accelerometers) for measuring acceleration of mouse 12 can be used. Furthermore, either relativeor absolute sensors can be employed. 10 Actuators 64 transmit forces to mouse 12 in one or more directions along one or more degrees of freedom in response to signals output by microprocessor 270 and/or host computer 18,i.e., they are “computer controlled.” Typically, an actuator 64 is provided for each degree offreedom along which forces are desired to be transmitted. Actuators 64 can include activeactuators, such as linear current control motors, stepper motors, pneumatic/hydraulic active 15 actuators, a torquer (motor with limited angular range), a voice coil actuator as described in theembodiments above, and/or other types of actuators that transmit a force to an object. Passiveactuators can include magnetic particle brakes, friction brakes, or pneumatic/hydraulic passiveactuators, and generate a damping resistance or friction in a degree of motion. For example, anelectrorheological fluid can be used in a passive damper, which is a fluid that has a viscosity that 20 can be changed by an electric field. Likewise, a magnetorheoiogical fluid can be used in a passivedamper, which is a fluid that has a viscosity that can be changed by a magnetic field. In yet otherembodiments, passive damper elements can be provided on the bearings of the linkage. Inaddition, in voice coil embodiments, multiple wire coils can be provided, where some of the coilscan be used to provide back EMF and damping forces. In some embodiments, all or some of 25 sensors 62 and actuators 64 can be included together as a sensor/actuator pair transducer.
Mechanism 40 is preferably the five-member linkage 40, 40’ or 40’ ’ as described above,but can also be one of several types of mechanisms. Other input devices 282 can optionally beincluded in system 10 and send input signals to microprocessor 270 and/or host computer 18.Such input devices can include buttons, such as buttons 15 on mouse 12, used to supplement the 30 input from the user to a GUI, game, simulation, etc. Also, dials, switches, voice recognitionhardware (with software implemented by host 18), or other input mechanisms can be used.
Safety or “deadman” switch 284 is preferably included in interface device to provide amechanism to allow a user to override and deactivate actuators 64, or require a user to activateactuators 64, for safety reasons. In the preferred embodiment, the user must continually activate or 35 close safety switch 284 during manipulation of mouse 12 to activate the actuators 64. If, at anytime, the safety switch is deactivated (opened), power is cut to actuators 64 (or the actuators areotherwise deactivated) while the safety switch is open. For example, one embodiment of safety 41 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000222.tif" id="idf0022" />
switch is a mechanical or optical switch located on mouse 12 or on a convenient surface of ahousing 21 to sense blockage of the sensor by contact of the user. Other types of safety switches284 can also be used, such as an electrostatic contact switch can be used to sense contact of theuser. The safety switch can be provided between the actuator interface 278 and actuators 64 or theswitch can be placed elsewhere. In some embodiments, the state of the safety switch is provided tothe microprocessor 270 or to the host 18.
In some embodiments of interface system 10, multiple mechanical apparatuses 102 and/orelectronic interfaces 100 can be coupled to a single host computer system 18 through bus 120 (ormultiple buses 120) so that multiple users can simultaneously interface with the host application 10 program (in a multi-player game or simulation, for example). In addition, multiple players caninteract in the host application program with multiple interface systems 10 using networked hostcomputers 18, as is well known to those skilled in the art. FIGURE 11a is a perspective view of mouse 12 suitable for use with the present invention.Mouse 12 can be shaped to comfortably fit a user’s fingers and/or hand when the user manipulates 15 the mouse. The mouse 12 can take a variety of shapes in different embodiments, from a smallknob or sphere to a grip having indentations for the user’s fingers. Mouse 12 may also includeother input devices 2S2 such as buttons 15 which are within easy reach of a user’s fingers.Additional buttons, such as button 15a, may also be included on the top surface or on the sidesurfaces of mouse 12 for added functionality. Buttons 15 and 15a allow a user to input a command 20 independently of the position of the mouse 12 in the provided degrees of freedom. For example, ina GUI, buttons are commonly used to select options once a cursor has been guided to a desiredarea or object on the screen using the position of the mouse. In one embodiment, the user canplace his or her two middle fingers on buttons 15 and place the remaining fingers on the sides ofmouse 12 (and at button 15a) to manipulate mouse 12 against forces generated by actuators 64. In 25 addition, in some configurations with a smaller-size mouse 12, the fingers of a user may move themouse 12 and press buttons 15 while the palm of the hand remains fixed or resting against agrounded surface. Thumb button 15a, in the preferred embodiment, also may command specificforce feedback features of the system 10, as described below.
As shown in FIGURE 1 lb, mouse 12 may also include a safety switch 284 (also known as30 a “deadman switch”). The safety switch preferably deactivates any generated forces on the puckwhen the puck is not in use and/or when the user desires to deactivate output forces. In thedescribed embodiment, a safety switch 284 is provided as a hand-weight safety switch 300. Asimplemented, the user must activate or close the switch before actuators 64 are able to outputforces. This is a safety feature that prevents the mouse 12 from unexpectedly moving and 35 impacting the user when the user is not controlling the user object. 42 WO 98/24183 PCT/US97/21601
Mouse 12’ including safety switch 300 includes a grip portion 302, a base 304, a spring306, and switch contacts 308. Portion 302 may be shaped like mouse 12 described above, but canalso be replaced with other types of user objects 12. Portion 302 can be moved up and down alongaxis F within a range distance d of the base 304 preferably on an extension member 310 or othersimilar guide. Distance d is preferably relatively small, such as 1 millimeter, and is exaggerated inFigure lib for clarity. Pre-loaded spring 306 preferably forces grip portion 302 away from base304 to an “open” position when no weight is placed on portion 302. Preferably, a stop (notshown) coupled to the top of member 310 or to the bottom of portion 302 prevents the grip portion302 from being detached from the base 304. A limit to movement of portion 302 in the direction ofbase 304 is provided by the physical engagement of the grip portion and base.
Switch contacts 308 are provided between the base 304 and grip portion 302 of mouse 12.’Contacts 308 are connected by a bus to the host computer 18 or microprocessor 270, which canmonitor when the contacts are touching. When the grip portion 302 is in the open position,contacts 308 are separated and no electrical current can flow between them, and thus no electricalcurrent or power can flow to the actuators from the power supply. Alternatively, contacts 308 canbe connected to microprocessor 270 or another selecting component which can detect the open stateof the contacts and can deactivate actuators 64 with a safety disable signal when the open state isdetected. The actuators 64 are thus prevented from outputting forces when the user does not havecontrol of the grip portion 302 and the interface device 11.
When a user grasps portion 302, the weight of the user’s hand forces the grip portion 302down to engage the base 304. Switch contacts 308 connect from this engagement, complete acircuit and allow current to flow between them; power is thus allowed to flow from the powersupply to the actuators. Alternatively, microprocessor 270 detects the closed contact condition anddiscontinues sending a safety disable signal to actuators 64. This allows the actuators 64 to becontrolled and activated by host computer 18 and microprocessor 270. When the user releases thegrip portion from his or her grasp, the spring 306 forces the grip portion 302 away from base 304,which separates contacts 308 and deactivates the actuators. A z-axis force sensor can also be used to measure how hard the user is pushing down onthe mouse 12. One example of such a sensor is shown in Figure 8d. Other types of sensors alsocan be used, such as piezo electric sensors, force sensitive resistors, and strain gauges. Any z-axispressure or force can also affect forces on the user object such as friction forces, as explained withreference to Figure 8d. When using a force sensor as a safety switch, the microprocessor (or host)can check for a minimum threshold pressure on the user object; if the pressure is below thethreshold, the actuators are deactivated.
The hand-weight safety switch has several advantages over other types of safety switches.The user can simply rest his or her fingers or hand on mouse 12’ in a normal, comfortable fashion 43 WO 98/24183 PCT/US97/21601
<img img-format="tif" img-content="drawing" file="IL160002AD000223.tif" id="idf0023" />
and still activate the safety switch due to the weight of the user’s hand. Thus, the user need notcover or press an awkwardly-located switch in a particular location of the mouse. In alternateembodiments, other types of safety switches may be used. For example, a mechanical buttonsafety switch similar to buttons 15 can be provided which makes an electrical contact when theweight of the user’s hand presses on the puck. Contact switches, light detectors, and other typesof switches can be provided. Hand-weight safety switch 300 can also be used to supplement adifferent type of safety switch. FIGURE 1 lc is a diagram for illustrating an indexing feature of the present invention. Themouse 12 preferably has an “indexing mode” which allows the user to redefine the offset between 10 the positions of the mouse 12 in the local frame and a user-controlled graphical object, such as acursor, in the host frame displayed by host computer 18. Indexing is inherently provided with atraditional position control interface such as a standard mouse. When a physical limit to themouse’s movement is reached, the user typically lifts the mouse from the contacted surface andplaces the mouse in a different position to allow more room to move the mouse. While the mouse 15 is off the contacted surface, no input is provided to control the cursor. Mouse 12 of the presentinvention also has a limit to movement in the provided planar workspace provided by guideopening 124, as detailed above. Such limits can also be defined by actuators, the physical structureof a linkage, sensors, or other components. The limits are indicated as dashed lines 316 in Figure11c such that the mouse 12 has a workspace 318 within the dashed rectangle (or circle or other 20 shape, as desired). In the preferred embodiment, the workspace 318 is small (e.g., 1 3/8” X 11/8”), since it has been found that very little workspace is needed to move a cursor across the fullwidth or length of a display screen. Nevertheless, a limit 316a to the movement of mouse 12 maybe reached in a situation where the user wishes to move the mouse past the limit. For example,mouse 12 may reach the right limit 316a before the controlled cursor is fully moved to a desired 25 location at the right of the screen.
To allow movement of the cursor in the host frame past the limits of the mouse local frame,“indexing” is implemented. In one implementation, the user may reposition the mouse 12 withoutmoving the controlled graphical object or providing any other input to the host computer, thusallowing the user to redefine the offset between the object’s position and the cursor’s position. 30 This is analogous to standard mouse indexing. In the present invention, such indexing is achievedthrough an input device such as button 15a, or alternatively using switches, pressure sensors,optical sensors, contact sensors, voice recognition hardware, or other input devices 282. As longas the indexing button or device is activated, the mouse 12 is in indexing mode and can be movedwithout providing any input to the host computer (e.g., without moving the controlled graphical 35 object). When the button is released (or indexing mode otherwise exited), the position of the cursor is again controlled by the position of the mouse 12. Alternatively, the user might toggle indexing mode and non-indexing mode with one press of a button 15 or other input device.
Indexing mode can be performed directly by the host computer 18, or a local microprocessor can44 WO 98/24183 PCT/US97/21601 perform the indexing function. For example, the local processor can determine when indexingmode is active, and simply not report the position of the mouse 12 to the host computer 18 whilesuch mode is active.
In another embodiment, the functionality of safety switch 300 and the indexing mode areintegrated into one input device, since it is typically desirable to deactivate any output forces to themouse 12 when indexing is being performed for safety reasons or ergonomic reasons, e.g. forcesintuitively should not be output when indexing occurs. Thus, hand weight safety switch 300 canbe used as both a safety switch and an indexing switch. For example, when the user places his orher fingers on mouse 12, the switch 250 is closed, allowing power io the actuators and forces to beoutput on the mouse. This also allows non-indexing mode to be active so that the position of thecursor is controlled by the mouse. If the user moves the mouse to a limit 316, the user then lifts upon the mouse or otherwise performs the indexing function. This disables power to the actuatorsand engages indexing mode. The user can move mouse 12 to another position using side motion(so as to not close switch 300), while the cursor remains fixed at its position on the screen. Whenthe mouse is at its new desired location, the user rests his or her fingers on the mouse 12 normally,thereby closing the switch 300. This allows indexing to be performed safely, without the need toprovide a separate safety switch to deactivate the actuators 64.
Alternatively, if a z-axis force sensor is used for indexing, then the microprocessor or hostcan check for a threshold pressure. If the exerted pressure is below the threshold, indexing isactive. A different threshold for indexing and for the safety switch can be implemented if desired;typically, the threshold for the safety switch is lower. A local sensor might check for thesethreshold pressures, such as a Schmitt trigger, or the microprocessor can check for the thresholdpressures. If the microprocessor checks, then the user preferably can input preferred thresholds tocustomize the interface device for his or her own use.
Indexing mode can be performed directly by the host computer 18 or by the localmicroprocessor 130. For example, local processor 130 can determine when indexing mode isactive, and simply not report the position of the mouse 12 to the host computer 18 while such modeis active. When non-indexing mode is active, processor 130 would resume reporting the positionof the user object to the host. The host would thus be completely ignorant of when indexing isperformed, since it simply updates cursor position when it receives position data, thereby reducingthe host’s computational burden.
In another embodiment, indexing functionality is provided using a combined positioncontrol and rate control device which allows different forms of control of the cursor depending onthe position of the mouse in its workspace. If the mouse is positioned in an interior area of itsworkspace, the cursor tracks the mouse position on the screen in a standard position controlfashion. However, if the mouse is moved to an edge region near the limits to the workspace, a rate 45 WO 98/24183 PCT/US97/21601 control paradigm is adopted. Preferably, a force is output on the mouse at the edge region borderto resist motion toward the workspace limit, and the cursor is moved on the screen in a directionand rate corresponding to the mouse direction and distance of penetration into (against) the force.The user can thus control the cursor to the edge of the screen based on mouse penetration into therate control edge region (“pressure indexing”) while redefining the offset between cursor andmouse positions.
Other features of the present invention are also provided using force feedback functionality.For example, thumb button 15a can toggle a force functionality mode in which designated graphicalobjects or regions displayed on screen 20 have other functions enabled by force feedback. Agraphical object, such as a window or icon in a GUI, can act differently for selection of functionsof the host computer or program, and/or for the forces associated with the object/region, dependingon whether the force functionality mode is active. For example, when the mode is not active, thecursor can be moved normally through the border or edge of a window, with no force sensationsassociated with the movement over the window. However, when the force functionality mode isactive (such as by pressing or holding button 15a), a spring force will be output on mouse 12opposing the movment of the cursor through the window border. This force is used as for“pressure scrolling” or as a “scroll surface”, where the amount of penetration of the mouse againstthe spring force controls the speed of scrolling of a document displayed in that window.Alternatively, when the button 15a is held down by the user, an “isometric” or “pressure” modecan be entered at the current location of the cursor, where the mouse functions as an isometriccontroller by moving against a force provided in all directions to control rate control functions suchas scrolling, zooming, or panning. In a “pressure clicking” or “click surface” embodiment, if thecursor is moved against the border of an icon and the force functionality mode is active, a force willbe output resisting motion of the cursor into the icon; when the mouse moves against the force to athreshold distance, the icon is selected as if the cursor had clicked or double-clicked on the icon. Inother embodiments, other input devices besides or in addition to button 15a can control the forcefunctionality mode. Or, different input devices can control different modes; for example, onebutton can activate the pressure scrolling mode, while a different button can activate pressureclicking mode. FIGURE 12a is a perspective view of an alternate embodiment of user object 12. Object 12is shown as a stylus-receiving user object 320, which can be used in any embodiment of device 11,such as those embodiments presented above. Stylus-receiving user object 320 includes a stylus-receiving member 322, which is preferably a flat, small object that includes a stylus aperture 324.Member 322 may, for example, be coupled to object member 100 of the embodiment of device 11’.As shown in FIGURE 12b, a stylus 326 or a similar article can be inserted into aperture 324 by auser. The user can then move the stylus 326 along a provided degree of freedom indicated byarrows 328, which causes member 322 to accordingly move in the same direction. Alternatively,stylus 326 can be permanently coupled to member 322. WO 98/24183 PCT/US97/21601
The embodiment of Figures 12a-b can be used in a writing interface version of interfacesystem 10 where the user uses the interface to write words input to a computer system, or in apointing interface to direct and move computer-implemented objects such as a cursor. The member322 alone can be considered the “user object” 12 in this embodiment. Alternatively, both stylus326 and member 322 can collectively be considered user object 12, particularly in embodimentswhere stylus 326 is permanently fixed to member 322. In other embodiments, the member 322 canbe detachable from device 11 so as to allow different, interchangeable user objects 12 to be used assuited for particular applications. FIGURE 12c is a perspective view of an alternate embodiment of user object 12 in which afinger-receiving user object 330 is provided. In this embodiment, a finger-receiving member 332,which includes a divot 334. Member 332 may be coupled to device 11 similarly to the member 322of Figure 12a. As shown in FIGURE 12d, a user may insert his or her finger 328 into divot 324and thereby move member 332 in the provided degrees of freedom as indicated by arrows 336.Divot 334 allows the user's finger 338 to grip or cling to the member 332 when the user's finger ismoved. In other embodiments, features other than or in addition to divot 334 can be provided onfinger-receiving member 332 to allow the user's finger to cling to the object. For example, one ormore bumps, apertures, or other projections can be provided. Also, other digits or appendages ofthe user can be received, such as a user's entire hand, foot, etc. The user object of Figures 12c-dcan be used to allow the user to move, point to, or otherwise manipulate computer generatedobjects in an easy, natural fashion. The stylus- and finger-receiving objects of Figures 12a-12dcan also be made interchangeable with the mouse object 12 so that the user can simply attach thedesired user object for a particular application. FIGURE 12e is a perspective view of an alternate embodiment 340 of the finger-receivingobject 330 of Figures 12c-12d. Object 340 includes a flat planar member 342 that, for example,may resemble a plastic card or other platform. Member 342 is (rigidly) coupled to object member100, and may be rotatably coupled to the object member in some embodiments. The user mayplace one or more fingers on the planar member 342 similar to the object 330 and move it in aplanar workspace. In addition, the planar member 342 can include a rubber or similar surfacehaving friction to provide a grip or non-slippery contact between the user’s fingers and themember. Also, the planar member 342 can be contoured or include bumps 344 or otherprotrusions to further promote the user’s contact.
While this invention has been described in terms of several preferred embodiments, it iscontemplated that alterations, permutations and equivalents thereof will become apparent to thoseskilled in the art upon a reading of the specification and study of the drawings. For example, othertypes of mechanical linkages can be provided between the mouse 12 and the electronic portion ofthe interface 14. In addition, other types of actuators, sensors, and user objects can be used inother embodiments. Furthermore, certain terminology has been used for the purposes of 47 WO 98/24183 PCT/US97/21601 descriptive clarity, and not to limit the present invention. It is therefore intended that the followingappended claims include all such alterations, permutations, and equivalents as fall within the truespirit and scope of the present invention. 48
Contents6
614 members in 15 offices
Priority claims18
| Document | Office | Kind | Date |
|---|---|---|---|
| 75674596 | United States of America | A | |
| 75674596 | United States of America | A | |
| 88169197 | United States of America | A | |
| 88169197 | United States of America | A | |
| 96572097 | United States of America | A | |
| 96572097 | United States of America | A | |
| 13010797 | Israel | A | |
| 13010797 | Israel | A | |
| 9721601 | United States of America | W | |
| 9721601 | United States of America | W | |
| 756745 | – | – | – |
| 881691 | – | – | – |
| 965720 | – | – | – |
| IL19970130107 | – | – | – |
| US19960756745 | – | – | – |
| US19970881691 | – | – | – |
| US19970965720 | – | – | – |
| WO1997US21601 | – | – | – |
Members614
| Document | Office | Kind | |
|---|---|---|---|
| CA2167304A1 | Canada | A1 | |
| WO9502801A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CA2210725A1 | Canada | A1 | |
| WO9622591A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU5167896A | Australia | A | |
| US5576727A | United States of America | A | |
| CA2223289A1 | Canada | A1 | |
| WO9642078A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CA2228587A1 | Canada | A1 | |
| WO9706410A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CA2233136A1 | Canada | A1 | |
| CA2233206A1 | Canada | A1 | |
| WO9712337A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO9712357A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CA2237977A1 | Canada | A1 | |
| WO9719440A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CA2239125A1 | Canada | A1 | |
| WO9721160A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO9721160A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP0804786A1 | European Patent Office (EPO) | A1 | |
| US5691898A | United States of America | A | |
| CA2254854A1 | Canada | A1 | |
| WO9744775A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU3129397A | Australia | A | |
| US5701140A | United States of America | A | |
| CA2261893A1 | Canada | A1 | |
| WO9806024A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US5721566A | United States of America | A | |
| AU3889597A | Australia | A | |
| US5724264A | United States of America | A | |
| US5731804A | United States of America | A | |
| US5734373A | United States of America | A | |
| EP0804786A4 | European Patent Office (EPO) | A4 | |
| US5739811A | United States of America | A | |
| CA2167304C | Canada | C | |
| EP0836735A1 | European Patent Office (EPO) | A1 | |
| EP0843808A1 | European Patent Office (EPO) | A1 | |
| CA2271129A1 | Canada | A1 | |
| CA2272553A1 | Canada | A1 | |
| WO9824180A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO9824183A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US5767839A | United States of America | A | |
| CA2272627A1 | Canada | A1 | |
| WO9826342A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU5510698A | Australia | A | |
| AU7850398A | Australia | A | |
| EP0852770A1 | European Patent Office (EPO) | A1 | |
| EP0852789A1 | European Patent Office (EPO) | A1 | |
| CA2278726A1 | Canada | A1 | |
| WO9833136A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CA2281923A1 | Canada | A1 | |
| WO9837484A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO9824180A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO9826342A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US5805140A | United States of America | A | |
| EP0864144A2 | European Patent Office (EPO) | A2 | |
| EP0843808A4 | European Patent Office (EPO) | A4 | |
| EP0836735A4 | European Patent Office (EPO) | A4 | |
| EP0870296A1 | European Patent Office (EPO) | A1 | |
| US5825308A | United States of America | A | |
| CA2287349A1 | Canada | A1 | |
| WO9849614A1 | World Intellectual Property Organization (WIPO) | A1 | |
| JPH10512983A | Japan | A | |
| EP0852789A4 | European Patent Office (EPO) | A4 | |
| EP0852770A4 | European Patent Office (EPO) | A4 | |
| CA2294085A1 | Canada | A1 | |
| CA2294128A1 | Canada | A1 | |
| WO9858308A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO9858323A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US5880714A | United States of America | A | |
| WO9858323A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US5903456A | United States of America | A | |
| US5907487A | United States of America | A | |
| WO9926230A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU1391199A | Australia | A | |
| US5929607A | United States of America | A | |
| US5929846A | United States of America | A | |
| CA2319586A1 | Canada | A1 | |
| WO9939273A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2579099A | Australia | A | |
| EP0941578A1 | European Patent Office (EPO) | A1 | |
| US5956484A | United States of America | A | |
| EP0943179A1 | European Patent Office (EPO) | A1 | |
| US5959613A | United States of America | A | |
| CA2291226A1 | Canada | A1 | |
| WO9949443A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU3204299A | Australia | A | |
| EP0951714A2 | European Patent Office (EPO) | A2 | |
| EP0958536A1 | European Patent Office (EPO) | A1 | |
| WO9949443A9 | World Intellectual Property Organization (WIPO) | A9 | |
| JPH11514469A | Japan | A | |
| US5999168A | United States of America | A | |
| CA2300899A1 | Canada | A1 | |
| WO9966997A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO9824183A8 | World Intellectual Property Organization (WIPO) | A8 | |
| AU4707499A | Australia | A | |
| US6015473A | United States of America | A | |
| EP0974889A1 | European Patent Office (EPO) | A1 | |
| GB9929677D0 | United Kingdom | D0 | |
| EP0979444A1 | European Patent Office (EPO) | A1 |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Patent not in force due to non-payment of renewal feesMM9K | MM9K | |
| Patent renewedKB | KB | |
| Patent grantedGrantedFF | FF |
Numbers
- Publication, DOCDB
- 160002
- Publication, EPODOC
- IL160002
- Application
- 160002
- Application, DOCDB
- 16000297
- Application, EPODOC
- IL19970160002
Titles
- English
- MOUSE INTERFACE DEVICE FOR PROVIDING FORCE FEEDBACK
Classification
- IPC, 1
- H03K