Direct navigation of two-dimensional control using a three-dimensional pointing device
Summary by NHIP
3D Device Calibration
The method calibrates a pointing device using a coordinate system and known reference locations to control a visual indicium based on translational position or orientation. Calibration defines zero positions and orientations at three specific reference locations while calculating the device's distance from the plane containing the first and second locations.
Claim Score by NHIP
Abstract
Direct and absolute pointing is provided for with respect to a two-dimensional information display surface, much like how one would point a laser pointer or flashlight at a desired point. The displayed control may be moved by manipulating the pointing device in three dimensions. The translational position of the pointing device may be measured in three dimensions. Also, the three-dimensional orientation of the pointing device may be measured. A computing device may receive this information from the pointing device and determine where the pointing device is pointing to. If the pointing device is pointing at a display, then the computing device may cause the control to be displayed at the position to which the pointing device is pointing. In addition, the control may be displayed at an orientation that depends upon the orientation of the pointing device.

Term
Term ended
Expired 12 March 2025, 1.5 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
22 claims: 4 independent, 18 dependent
- 1Broadest claimClaim Score 33, narrow(NHIP)In a computing device, a method comprising:calibrating a device using a coordinate system and known reference locations to enable the device to control a visual indicium based on one or more of a translational position or an orientation of the device, the calibrating comprising: defining as zero with respect to the coordinate system, a first X position, a first Y position, a first orientation about an X axis, and a first orientation about a Y axis, responsive to the device being directed to a first reference location of the known reference locations;defining as zero with respect to the coordinate system and responsive to the device being directed to a second reference location of the known reference locations, one of: a second X position and a second orientation about the Y axis;or a second Y position and a second orientation about the X axis;and calculating a distance from the device to a plane in which the first reference location and the second reference location exist;defining as zero with respect to the coordinate system and responsive to the device being directed to a third reference location of the known reference locations, the other of: the second X position and the second orientation about the Y axis;or the second Y position and the second orientation about the X axis;and controlling the visual indicium on a display based on movement of the device and relative to the coordinate system.
- 10A computer-implemented method comprising:calibrating a device using a coordinate system and known reference locations by: defining as zero with respect to the coordinate system, a first X position, a first Y position, a first orientation about an X axis, and a first orientation about a Y axis, responsive to the device being directed to a first reference location of the known reference locations;defining as zero with respect to the coordinate system and responsive to the device being directed to a second reference location of the known reference locations, one of: a second X position and a second orientation about the Y axis;or a second Y position and a second orientation about the X axis;and calculating a distance from the device to a plane in which the first reference location and the second reference location exist;defining as zero with respect to the coordinate system and responsive to the device being directed to a third reference location of the known reference locations, the other of: the second X position and the second orientation about the Y axis;or the second Y position and the second orientation about the X axis;and receiving data representing a translational position and an orientation of the device along at least five degrees of freedom relative to the coordinate system;and determining a position for a visual indicium based on the translational position and the orientation of the device along the at least five degrees of freedom.
- 14A computer-implemented method comprising:calibrating a device using a coordinate system and known reference locations by: defining a first position for the device in the coordinate system responsive to the device being directed to a first reference location of the known reference locations, the first position for the device being defined as zero for a first X coordinate, a first Y coordinate, a first orientation about an X axis, and a first orientation about a Y axis;defining a second position for the device in the coordinate system responsive to the device being directed to a second reference location of the known reference locations, the second position for the device being defined as zero for one of: a second X coordinate and a second orientation about the Y axis;or a second Y coordinate and a second orientation about the X axis;and calculating a distance from the device to a plane in which the first reference location and the second reference location exist;defining a third position for the device in the coordinate system responsive to the device being directed to a third reference location of the known reference locations, the third position for the device being defined as zero for the other of: the second X coordinate and the second orientation about the Y axis;or the second Y coordinate and the second orientation about the X axis;and determining a translational position of the device relative to the coordinate system based on the first position and the second position;determining an orientation of the device relative to the coordinate system based on the first position and the second position;and controlling a visual indicium based on the translational position and the orientation of the device.
- 15A system comprising:one or more computer-readable memory devices storing computer-executable instructions configured to be executed by a computer to cause the computer to perform a method, comprising: calibrating a device using a coordinate system and known reference locations to enable the device to control a visual indicium based on one or more of a translational position or an orientation of the device, the calibrating comprising: defining as zero with respect to the coordinate system, a first X position, a first Y position, a first orientation about an X axis, and a first orientation about a Y axis, responsive to the device being directed to a first reference location of the known reference locations;defining as zero with respect to the coordinate system and responsive to the device being directed to a second reference location of the known reference locations, one of: a second X position and a second orientation about the Y axis;or a second Y position and a second orientation about the X axis;calculating a distance from the device to a plane in which the first reference location and the second reference location exist;and defining as zero with respect to the coordinate system and responsive to the device being directed to a third reference location of the known reference locations, the other of: the second X position and the second orientation about the Y axis;or the second Y position and the second orientation about the X axis;and receiving a signal from the device that includes data representing a translational position and an orientation of the device relative to the coordinate system;and determining a position of a visual indicium based on the translational position and the orientation of the device.
Independent claims4
40 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
0001This application is a Continuation of U.S. patent application Ser. No. 10/914,118, filed Aug. 10, 2004 and entitled Direct Navigation of Two-Dimensional Control Using a Three-Dimensional Pointing Device. The above application is incorporated herein by reference.
FIELD OF THE INVENTION
0002The present invention is directed to navigation of a two-dimensional displayed control, such as a cursor, using a three-dimensional pointing device.
BACKGROUND OF THE INVENTION
0003The mouse has long been the pointing device of choice for controlling a graphical user interface on a computing device. However, as displays become cheaper to manufacture, users are more apt to choose higher resolution displays. In fact, due to the low cost of displays, many users have begun to link two or more displays together to provide a larger total display area with a greater number of pixels. Unfortunately, users have also discovered that, as the total displayable area becomes larger, it becomes more difficult to control the on-screen cursor of a graphical user interface, especially with a conventional mouse.
0004Conventional mice provide a mapping between hand movement and cursor movement in a relative manner, often with respect to the surface across which the mouse moves. For example, when interacting with a large display having a high resolution, the conventional mouse would need to travel large distances to navigate from one end of the display to the other. Other pointing devices, such as electronic pens, have been used to provide absolute mapping between the position of the pointing device and the position of the cursor. However, because these devices typically interact directly with the display or some other writing surface, such devices become difficult to use as displays and writing surfaces increase in size.
0005There is therefore becoming a need to improve upon how a user may control the cursor, as well as other displayed controls, in a computing system.
SUMMARY OF THE INVENTION
0006Aspects of the present invention are directed to providing direct and absolute pointing with respect to a two-dimensional information display surface, much like how one would point a laser pointer or flashlight at a desired point. The term “absolute pointing” means that the cursor or other control moves to where the user is pointing a pointing device, independent of the prior position of the displayed control.
0007Further aspects of the present invention are directed to controlling the cursor or other displayed control by manipulating the pointing device in three dimensions, such as in-air. The translational position of the pointing device may be measured in three dimensions along first, second, and third degrees of freedom (e.g., X, Y, and Z axes). Also, the orientation of the pointing device may be measured along fourth, fifth, and optionally sixth degrees of freedom. A computing device may receive this information from the pointing device and determine where the pointing device is pointing to. If the pointing device is pointing at a display, then the computing device may cause the control to be displayed at the position to which the pointing device is pointing. In addition, the control may be displayed at an orientation that depends upon the orientation of the pointing device. Such a pointing device may be used only “in-air” or may include other types of pointing device functionality such as the functionality of a conventional electronic pen.
0008Further aspects of the present invention are directed to providing as a combined kit the pointing device and computer-executable instructions configured to allow a computing device to work with the pointing device.
0009These and other aspects of the invention will be apparent upon consideration of the following detailed description of illustrative embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
0010The foregoing summary of the invention, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention.
0011<figref idref="DRAWINGS">FIG. 1</figref> is a functional block diagram of an illustrative computing device.
0012<figref idref="DRAWINGS">FIG. 2</figref> is a plan view of an illustrative display device.
0013<figref idref="DRAWINGS">FIG. 3</figref> is a side cutaway view of an illustrative pointing device.
0014<figref idref="DRAWINGS">FIGS. 4 and 5</figref> are perspective views of the pointing device and a displayable portion of the display.
0015<figref idref="DRAWINGS">FIG. 6</figref> is a flowchart showing illustrative steps that may be taken in calibrating and using the pointing device.
0016<figref idref="DRAWINGS">FIG. 7</figref> is a plan view of the pointing device and an illustrative computer-readable medium that may be marketed together as a kit.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
0017With reference to <figref idref="DRAWINGS">FIG. 1</figref>, an illustrative system for implementing aspects of the invention includes a computing device, such as computing device <b>100</b>. In its most basic configuration, computing device <b>100</b> typically includes at least one processing unit <b>102</b> and memory <b>104</b>. Depending on the exact configuration and type of computing device, memory <b>104</b> may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. Additionally, computing device <b>100</b> may have additional features/functionality, such as additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in <figref idref="DRAWINGS">FIG. 1</figref> by removable storage <b>108</b> and non-removable storage <b>110</b>. A computer-readable storage medium includes one or more volatile and/or nonvolatile storage media, removable and/or non-removable storage media, implemented in any method or technology for storage of information such as computer-executable instructions (e.g., programs), data structures, and/or other data. Memory <b>104</b>, removable storage <b>108</b>, and non-removable storage <b>110</b> are all examples of computer-readable storage media. Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, and/or any other medium that can be used to store the desired information and that can be accessed by device <b>100</b>, either alone or in any combination or subcombination thereof. Any such computer-readable storage media may be part of, or configured to be compatible with, computing device <b>100</b>.
0018Computing device <b>100</b> may further have one or more communication connections <b>112</b>, which may be input and/or output connections. The communication connections <b>112</b> allow the computing device <b>100</b> to communicate with other devices outside of the computing device <b>100</b>. The computing device <b>100</b> may further have or be coupled with one or more input devices <b>114</b> such as a keyboard, pointing device (e.g., a mouse, trackball, stylus, laser pointer, etc.), voice input device, touch input device, etc., as well as one or more output device(s) <b>116</b>, such as a display, speakers, printer, etc.
0019The processing unit <b>102</b> may control one or more portions of the computing device <b>100</b>. For example, the processing unit <b>102</b> may directly or indirectly control what is to be displayed on a display. The processing unit <b>102</b> may further execute computer-executable instructions and manipulate data provided to the processing unit <b>102</b>. Computer-executable instructions and/or data may be provided to the processing unit <b>102</b> from the memory <b>104</b>, the removable storage <b>108</b>, the non-removable storage <b>110</b>, the output devices <b>116</b>, the input devices <b>114</b>, and/or the communication connections <b>112</b>.
0020Referring to <figref idref="DRAWINGS">FIG. 2</figref>, an example of one of the output devices <b>116</b> coupled to or part of the computing device <b>100</b> may be a display <b>201</b>. The display <b>201</b> may be any type of display, such as but not limited to a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic LED (OLED) display, a plasma display, a television set, or a projector. The display <b>201</b> may have a displayable portion <b>202</b> that may stretch across the entirety of the display <b>201</b> or may spread across only a portion of the display <b>201</b>. The displayable portion <b>202</b>, which may be flat or curved, is that portion of the display <b>201</b> that actually provides displayed output such as graphics and text. In the case of a projector, the displayable portion <b>202</b> would be the area of a projected surface onto which the projector is configured to project light. The display <b>201</b> may also present a displayed control <b>203</b>, such as, but not limited to, a conventional mouse pointer, a window, or an icon.
0021Referring to <figref idref="DRAWINGS">FIG. 3</figref>, an example of one of the input devices <b>114</b> coupled to or part of the computing device <b>100</b> may be a pointing device <b>301</b>. As will be discussed below, the translational position and/or orientation of the displayed control <b>203</b> may be manipulated using the pointing device <b>301</b>. The illustrative pointing device <b>301</b> has a body <b>309</b>, which may be a housing, frame, or other supporting structure. In this example, the body <b>309</b> is shown as elongated so as to be easily grasped and maneuvered by the human hand, such as a cylindrical shape. However, the body <b>309</b> may be of any shape and size. The pointing device <b>301</b> may define at least one imaginary linear axis <b>304</b>. This axis <b>304</b> will be referred to herein as a “pointing axis.” In this example, the pointing axis <b>304</b> is shown to extend between arbitrary imaginary points <b>302</b> and <b>303</b> on the body <b>309</b>. The pointing axis <b>304</b> is fixed with respect to the pointing device <b>301</b> (and, in this case, the body <b>309</b>). In other words, in this example, the pointing axis <b>304</b> moves with the pointing device <b>301</b> so as to always extend between the same two points <b>302</b>, <b>303</b>, regardless of the translational position or orientation of the pointing device <b>301</b>.
0022The illustrative pointing device <b>301</b> further has a sensor <b>307</b> that senses the orientation and translational position of the pointing device <b>301</b>. The sensor <b>307</b> may be a single sensor or may be made up of multiple sub-sensors. The sensor <b>307</b> may sense orientation in as many as two or three degrees of freedom (e.g., orientation about X, Y, and/or Z coordinate axes) and translational position in as many as three degrees of freedom (e.g., translational position along the X, Y, and/or Z coordinate axes). The sensor <b>307</b> may sense translational position and orientation using any one or more of a number of known technologies. For example, the sensor <b>307</b> may include a known magnetic tracker. The magnetic tracker may include an emitter and detector pair, where one of the emitter and the detector is attached to the pointing device <b>301</b> and the other of the emitter and the detector is located in the environment outside of the pointing device <b>301</b>. Alternatively, the emitter may be replaced with the natural geomagnetic field of the Earth. An example of a device using magnetic position sensing technology is the Cyber Track product marketed by General Reality Company, and the SpacePad and Flock of Birds product marketed by Ascension Technology Corporation.
0023In addition to magnetic tracking, there are a myriad of known ways to track the translational position and/or orientation of an object. Other such technologies include, but are not limited to, optical tracking (e.g., using one or more cameras or laser interferometers), acoustic tracking (e.g., using ultrasound), mechanical tracking (e.g., using joint angle sensors), and inertial tracking (e.g., using a gyroscope). The sensor <b>307</b> may use only a single tracking technology or may use multiple types of tracking technologies. For example, a first type of tracking technology may be used to track the translational position of the pointing device <b>301</b>, while a second type of tracking technology is used to track the orientation of the pointing device <b>301</b>.
0024To communicate the sensed orientation and translational position to the computing device <b>100</b>, the pointing device <b>301</b> further has a communication connection <b>308</b> coupled to the sensor <b>307</b>. The communication connection <b>308</b> wirelessly (e.g., radio frequency or infra-red) or by wire communicates with the communications connection <b>112</b> of the computing device <b>100</b>. Signals (e.g., analog signals and/or digital data) representing the orientation and the translational position of the pointing device <b>301</b> may be sent to the computing device <b>100</b> via the communication connection <b>308</b> periodically, sporadically, or continuously. The computing device <b>100</b> may then use these signals to control the translational position and/or orientation of the displayed control <b>203</b>, such as a mouse pointer, on the display <b>201</b>.
0025The illustrative pointing device <b>301</b> may further have a light source <b>305</b> that directs a relatively narrow, focused beam of light <b>306</b> in a single direction. For example, the beam of light <b>306</b> may be a substantially collimated beam, as is the light emitted from many known flashlights and laser pointers. The beam of light <b>306</b> is of a wavelength or wavelengths visible to the human eye, and may preferably be sufficiently narrow and directed so as to be useful for pointing by presenting a concentrated spot of light onto whatever surface the beam of light <b>306</b> is directed. The spot of light may be less than, e.g., a centimeter or two in diameter, or even less than a millimeter in diameter, and may be presented on surfaces that are distanced from the light source <b>305</b>, such as by up to several feet, by up to several meters, or even more. The beam of light <b>306</b> may preferably be directed in a direction parallel to the pointing axis <b>304</b>, and even coinciding with the axis <b>304</b>, although neither of these is necessary. By coinciding the beam of light <b>306</b> with the pointing axis <b>304</b>, the user is able to visually determine where the pointing axis <b>304</b> is directed at any given time. The light source <b>305</b> may be any type of light source, such as but not limited to a filamentous bulb, an LED, or a laser such as a laser diode. The light source <b>305</b> may further have an optical system, such as, but not limited to, one or more lenses, to direct the output light as a narrow beam. The light source <b>305</b> is not necessary for operation of the pointing device <b>301</b>, and may be used merely to provide visual feedback to the user as to where the pointing device <b>301</b> is directed.
0026Referring to <figref idref="DRAWINGS">FIG. 4</figref>, a user may mechanically manipulate the pointing device <b>301</b> within a volume of space by changing the orientation and/or the translational position of the pointing device <b>301</b>. The term “orientation” as used herein refers to the rotational configuration of an object. The orientation of an object is measured with respect to a known imaginary point <b>310</b> associated with, and fixed relative to, the object as shown in <figref idref="DRAWINGS">FIG. 3</figref>. This imaginary point <b>310</b> is referred to herein as a “hub point.” The hub point <b>310</b> may be the center of mass of the object or some arbitrary point in the object, on the object, or even outside the object. Pure rotation of the object does not result in translation (as defined below) of the hub point. Orientation may be measured in, e.g., angular degrees or radians, and may be defined with respect to one or more degrees of freedom around the hub point <b>310</b>. In contrast, the terms “translate” or “translation” as used herein refer to any movement other than rotation. Translation does not exclude the possibility of rotation simultaneously with the translation, but rotation alone does not constitute a translation of an object. Unlike pure rotation, translation of the object causes the hub point <b>310</b> itself to translate. The term “translational position” as used herein refers to the location of an object irrespective of its orientation. The translational position of an object may be considered to be, for example, the translational position of the object's hub point <b>310</b>.
0027As shown in <figref idref="DRAWINGS">FIG. 4</figref>, the pointing device <b>301</b> has been manipulated to a particular translational position and orientation, such that the pointing axis <b>304</b> is directed from the pointing device <b>301</b> toward a particular direction. In this case, the pointing axis <b>304</b> is directed toward the displayable portion <b>202</b> of the display <b>201</b>, and intersects the displayable portion <b>202</b> at point <b>401</b>. In this example, the light source <b>305</b> would direct the beam of light <b>306</b> to present a spot of light at point <b>401</b>.
0028A three-dimensional coordinate system may be defined to measure the translational position and orientation of the pointing device <b>301</b>. For example, as shown in <figref idref="DRAWINGS">FIG. 4</figref>, the pointing device <b>301</b> may be considered to be located somewhere in an X, Y, Z orthogonal axis coordinate system. However, other coordinate systems may be used, such as polar coordinate systems. In this example, it is assumed that the displayable portion <b>202</b> is substantially planar, that the X and Y axes are parallel to the displayable portion <b>202</b> and orthogonal to one another, and that the Z axis is orthogonal to the displayable portion <b>202</b>. However, the X, Y, Z coordinate system may be oriented differently from that shown, and the displayable portion <b>202</b> may not necessarily be planar. Each of these translational position coordinates represents a different degree of freedom in which the pointing device <b>301</b> can move, for a total of three translational degrees of freedom. In the example coordinate system shown, the translational position of the pointing device <b>301</b> is uniquely and completely defined by a particular set of X, Y, Z coordinates. In particular, this set of coordinates may define the translational position of the hub point <b>301</b> or some other point associated with, and fixed relative to, the pointing device <b>301</b>. The orientation of the pointing device <b>301</b> may similarly be defined using the X, Y, Z coordinate system, or by some additional coordinate system.
0029Also, in the example coordinate system shown, the orientation of the pointing device <b>301</b> may be defined by a set of angles relative to two of the three X, Y, Z, axes, i.e., either Ax and Ay, or Ax and Az, or Ay and Az. Other coordinate systems for defining the orientation of the pointing device <b>301</b> may be used. In this example, the angle of orientation of the pointing device <b>301</b> around a line parallel to the X axis (i.e., the angle of orientation in the Y-Z plane) will be denoted as Ax, and the angle of orientation of the pointing device <b>301</b> around a line parallel to the Y axis (i.e., the angle of orientation in the X-Z plane) will be denoted as Ay. Each of these orientations Ax, Ay represents a different degree of freedom in which the pointing device <b>301</b> can rotate, for a total of two rotational degrees of freedom.
0030In response to the translational position and orientation of the pointing device <b>301</b> being determined, the pointing device <b>301</b> may communicate this information to the computing device <b>100</b>, which in turn may calculate the location of point <b>401</b> and command the display <b>201</b> to display the control <b>203</b> at the location of point <b>401</b>. The control <b>203</b> may be any type of displayed element such as, but not limited to, a conventional mouse pointer, a window, or an icon.
0031Calculating the location of point <b>401</b>, and thus of the displayed control <b>203</b>, may include mapping the translational position and orientation of the pointing device <b>301</b> in the X, Y, Z coordinate system to a two-dimensional target coordinate system, in this example shown in <figref idref="DRAWINGS">FIG. 4</figref> as coordinate system U, V. Thus, point <b>401</b> may have a particular set of U, V coordinates. In this example, the U and V axes together define a plane that coincides with the displayable portion <b>202</b>. For simplifying this example, the X axis is parallel to the U axis and the Y axis is parallel to the V axis. The U, V Cartesian coordinate system is merely illustrative; any two-target coordinate system that defines a two-dimensional surface may be used. In general, mapping from one coordinate system to another is a well-known mathematical process that one of ordinary skill in the art could derive with little effort for a given pair of coordinate systems. The actual mapping algorithm would depend upon the pair of coordinate systems used.
0032Referring to <figref idref="DRAWINGS">FIG. 5</figref>, it may be desirable to calibrate the sensor <b>307</b> of the pointing device <b>301</b> prior to use. Calibration allows the X, Y, Z coordinate system to be defined and located relative to the target U, V coordinate system. Calibration may involve pointing the pointing device <b>301</b> (i.e., directing the pointing axis <b>304</b>) at a plurality of known reference positions, such as reference points. In this example, the computing device <b>100</b> commands the display <b>201</b> to display three reference points <b>501</b>, <b>502</b>, <b>503</b> on the on the U, V plane of the displayable portion <b>202</b>. However, the reference points do not necessarily need to be displayed, and can be known reference positions located anywhere (e.g., marking stickers placed on the wall of the user's office). When presented by the display <b>201</b>, these reference points may be sequentially displayed one at a time or displayed simultaneously.
0033To provide an example of how calibration can be performed, assume that three known reference points A, B, C are used for calibration. For purposes of simplifying this example, the orientation Ap around the pointing axis <b>304</b> will be ignored. Further assume that reference point A is positioned along the Z-axis, reference point B is positioned such that the pointing device <b>301</b> would point to it from reference point A merely by rotating the pointing device <b>301</b> in the X-Z plane, and reference point C is positioned such that the pointing device <b>301</b> would point to it from reference point A merely by rotating the pointing device <b>301</b> in the Y-Z plane. The given three reference points A, B, and C each has a given and known U, V set of coordinates denoted as (Ua, Va), (Ub, Vb) and (Uc, Vc), respectively. In this example, reference point A will be defined to be the origin for U-V system, i.e., Ua=Va=zero.
0034The coordinates of the pointing device <b>301</b> in X-Y-Z coordinate system during these three measurements will be denoted herein as (Xi, Yi, Zi, Axi, Ayi), where i=a, b, and c, representing points A, B, and C, respectively. When the pointing device <b>301</b> points to reference point A, a reference position is defined with the measured (Xa, Ya, Za, Axa, Aya), i.e., Xa=Ya=zero; Axa=Aya=zero. Za cannot yet be calibrated. In this way, all subsequent measurements are really relative to (Xa, Ya, Axa, Aya). However, for simplicity the mathematical delta symbol will not be used. When the pointing device <b>301</b> points to reference point B, the pointing device <b>301</b> is only rotating around Y-axis in our assumption, such that Axb=0, Yb=0. Thus, Vb=zero, and Ub=L tan(Ayb), where L is the Z-axis distance between the hub point <b>310</b> of the pointing device <b>301</b> and the U-V plane. At this point, the Z-coordinate can be determined. Assuming that when moving from pointing to reference point A to pointing to reference point B, the pointing device <b>301</b> would move in the X-Z plane by an amount given by Xb, Zb. In that case, Xb would be added to Ub=Xb+L tan(Ayb). The Z-axis position is recorded and calibrated as L, i.e., Zb=L. Subsequent Z coordinates would be the relative movement detected by the pointing device <b>301</b> and added to L. When the pointing device <b>301</b> moves to point to reference point C, the pointing device <b>301</b> need only rotate about the X-axis compared with when the pointing device was pointing to reference point A. Thus, Ayc=Xc=zero, Uc=zero, and Vc=Yc+(Zc+L) tan(Axc), assuming that Zc is the relative Z-axis displacement of the hub point <b>310</b> compared with when reference point B was measured.
0035Based on the above procedure, we have now initialized the reference points of X, Y, Z, Ax, Ay. After calibration is complete, subsequent translational positions and orientations of the pointing device <b>301</b> may be mapped to the target coordinate system. For an arbitrary motion of the pointing device <b>301</b> the target U, V coordinates for the displayed control <b>203</b> may be calculated as follows: <br /><i>U=X+</i>(<i>Z+L</i>)tan(<i>Ay</i>), and<br /><i>V=Y+</i>(<i>Z+L</i>)tan(<i>Ax</i>).
0036In addition to the three translational degrees of freedom and two rotational degrees of freedom discussed above, the pointing device <b>301</b> may have an additional rotational degree of freedom, which would be orientation of the pointing device <b>301</b> around the pointing axis <b>304</b>. The angle of orientation of the pointing device <b>301</b> around the pointing axis <b>304</b> (i.e., the angle of orientation in the plane that is normal to the pointing axis <b>304</b>) will be denoted herein as Ap. Note that the U, V coordinates of the displayed control <b>203</b> would not be affected by Ap. Instead, the orientation of the displayed control <b>203</b> may be based on Ap. Thus, for example, from the point of view of looking from behind the pointing device toward the displayable portion <b>202</b>, a rotation of the pointing device <b>301</b> clockwise around the pointing axis <b>304</b> may result in a clockwise rotation of the displayed control <b>203</b>. Likewise, a counter-clockwise rotation of the pointing device <b>301</b> around the pointing axis <b>304</b> may result in a counter-clockwise rotation of the displayed control <b>203</b>. Also, the amount of rotation of the displayed control <b>203</b> may preferably be equal to (or the negative of, depending upon the U-V coordinate system) Ap. Although the previous examples assume that the rotational degrees of freedom are measured as Ax, Ay, and Ap, other rotational coordinate systems may be used. For example, the rotational degrees of freedom may be measured as Ax, Ay, and Az, where Az is the angle of orientation of the pointing device <b>301</b> around a line parallel to the Z axis (i.e., the angle of orientation in the Y-Z plane). In this latter coordinate system, the orientation of the displayed control <b>203</b> in the U-V plane may depend upon a combination of Ax, Ay, and Az.
0037It should be noted that the pointing device <b>301</b> may further be combined with other types of pointing device elements such as a trackball, a scroll wheel, or a traditional electronic pen sensor. For example, the pointing device <b>301</b> may be configured to sense not only its translational position and orientation as discussed above, but also to sense whether or not the pointing device <b>301</b> is in contact with a writing surface such as the display <b>201</b> and/or the position of the pointing device <b>301</b> with respect to the writing surface.
0038Referring to <figref idref="DRAWINGS">FIG. 6</figref>, an illustrative flowchart summarized how the pointing device <b>301</b> and computing device <b>100</b> may be used together as a system. In step <b>601</b>, the pointing device <b>301</b> is calibrated, such as in the manner described above. Once the pointing device <b>301</b> is calibrated, samples may be taken of the translational position and orientation of the pointing device <b>301</b>. Such samples may be taken continuously, sporadically, or periodically. When it is time to take a sample (step <b>602</b>), the translational position and orientation of the pointing device <b>301</b> may be determined in steps <b>603</b> and <b>604</b>. Next this information is sent to the computing device <b>100</b>, and the computing device <b>100</b> determines the appropriate translational position, and optionally the orientation, of the displayed control <b>203</b> in steps <b>605</b> and <b>606</b>. This may be done by mapping from the X, Y, Z system to the U, V system as previously described. Next, in step <b>607</b>, the computing device <b>100</b> commands the display <b>201</b> to display the control <b>203</b> at the determined translational position, and optionally at the determined orientation. Steps <b>602</b>-<b>607</b> may be repeated for each subsequent sampling.
0039Referring to <figref idref="DRAWINGS">FIG. 7</figref>, the pointing device <b>301</b> may be marketed in combination with a computer-readable medium such as a removable diskette <b>702</b>. The diskette <b>702</b> may include computer-readable instructions, such as software, that configures the computing device <b>100</b> to perform some or all of the functions described above. For example, the computer-readable instructions may configure the computing device <b>100</b> to receive values of the translational position and orientation of the pointing device, to determine the appropriate translational position and, optionally, orientation of the displayed control <b>203</b> associated with the received values, and to command the display <b>201</b> to actually display the control <b>203</b>.
0040While illustrative systems and methods as described herein embodying various aspects of the present invention are shown by way of example, it will be understood, of course, that the invention is not limited to these embodiments. Modifications may be made by those skilled in the art, particularly in light of the foregoing teachings. For example, each of the elements of the aforementioned embodiments may be utilized alone or in combination with elements of the other embodiments. Also, the invention has been defined using the appended claims, however these claims are exemplary in that the invention is intended to include the elements and steps described herein in any combination or sub-combination. It will also be appreciated and understood that modifications may be made without departing from the true spirit and scope of the invention.
Contents6
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both waysCites: the store holds 17 of 18
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10694136B2 | Cited by | United States of America | Search report |
| US9098129B2 | Cited by | United States of America | Search report |
| US2014240198A1 | Cited by | United States of America | Search report |
| US11946761B2 | Cited by | United States of America | Applicant |
| US2014240198A1 | Cited by | United States of America | Pre-grant |
| US2012297019A1 | Cited by | United States of America | Pre-grant |
| US2003006975A1 | Cites | United States of America | Applicant |
| US2003076299A1 | Cites | United States of America | Search report |
| US2004095317A1 | Cites | United States of America | Search report |
| US2005216867A1 | Cites | United States of America | Applicant |
| US4980519A | Cites | United States of America | Applicant |
| US5181181A | Cites | United States of America | Search report |
| US5298919A | Cites | United States of America | Applicant |
| US5313230A | Cites | United States of America | Applicant |
| US5361078A | Cites | United States of America | Search report |
| US5703623A | Cites | United States of America | Search report |
| US5963197A | Cites | United States of America | Applicant |
| US6404416B1 | Cites | United States of America | Search report |
| US6704000B2 | Cites | United States of America | Search report |
| US7061468B2 | Cites | United States of America | Search report |
| US7239301B2 | Cites | United States of America | Search report |
| US7746321B2 | Cites | United States of America | Search report |
| US7859523B2 | Cites | United States of America | Applicant |
| Position Trackers: Magnetic. 2004. www.cs.utah.edu/classes/cs6360/Kolozs/magnetic/mag1.html. | Non-patent | – | Search report |
| "3D Scanners", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "3rdTech Home", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "5th Glove", General Reality Company Product Specifications, retrieved from on Aug. 10, 2004,(1996),2 pages. | Non-patent | – | Applicant |
| "Autonomous Calibration", retrieved from on Aug. 10, 2004,4 pages. | Non-patent | – | Applicant |
| "Axilglaze", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "Cricket", retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "CyberTrack II", General Reality Company Product Sheet, retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "CyberTrack", General Reality Company Product Specifications, retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "Didjiglove-Animation at the Speed of Life", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "Final Office Action", U.S. Appl. No. 10/914,118, (Oct. 22, 2009),18 pages. | Non-patent | – | Applicant |
| "Final Office Action", U.S. Appl. No. 10/914,118, (Sep. 25, 2008),14 pages. | Non-patent | – | Applicant |
| "GloveGRASP", General Reality Company Product Specifications, retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "GloveMotion", General Reality Company Product Specifications, retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "GMD Digital Media Lab Components: GAMS Tracker", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "Grasping and Master Gloves", retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "Gyration Media Center Remote Control", retrieved from on Mar. 16, 2004,1 page. | Non-patent | – | Applicant |
| "ImageGlove", General Reality Company Product Specifications, retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "ImageTrak", General Reality Company Product Specifications, retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "InterSense, Inc.-The New Standard in Motion Tracking", retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "Motion Analysis Press Release", retrieved from on Aug. 10, 2004,9 pages. | Non-patent | – | Applicant |
| "NDI: Home", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "Non Final Office Action", U.S. Appl. No. 10/914,118, (Dec. 31, 2007),13 pages. | Non-patent | – | Applicant |
| "Non Final Office Action", U.S. Appl. No. 10/914,118, (Feb. 16, 2010),16 pages. | Non-patent | – | Applicant |
| "Non Final Office Action", U.S. Appl. No. 10/914,118, (May 21, 2009),15 pages. | Non-patent | – | Applicant |
| "Notice of Allowance", U.S. Appl. No. 10/914,118, (Aug. 11, 2010),5 pages. | Non-patent | – | Applicant |
| "PHANTOM Devices", SensAble Technologies, retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "Polhemus Homepage", retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
| "UNC-CH Tracker Research Group Homepage", retrieved from on Aug. 10, 2004,5 pages. | Non-patent | – | Applicant |
| "VirtuaHead: A Vision Based Head Tracker for Desktop VR", retrieved from on Aug. 10, 2004,1 page. | Non-patent | – | Applicant |
| "Virtual Reality Resource Guide", Interactive Innovations Technologies, retrieved from on Aug. 10, 2004,(Apr. 5, 2000),2 pages. | Non-patent | – | Applicant |
| Dowling, Kevin "What Robotics Related Products are There?", retrieved from on Aug. 10, 2004,(Jul. 3, 1997),55 pages. | Non-patent | – | Applicant |
| Kolozs, James "Acoustic Position Trackers", retrieved from on Feb. 13, 2004,2 pages. | Non-patent | – | Applicant |
| Kolozs, James "Inertial Position Trackers", retrieved from on Feb. 13, 2004,2 pages. | Non-patent | – | Applicant |
| Kolozs, James "Magnetic Position Trackers", retrieved from Feb. 13, 2004,2 pages. | Non-patent | – | Applicant |
| Kolozs, James "Mechanical Position Trackers", retrieved from on Feb. 13, 2004,3 pages. | Non-patent | – | Applicant |
| Kolozs, James "Optical Position Trackers", retrieved from on Feb. 13, 2004,4 pages. | Non-patent | – | Applicant |
| Kolozs, James "Position Trackers for Virtual Reality", retrieved from on Feb. 13, 2004,3 pages. | Non-patent | – | Applicant |
| Mulder, Axel "Human Movement Tracking Technology", Hand Centered Studies of Human Movement Project, Technical Report 94-1, retrieved from on Aug. 10, 2004,(Jul. 1994),13 pages. | Non-patent | – | Applicant |
| Zhai, Shumin "USER", IBM Almaden Research, retrieved from on Aug. 10, 2004,2 pages. | Non-patent | – | Applicant |
4 members in 1 office
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 91411804 | United States of America | A | |
| 91411804 | United States of America | A | |
| 95202110 | United States of America | A | |
| 10914118 | – | – | – |
| US20040914118 | – | – | – |
| US20100952021 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2006033711A1 | United States of America | A1 | |
| US7859523B2 | United States of America | B2 | |
| US2011063217A1 | United States of America | A1 | |
| US8384698B2This record | United States of America | B2 |
59 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | |
|---|---|
| Expire Patent | |
| Maintenance Fee Reminder Mailed | |
| Correspondence Address Change | |
| Recordation of Patent Grant Mailed | |
| Patent Issue Date Used in PTA CalculationAllowed | |
| Email Notification | |
| Issue Notification MailedAllowed | |
| Dispatch to FDC | |
| Application Is Considered Ready for Issue | |
| Issue Fee Payment Verified | |
| Issue Fee Payment Received | |
| Electronic Review | |
| Email Notification | |
| Mail Notice of AllowanceAllowed | |
| Notice of Allowance Data Verification CompletedAllowed | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Email Notification | |
| Mail Applicant Initiated Interview Summary | |
| Interview Summary- Applicant Initiated | |
| Electronic Review | |
| Email Notification | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Date Forwarded to Examiner | |
| Disposal for a RCE / CPA / R129 | |
| Information Disclosure Statement considered | |
| Reference capture on IDS | |
| Information Disclosure Statement (IDS) Filed | |
| Request for Continued Examination (RCE) | |
| Information Disclosure Statement (IDS) Filed | |
| Electronic Review | |
| Email Notification | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Email Notification | |
| Mail Examiner Interview Summary (PTOL - 413) | |
| Email Notification | |
| Change in Power of Attorney (May Include Associate POA) | |
| Interview Summary Record | |
| Correspondence Address Change | |
| Email Notification | |
| PG-Pub Issue Notification | |
| Electronic Review | |
| Email Notification | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Case Docketed to Examiner in GAU | |
| Application Is Now Complete | |
| Email Notification | |
| Email Notification | |
| Change in Power of Attorney (May Include Associate POA) | |
| Filing Receipt | |
| Application Dispatched from OIPE | |
| Cleared by OIPE CSR | |
| IFW Scan & PACR Auto Security Review | |
| Initial Exam Team nn |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF |
Numbers
- Publication
- 08384698
- Publication, DOCDB
- 8384698
- Publication, EPODOC
- US8384698
- Application
- 12952021
- Application, DOCDB
- 95202110
- Application, EPODOC
- US20100952021
Titles
- English
- Direct navigation of two-dimensional control using a three-dimensional pointing device
Patent term adjustment
- A delay
- +214 daysthe office missed an examination deadline
- Net adjustment
- 214 days
Classification
- CPC, 1
- G06F3/0346
- IPC, 1
- G06F3 033
- USPC, 2
- 345179000
- 345158000