Many types of input devices rely on measuring rotation or other movement of a knob, a dial or some other type of element which a human user can manipulate. A scroll wheel on a computer mouse is a familiar example of such a control. However, numerous other types of input controls also measure rotational and linear movement. For example, a trackball measures both the direction and amount that a user-movable ball is rotated about X and Y axes. A joystick measures the direction and amount by which a stick is pivoted about its base. A dial (e.g., a volume control dial) measures the amount by which a user has rotated that dial, as well as the direction of rotation. A mouse typically measures the direction and amount of motion along two orthogonal axes.
Movement-sensing controls convert the rotational or linear movement of a physical component into some type of signal. Existing controls perform this conversion (also known as encoding) in a variety of ways. Some controls rely on a potentiometer coupled to the moving element. Rotation or other movement of the element causes a corresponding increase or decrease in the electrical resistance of the potentiometer. That resistance is then used as a measure of the element's movement. Although potentiometers have advantages (e.g., low cost, ease of implementation), they can also generate noise and suffer from performance degradation as the potentiometer wears. Potentiometers may have limited accuracy, and may not be suitable where very precise measurement is required. Potentiometers are also not suitable for endlessly rotatable input controls such as mouse scroll wheels.
Another type of encoder uses a light source (e.g., an LED) and a light detector on opposite sides of an encoding wheel having alternating regions which block passage of light. The encoding wheel may be directly manipulated by the user or coupled to some other element which the user moves. As the encoding wheel turns, light from the LED is alternately received and then blocked from the light detector. The light detector output is then used to measure the amount by which the encoding wheel has rotated. These types of encoders can be used in an endlessly rotatable control, and have numerous other advantages. However, the precision of these encoders may also be limited. Moreover, these encoders usually require that two separate elements (the LED and the receptor) be aligned.
Optical imaging is another mechanism used for encoding motion. Typically, an LED or other light source illuminates a tracking surface (e.g., a desktop over which a mouse moves, a trackball outer surface, etc.). An imaging array is then used to capture an image of a portion of the tracking surface. Successive images are then correlated and used to determine direction and/or speed and/or amount of tracking surface movement. Although optical imaging represents a substantial advance in motion encoding, cost concerns may limit the resolution of imaging arrays used for motion encoding. There may also be limits upon the types of surfaces which a given imager may be able to track.
Laser Doppler velocimetry has been used in instrumentation applications such as measuring fluid flow, particle velocity and speeds of moving objects. One potential method of laser Doppler velocimetry makes use of the “self-mixing” effect. As is known in the art, the intensity of a laser's output will change if a portion of that laser's beam is reflected back into the laser's emitting cavity and mixes with the light being generated in the emitting cavity. The change in the laser's output intensity is a function of, e.g., the roundtrip delay between the time that light leaves the laser and the time that the light is reflected back into the emitting cavity. If the laser's beam is reflecting from a moving target back into its emitting cavity, the laser's power output will vary in a periodic manner. These power fluctuations, or “beats,” have a frequency which corresponds to the Doppler shift associated with movement of the reflecting target away from (or toward) the laser. Laser Doppler velocimetry can be very accurate and repeatable. However, the cost and complexity of laser Doppler velocimetry systems has remained high. For at least these reasons, such systems have not been used with computer or other types of low cost input devices.
In at least some embodiments, a rotational input device encodes direction and speed of rotation using a laser self-mixing velocimeter. In certain of these embodiments, a laser beam is directed on a disk or other rotatable member. As light from that beam is reflected back into the emitting cavity of the laser, the beam power output fluctuates because of the self-mixing effect. These fluctuations are then measured and used to determine the speed of rotation. The rotational speed can then be converted into a measure of the amount of rotation. In some embodiments, the direction of rotation is also determined based on waveforms in the laser output.
In other embodiments, a laser self-mixing velocimeter is used to encode linear motion. This linear motion may, e.g., be motion of a computer mouse along two or more axes in the plane of a desktop or other surface across which the mouse is moved. In still other embodiments, this linear motion may be the movement of a finger or other body part across a tracking window through which beams of one or more laser self-mixing velocimeters are shined.
In yet other embodiments, a laser self-mixing velocimetry system includes a phase locked loop (PLL) which mixes a signal from a laser sensor with a reference frequency. In still further embodiments, a laser self-mixing velocimetry system includes a zero point control to reduce erroneous tracking readings at very low speeds. In additional embodiments, a laser self-mixing velocimetry system includes a bias current modulator which tracks the Doppler shift output by the laser sensor.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
At least some illustrative embodiments of the invention employ a laser to measure the velocity with which an object is moving.
Returning to
Because surface 4 is moving in relation to VCSEL 18, self-mixing will cause the power output of VCSEL 18 to fluctuate in a periodic manner. These periodic fluctuations, or “beats,” can be detected by monitoring output from PD 20. The output of PD 20, or “beat signal,” will have a frequency which varies based on the speed with which surface 4 is moving relative to VCSEL 18. Moreover, the beat signal frequency will equal the Doppler frequency shift (FD) in the light being reflected from surface 4. The Doppler frequency FD is related to the velocity of surface 4 as set forth in Equation 1.
In Equation 1, V is the linear speed of surface 4 at the point where it is contacted by beam 8. If disk 2 is rotating clockwise (as shown in
As can be appreciated from the foregoing description and from
However, other aspects of the beat signal from PD 20 can be employed to determine the direction in which surface 4 is moving relative to VCSEL 18. Under conditions which will often be controllable, the beat signal waveform is asymmetric. As described, e.g., in Wang et al., Self-Mixing Interference Inside a Single-Mode Diode Laser for Optical Sensing Applications,” Journal of Lightwave Technology, Vol. 12, No. 9 (IEEE, September 1994), this waveform will approximate a sawtooth wave under certain circumstances. The orientation of the “teeth” in this wave will correspond to the direction in which a reflective target is moving relative to VCSEL 18, as shown in
In another approach, direction of motion may be determined using triangular current modulation. In particular, the biasing current of VCSEL 18 is periodically ramped up and down such that a waveform corresponding to the biasing current resembles a series of triangles. As the biasing current increases, the frequency of the light from VCSEL 18 also increases slightly. Conversely, the frequency of light from VCSEL 18 decreases slightly as the biasing current decreases. This causes different Doppler frequency shifts for a given relative movement of surface 4. In other words, for movement of surface 4 at a constant velocity, FD will vary with the biasing current. Using signal processing techniques known to persons skilled in the art, differences between FD values on the bias current upslope and on the bias current downslope are compared so as to indicate the direction of motion. If surface 4 is moving toward VCSEL 18, there will be more cycles of the beat signal on the bias current downslope than on the upslope. If surface 4 is moving away from VCSEL 18, there will be more cycles on the bias current upslope than on the downslope. In particular, the upslope current ramp adds an increasing frequency component to the Doppler signal and so has the same effect as adding a positive velocity offset (moving faster away from the source). The downslope current has the same effect as adding a negative velocity offset (moving slower away from the source). If the motion of direction is away from the source, the downslope offset will subtract and the upslope offset will add to the frequency. In this manner the direction can be determined by comparing the effects of the negative and positive offsets on the Doppler frequency.
The motion data calculated by controller 46 is then converted in block 48 (which may be a separate controller or microprocessor, or part of controller 46) to a form of data (e.g., counts) recognized by a computer or other equipment receiving user input. That data may also be placed in a Human Interface Device (HID) report or otherwise prepared for transmission according to an appropriate protocol.
In at least some embodiments, the components of
Under some conditions, the embodiment of
Returning to sensor 10, the beat signal output by the PD is fed to amplifier 54 so as to increase the strength of the beat signal. Also input to amplifier 54 from modulator 52 is the frequency of the triangle wave used to control driver 50. Because the VCSEL of sensor 10 is being driven with a triangle wave bias current, the beat signal will include a harmonic having the triangular wave frequency (even in the absence of any movement of surface 4). Accordingly, amplifier 54 also subtracts the triangle wave frequency from the beat signal. The output of amplifier 54 is then input to bandpass filter 56 to remove frequencies outside a predetermined range (e.g., 4-500 KHz). The output from bandpass filter 56 is then input to analog phase locked loop (PLL) 60 for additional noise reduction.
Because analog PLLs have good noise rejection and amplitude modulation rejection qualities, they can be used to regenerate a less-noisy version of a noisy input signal.
In particular, an analog PLL can be used to enhance the accuracy with which Doppler frequency and velocity are measured. However, conventional analog PLLs have a limited “lock” range of approximately ±20% of the center frequency of the voltage controlled oscillator (VCO) in the PLL. In other words, such a PLL would only be able to reproduce input frequencies that are within 20% of the VCO center frequency. If a conventional analog PLL were used in the system of
In the embodiment of
The details of PLL 60 are shown in more detail in the block diagram of
The output of VCO 60-4 is fed to mixer 60-3. Also fed to mixer 60-3 is a reference frequency generated by reference frequency oscillator 60-5. In mixer 60-3, the frequency of the signal output by VCO 60-4 is reduced (or “downconverted”) by the reference frequency from oscillator 60-5. The downconverted output from mixer 60-3 is then fed to phase detector 60-1. As previously indicated, phase detector 60-1 compares the beat signal with the output from mixer 60-3 to generate the phase difference signal. Because VCO 60-4 continually adjusts its output so as to reduce the phase difference signal, and because the VCO output is frequency downconverted in mixer 60-3 so as to be within the range of the beat signal frequency, the output from mixer 60-3 will match the beat signal frequency once PLL 60 reaches equilibrium. However, the output of mixer 60-3 is a purified form of the signal received from bandpass filter 56. In particular, processing by PLL 60 removes noise in the beat signal caused by things such as speckling of beam 8 on surface 4 (see
The following example illustrates the operation of PLL 60. Suppose that the beat signal frequency will, for the range of velocities to be measured, vary between 4 KHz and 400 KHz. A conventional analog PLL would be unable to reproduce frequencies over that entire range. For example, a VCO with a center frequency of 202 KHz (halfway between 4 KHz and 400 KHz) would only be able to output frequencies between approximately 162 KHz and 242 KHz. However, VCO having a 2.5 MHz center frequency would be able to output a sufficiently wide range of frequencies. Specifically, such a VCO could output frequencies from approximately 2 MHz (80% of 2.5 MHz) to approximately 3 M z (120% of 2.5 MHz), a spread of approximately 1000 KHz. Because the output of such a VCO would always be higher than the beat signal frequency, however, the VCO output is reduced by a reference frequency of 2.0 MHz. If the beat signal input to phase detector 60-1 had a frequency of 20 kHz, for example, VCO 604 would (after PLL 60 reaches equilibrium) output a 2.02 MHz signal. After downconversion by the 2 MHz reference frequency, a 0.02 MHz (20 KHz) signal is output by 60-3. Similarly, a 390 KHz beat signal input to phase detector 60-1 would cause VCO 60-4 to ultimately output a 2.39 MHz signal. After downconversion by the 2 MHz reference frequency, a 0.39 MHz (390 KHz) signal would be output by 60-3.
The signal from switch 66 is provided to Doppler frequency counter 68 and to divider block 72. In Doppler frequency counter 68, the Doppler frequency is determined by counting the beat signal cycles. Because current modulation causes the VCSEL to have different frequencies on the up- and downslopes of the triangle wave, beat signal cycles are counted over an entire triangle wave period. Frequency counter 68 then provides the Doppler frequency to controller 70. Controller 70 (which may be, e.g., a microprocessor) then converts the Doppler frequency from counter 68 into the speed of the target surface relative to sensor 10. Angular velocity and displacement of disk 2 are then determined based on the time during which surface 4 moved at the calculated speed.
In divide-by-N block 72, the frequency of the signal from switch 66 is reduced to a submultiple. In at least some embodiments, the frequency of the signal received at block 72 is divided by 16 (i.e., N=16). Of course, other submultiples could be used. The divided-down signal from block 72 is then provided to triangle modulator 52 and to the up/down control of counter 74. Modulator 52 uses the signal received from block 72 to set the frequency of the triangle wave used to modulate current driver 50. This is shown in
The direction in which a surface is moving relative to sensor 10 can be determined by comparing the time needed for 8 beat signal cycles on the triangle wave downslope with the time needed for 8 beat signal cycles on the triangle wave upslope. If the time for 8 cycles on the triangle wave downslope is longer than the time for 8 cycles on an adjacent triangle wave upslope, then surface 4 is moving away from sensor 10. Conversely, if the time for 8 cycles on the triangle wave downslope is less than the time for 8 cycles on an adjacent triangle wave upslope, then surface 4 is moving toward sensor 10.
Because the triangle wave modulating the bias current for the VCSEL is locked to a submultiple of the beat signal frequency, however, there will be the same number of beat frequency cycles (8 in the present example) on the up- and downslopes of the triangle wave. Accordingly, the duration of the up- and downslopes can be measured instead of repeatedly counting 8 beat frequency cycles. As indicated above, up/down counter 74 receives an output from divide-by-N counter 72. Up/down counter block 74 also receives a separate high-frequency clock signal (with fixed time units) and counts the number of high frequency clock cycles on the up- and downslopes. In particular, the output of the divide-by-N counter (block 72) controls the counting direction of up/down counter 74. Counter 74 counts up on the triangle wave upslope and down on the triangle wave downslope. If the upslope period is longer than the downslope period, counter 74 will not underflow. If the downslope period is longer than the upslope period, counter 74 will underflow. In this manner, the borrow output (not shown) of counter 74 can be used as the direction indicator.
Determining movement direction in this manner offers several potential advantages over the system of
Returning to block 56 of
The motion data calculated by controller 70 is then converted in block 80 (which may be a separate controller or microprocessor, or part of controller 70) to a form of data (e.g., counts) recognized by a computer or other equipment receiving user input. That data may also be placed in a Human Interface Device (HID) report or otherwise prepared for transmission according to an appropriate protocol.
In at least some embodiments, the components of
A laser self-mixing velocimeter can be used in many different types of input devices.
Thus far, the description has focused on encoding rotational motion. It is to be appreciated, however, that laser self-mixing sensors and detection systems such as those described above are also useful for encoding linear motion. Referring again to Equation 1, the “V” in that equation may not correspond to motion on a rotating surface. Instead, that velocity may be a velocity of a sensor with regard to a surface over which the sensor is moving in a straight line.
Shown in
The invention includes numerous other variations, modifications, combinations and sub-combinations of the previously described systems and methods. For example, the physical arrangement of components shown in the drawings can be varied. Referring to
The above-described sensors and related components for detecting speed, direction and displacement can be used in connection with other types of input devices. However, the described sensors and detection components are not limited to use as part of an input device. One or more aspects of the previously described sensors and detection components can be used in any application where it is desirable to determine speed, direction and/or displacement of objects relative to one another.
Although examples of carrying out the invention have been described, those skilled in the art will appreciate that there are numerous variations and permutations of the above described devices that fall within the spirit and scope of the invention as set forth in the appended claims. It is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Number | Name | Date | Kind |
---|---|---|---|
3954335 | Bodlaj | May 1976 | A |
4240745 | Green | Dec 1980 | A |
4379968 | Ely et al. | Apr 1983 | A |
4417824 | Paterson et al. | Nov 1983 | A |
4641026 | Garcia | Feb 1987 | A |
4721385 | Jelalian et al. | Jan 1988 | A |
4794384 | Jackson | Dec 1988 | A |
5114226 | Goodwin et al. | May 1992 | A |
5125736 | Vaninetti et al. | Jun 1992 | A |
5274361 | Snow | Dec 1993 | A |
5274363 | Koved et al. | Dec 1993 | A |
5369262 | Dvorkis et al. | Nov 1994 | A |
5475401 | Verrier et al. | Dec 1995 | A |
5510604 | England | Apr 1996 | A |
5515045 | Tak | May 1996 | A |
5629594 | Jacobus et al. | May 1997 | A |
5781297 | Castore | Jul 1998 | A |
5808568 | Wu | Sep 1998 | A |
5994710 | Knee et al. | Nov 1999 | A |
6015089 | Hecht et al. | Jan 2000 | A |
6040914 | Bortz et al. | Mar 2000 | A |
6064702 | Hsien | May 2000 | A |
6246482 | Kinrot et al. | Jun 2001 | B1 |
6300940 | Ebina et al. | Oct 2001 | B1 |
6303924 | Adan et al. | Oct 2001 | B1 |
6333735 | Anvekar | Dec 2001 | B1 |
6373047 | Adan et al. | Apr 2002 | B1 |
6489934 | Klausner | Dec 2002 | B1 |
6525677 | Printzis | Feb 2003 | B1 |
6552713 | Van Brocklin et al. | Apr 2003 | B1 |
6585158 | Norskog | Jul 2003 | B2 |
6646723 | Dubovitsky et al. | Nov 2003 | B1 |
6687274 | Kahen | Feb 2004 | B2 |
6707027 | Liess et al. | Mar 2004 | B2 |
6868433 | Philyaw | Mar 2005 | B1 |
6872931 | Liess et al. | Mar 2005 | B2 |
6903662 | Rix et al. | Jun 2005 | B2 |
7085584 | Shima | Aug 2006 | B2 |
7138620 | Trisnadi et al. | Nov 2006 | B2 |
7268705 | Kong | Sep 2007 | B2 |
7283214 | Xu et al. | Oct 2007 | B2 |
7492351 | VanWiggeren et al. | Feb 2009 | B2 |
20010035861 | Ericson et al. | Nov 2001 | A1 |
20010055195 | Suzuki | Dec 2001 | A1 |
20020117549 | Lee | Aug 2002 | A1 |
20020130183 | Vinogradov et al. | Sep 2002 | A1 |
20020158838 | Smith et al. | Oct 2002 | A1 |
20020198030 | Shima | Dec 2002 | A1 |
20030006367 | Liess et al. | Jan 2003 | A1 |
20030085284 | Bremer et al. | May 2003 | A1 |
20030085878 | Luo | May 2003 | A1 |
20030128188 | Wilbrink et al. | Jul 2003 | A1 |
20030128190 | Wilbrink et al. | Jul 2003 | A1 |
20030132914 | Lee | Jul 2003 | A1 |
20030136843 | Ralph et al. | Jul 2003 | A1 |
20030142288 | Kinrot et al. | Jul 2003 | A1 |
20040004128 | Pettinelli et al. | Jan 2004 | A1 |
20040004603 | Gerstner et al. | Jan 2004 | A1 |
20040075823 | Lewis et al. | Apr 2004 | A1 |
20040095323 | Ahn | May 2004 | A1 |
20040109019 | Miyamoto et al. | Jun 2004 | A1 |
20040213311 | Johnson et al. | Oct 2004 | A1 |
20040227954 | Xie | Nov 2004 | A1 |
20040228377 | Deng et al. | Nov 2004 | A1 |
20040246460 | Auracher et al. | Dec 2004 | A1 |
20050007343 | Butzer | Jan 2005 | A1 |
20050044179 | Hunter | Feb 2005 | A1 |
20050068300 | Wang et al. | Mar 2005 | A1 |
20050134556 | VanWiggeren et al. | Jun 2005 | A1 |
20050156875 | Kong | Jul 2005 | A1 |
20050157202 | Lin et al. | Jul 2005 | A1 |
20050168445 | Piot et al. | Aug 2005 | A1 |
20050179658 | Huang et al. | Aug 2005 | A1 |
20050231484 | Gordon et al. | Oct 2005 | A1 |
20050243055 | Ranta et al. | Nov 2005 | A1 |
20060066576 | Kong | Mar 2006 | A1 |
20060213997 | Frank et al. | Sep 2006 | A1 |
20060245518 | Wang | Nov 2006 | A1 |
20060262096 | Panabaker et al. | Nov 2006 | A1 |
20070102523 | Kong | May 2007 | A1 |
20070109267 | Guo et al. | May 2007 | A1 |
20070109268 | Guo et al. | May 2007 | A1 |
Number | Date | Country |
---|---|---|
1107101 | Jun 2001 | EP |
2383231 | Jun 2003 | GB |
WO 0028455 | May 2000 | WO |
WO2005055037 | Jun 2005 | WO |
WO 2005076116 | Aug 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20070002013 A1 | Jan 2007 | US |