Source: http://www.google.com/patents/US6670947?dq=60/310,746
Timestamp: 2014-03-17 10:52:33
Document Index: 384225373

Matched Legal Cases: ['art 1', 'art 2', 'art 1', 'art 1', 'art 2', 'arts 1']

Patent US6670947 - SO3 input device - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsAn apparatus, method and algorithm for the economical, intuitive rotational control of a three dimensional object displayed on a computer monitor. The computer input device consists of a tracked ball, with a directed source emanating from it, that is housed in an enclosure which allows for the free rotation...http://www.google.com/patents/US6670947?utm_source=gb-gplus-sharePatent US6670947 - SO3 input deviceAdvanced Patent SearchPublication numberUS6670947 B2Publication typeGrantApplication numberUS 10/007,424Publication dateDec 30, 2003Filing dateOct 22, 2001Priority dateOct 22, 2001Fee statusPaidAlso published asUS20030076304Publication number007424, 10007424, US 6670947 B2, US 6670947B2, US-B2-6670947, US6670947 B2, US6670947B2InventorsRobert William SmythOriginal AssigneeRobert William SmythExport CitationBiBTeX, EndNote, RefManPatent Citations (8), Referenced by (3), Classifications (6), Legal Events (8) External Links: USPTO, USPTO Assignment, EspacenetSO3 input deviceUS 6670947 B2Abstract An apparatus, method and algorithm for the economical, intuitive rotational control of a three dimensional object displayed on a computer monitor. The computer input device consists of a tracked ball, with a directed source emanating from it, that is housed in an enclosure which allows for the free rotation of the ball. The ball sits on a bearing within a base equipped with an array of sensors. Activated sensors are grouped in such a way that the positions of the detected sources can be determined. A 3�3 orientation matrix is then computed to allow applications programs to present a graphical object in the same orientation as the orientation that the user has given to the ball in the input device.
I claim: 1. A computer input device comprising:
(a) a ball with a plurality of directed sources inside arranged so that at least two axes of the ball are distinguished, (b) a bearing on which said ball rests so said ball may be rotated easily in an arbitrary fashion around any axis through the center of said ball, (c) a base which holds said bearing as well as a plurality of sensors capable of responding to said directed sources inside said ball, (d) an enclosure to isolate said sensors from the environment outside said device and keep said ball easily accessible for free rotation, and (e) interface circuitry to allow a device selected from the group consisting of general purpose computers and specialized electronic processors to read the state of each sensor from the said plurality of sensors, whereby said device will provide three dimensional rotational control of a graphical object displayed on a monitor, whereby there is a natural correlation between the movement of said ball by the hand of the user and the three dimensional rotational control of a graphical object, and whereby said natural correlation is established by absolute measurements of orientation. 2. The computer input device of claim 1 wherein said directed sources are light sources and said sensors are photosensitive devices.
(a) providing a device containing a ball with directed sources inside arranged so that at least two axes of the ball are distinguished, (b) providing a bearing on which said ball rests so said ball may be rotated easily in an arbitrary fashion around any axis through the center of said ball, (c) providing a base which holds said bearing as well as a plurality of sensors capable of responding to said directed sources inside said ball, (d) providing an enclosure to isolate said sensors from the environment outside said device and keep said ball easily accessible for free rotation, and (e) providing interface circuitry to allow a device selected from the group consisting of general purpose computers and specialized electronic processors to read the state of each sensor from said plurality of sensors, whereby said method will provide three dimensional rotational control of a graphical object displayed on a monitor, whereby there is a natural correlation between the movement of said ball by the hand of the user and said three dimensional rotational control of a graphical object, and whereby said natural correlation is established by absolute measurements of orientation. 6. A process yielding absolute measurements of orientation from a computer input device containing a freely manipulable ball with directed sources arranged so that at least two axes through the center of said ball are distinguished comprising the steps of:
(a) taking a single initial device reading comprising: (1) reading raw information from said computer input device, (2) separating activated sensors of said computer input device into two groups, (3) mapping the groups of sensors into localized groups of virtual sensors, (4) averaging the coordinates of the positions of said virtual sensors in said localized groups to obtain current positions of at least two distinguished axes, (5) normalizing computed data describing the current axis positions, (6) making a conventional choice of orientation from a group of symmetric possibilities consistent with the computed axis positions, and (7) storing a mathematical description of said choice of orientation in memory, and (b) taking subsequent periodic device readings consisting of (1) through (5) as above and then making a choice of orientation consistent with the previous computed orientation thereby discarding symmetric possibilities compatible with the current device reading and then storing a mathematical description of said choice of orientation in memory, whereby there is a periodically updated 3�3 orientation matrix to allow applications programs to present a graphical object in the same orientation as the orientation that the user has given to the ball in said computer input device, and whereby said 3�3 orientation matrix is determined by absolute measurements of orientation.
BACKGROUND OF THE INVENTION This invention relates to the field of computer input devices. In particular, this invention includes an apparatus, method and algorithm for the intuitive rotational control of three dimensional graphical objects displayed on a monitor.
Various computer input devices have been designed to allow user manipulation of graphical pointers, cursors or objects on a computer screen in two dimensions. Most notably, these include the common computer mouse, trackball and joystick. There are also various computer input devices that have been designed to allow for user manipulation of graphical objects in three-dimensions. However, many of the various devices designed to date are complicated to use. For example one such device is a six-degree-of-freedom (6 DoF) joystick, such as the Spaceball.�., described in U.S. Pat. No. 4,811,608 to John A. Hilton, issued (Mar. 14, 1989). However, the six degrees of freedom provided do not directly match position and orientation. The correlations of torque and force quantities to rotations and translations is reputedly difficult and unnatural to learn.
BRIEF SUMMARY OF THE INVENTION It is the object of this invention to provide an intuitive, easy to use, freely manipulable computer input device for the three dimensional rotational control of a graphical object using simple, low cost materials and very simple interpretation algorithms which may be used to yield absolute measurements of orientation. The apparatus and method includes freely rotating what can be thought of as a large trackball. Unlike an ordinary mouse-like trackball, the SO3 (special orthogonal group in 3 dimensions) device tracks rotations about all axes through the center of the ball. One of the advantages of this invention, is the very easy, intuitive control of graphical objects. There is a natural correlation between the manipulation of the device by the user and the movement of the graphical object under the control of the device. Simply put, an applications program can use the information provided by the device to rotate an object displayed on the screen the very same way that the user is rotating the ball in the device. There is no complicated coordination of buttons or simulated motion. The invention consists of hardware and the method of use of the device and software algorithms used to interpret the data read from the device. Much of the ease of operation of the device is due to the development of the proper algorithm for interpreting the signals from the input device. The current device could be useful for computer-aided design, molecular modeling, rational drug discovery, virtual reality, and educational and recreational applications which involve 3D image manipulations.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1: Overview of an input device apparatus in accordance with the present invention.
FIG. 2. Flowchart 1. A description of the interpretation algorithm for one embodiment.
FIG. 3. Flowchart 2. An expanded description of the PARTITION stage of the interpretation algorithm presented in Flowchart 1.
DETAILED DESCRIPTION OF THE INVENTION Hardware Design
FIG. 1 illustrates a possible configuration of the essential device components in one embodiment of the device. The enclosure is not depicted.
a ball 11 with a collection of �directed sources� 10 inside (to be explained below)
a base 25 which holds the bearing 20 as well as an array(s) of sensors 15 capable of responding to the �sources� 10 inside the ball 11, each sensor in the array need only have two possible output states (�on� or �off�)
interface circuitry 30 to allow a general purpose computer 35 or specialized electronic processor to read the state of each sensor (that is, whether the response of each sensor to the �directed sources� 10 is above or below a certain threshold).
The �directed sources� 10 may be energy beams or fields which emanate from a few fixed locations or distinguished points 10 on the ball 11. These special locations will be referred to as source points 10. In one embodiment, a light source(s) is placed in the ball 11. If the ball 11 is opaque and small holes are drilled in the ball 11, light will emanate from the holes. (The different holes should be considered different source points 10, even if the light streaming through these holes comes from a single incandescent bulb in the center of the ball 11.) In this embodiment, the sensor array(s) 15 could be created using photoresistors. In a preferable embodiment the sources will not require an energy supply, for example permanent magnets may be placed inside the ball 11 together with flux concentrators designed to intensify the perpendicular magnetic field strength at distinguished points 10 on the surface of the ball 11. In this preferred embodiment, the sensor array(s) 15 could be created using Hall effect sensors. The size and position of the array of sensors 15, and the number and positions of the source points 10 on the ball 11 must be chosen so that, for any orientation of the ball 11, at least two nonantipodal source points 10 on the ball 11 are directed at some portion of the array 15. In one embodiment the array of sensors 15 covers an entire hemisphere concentric with the ball 11 and two pairs of diametrically opposed source points 10 are placed on one great circle of the ball 11. It is possible to decrease the amount of area required to be covered with sensors by increasing the number of source points 10 used. Uneven spacing between source points 10, or simultaneous use of more than one type of source may be used to cut down or eliminate the symmetries of the ball 11. This would have the effect of simplifying or eliminating the LINK phase of the interpretation algorithm described below. For example different colored lights could be used as sources with color sensitive sensors. Magnets oriented disparately could be used as well, in conjunction with Hall effect sensors of the appropriate polarity. The spacing of the sensors within the sensor arrays must be sufficiently fine so that any source point 10 directed toward an array must be detectable, that is it must activate some sensor in the array. The interface circuitry 30 may be very simple. For example, if an array of discrete cadmium sulfide photoresistors is used (in conjunction with light sources within the ball 11), each photoresistor may be placed in series with a resistor with the point between resistor and photoresistor wired to the input of a TTL buffer. In the embodiment which is here being explained, the resistors should be chosen so that their resistance is sufficiently small compared to the dark resistance of a photoresistor so that the point between a resistor and a photoresistor attains a TTL high whenever no source point is directed toward that photoresistor, but sufficiently large compared to the light resistance of the photoresistor so that the point between a resistor and a photoresistor attains a TTL low whenever a source point is directed toward that photoresistor. The interpretation algorithm (described below), most notably the CENTERS stage, provides tolerance for inconsistent readings of sensors which are receiving a signal strength from a source which is very close to the threshold value. (This circumstance arises when the deviation from alignment between a source point and sensor reaches a critical angle.) Of course, preferable setups using magnets and Hall effect sensors, or other source/sensor pairs may be readily constructed by one skilled in the art. A simple addressing scheme using decoders and a hierarchy of buffers can be used to enable the computer to read the states of the sensors. The decoder inputs may be connected to parallel port outputs, and top level buffer outputs to parallel port inputs. Software may execute a rapid sequence of parallel port write, read pairs to determine the state of all sensors nearly simultaneously. A serial port or other means of communication with a general purpose digital computer may also be used.
Flowchart 1 (FIG. 2) describes a simple algorithm which may be used to transform the raw information read from the device into a form readily usable by applications software. Flowchart 2 (FIG. 3) adds detail to the PARTITION stage of the algorithm. The algorithm description in the text below (and in the flowcharts) focuses on the simple incarnation of the basic design idea which places four sources equally spaced around a great circle of the ball 11, and provides a full hemisphere of sensors 15. Adaptation to other implementations is relatively straightforward. In the algorithm description, references to sensors and sensor manipulations refer more properly to records of sensor positions and manipulations thereof. The numbered items below correspond to the numbers in Flowcharts 1 and 2 (FIG. 2 and FIG. 3).
(3) If one source from an antipodal pair is directed entirely outside the sensor array, then all sensors activated by that antipodal pair are, in fact, activated by a single source, and are thus all close to each other, i.e., the group is already �localized.� Furthermore, the center of such a group of activated sensors will determine (approximately) a unit vector lying along the axis of the corresponding pair of antipodal sources. It is also possible for an antipodal pair of sources to be sufficiently close to the rim of the sensor array, so that both sources in the pair are simultaneously activating sensors. In this case, the group of sensors activated by the antipodal pair (as determined by the PARTITION stage of the algorithm) will itself consist of two subgroups corresponding to the two sources in the antipodal pair. Localization of such a group is performed as follows. Each sensor in one of the subgroups is left as is. Each sensor in the other subgroup is replaced by a �virtual� sensor at the position antipodal to its own position. The resulting �localized� group of sensors will have a center which determines (approximately) a unit vector lying along the axis of the corresponding pair of antipodal sources.
(7) Compute the vector cross product a1�a2 of the vectors a1 and a2 as newly computed by LINK. The 3�3 matrix with columns a1, a2 and a1�a2 describes the current orientation of ball 11.
(8) The 3�3 orientation matrix describing the current orientation of the ball 11 could, for instance, be copied to a shared memory area.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4811608 *Nov 6, 1986Mar 14, 1989Spatial Systems Pty LimitedForce and torque converterUS5019809 *Feb 14, 1990May 28, 1991University Of Toronto Innovations FoundationTwo-dimensional emulation of three-dimensional trackballUS5854623 *Nov 16, 1995Dec 29, 1998Bullister; Edward T.Two- and three-dimensional trackball with enhanced measurement opticsUS5889505 *Mar 3, 1997Mar 30, 1999Yale UniversityVision-based six-degree-of-freedom computer input deviceUS5923318 *Apr 12, 1996Jul 13, 1999Zhai; ShuminFinger manipulatable 6 degree-of-freedom input deviceUS6239785 *Aug 29, 1997May 29, 2001Science & Technology CorporationTactile computer input deviceUS6246391 *Dec 1, 1998Jun 12, 2001Lucent Technologies Inc.Three-dimensional tactile feedback computer input deviceUS6466198 *Apr 5, 2000Oct 15, 2002Innoventions, Inc.View navigation and magnification of a hand-held device with a display* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7187360 *Nov 20, 2003Mar 6, 2007Nec CorporationPointing device and electronic apparatus provided with the pointing deviceUS7804486 *Apr 6, 2006Sep 28, 2010Smyth Robert WTrackball systems and methods for rotating a three-dimensional image on a computer displayUS8314772Aug 28, 2009Nov 20, 2012Coe Stanley SComputer mouse* Cited by examinerClassifications U.S. Classification345/167, 345/157, 345/156International ClassificationG06F3/033Cooperative ClassificationG06F3/03549European ClassificationG06F3/0354TLegal EventsDateCodeEventDescriptionApr 4, 2012FPAYFee paymentYear of fee payment: 8Apr 4, 2012SULPSurcharge for late paymentApr 2, 2012PRDPPatent reinstated due to the acceptance of a late maintenance feeEffective date: 20120404Feb 21, 2012FPExpired due to failure to pay maintenance feeEffective date: 20111230Dec 30, 2011LAPSLapse for failure to pay maintenance feesDec 30, 2011REINReinstatement after maintenance fee payment confirmedAug 8, 2011REMIMaintenance fee reminder mailedApr 16, 2007FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google