The present disclosure generally relates to position detection, and at least one particular implementation relates to identifying a position of and/or tracking an object in multi-dimensional space using at least one sensor.
In the field of computer vision, different techniques exist for finding the position of an object, and for tracking the object in two or three-dimensional space. Estimating the position of an object in two or three-dimensional space typically requires a pair of sensors. Exemplary sensors can include cameras in an arrangement known as stereovision. Although stereovision is one example conventional technology for detecting the position of an object in two or three-dimensional space, cameras with sufficiently high-resolution are expensive. Further, the accuracy of the position detection is often difficult to estimate due to numerous distortions.
The present disclosure is directed to various implementations of processes and systems for determining the position of an object. In some implementations, a first signal is emitted from a first emitter, and a second signal is emitted from a second emitter. A plane is monitored using a sensor, and the first signal and the second signal are received at the sensor after each of the first signal and the second signal reflect off of the object . A response signal is generated based on the first and second signals, and the response signal is processed to determine the position of the object in the plane.
In one feature, first and second geometric shapes can be determined based on the signal, and the position of the object can be determined based on an intersection point of the geometric shapes. In another feature, first flight time of the first signal, and a second flight time of the second signal are determined, and the position of the object is determined based on the first and second flight times. In other features, a channel that focuses the first and second signals is provided. In one implementation, the channel can be located between the sensor and the plane. In another implementation, the channel can be located between at least one of the first and second emitters and the plane.
In other features, the first signal can include a first frequency, the second signal can include a second frequency, and the sensor can include a sampling rate, at which the first and second signals are sampled. The sampling rate can include a sampling frequency that is greater than both the first and second frequencies. In one implementation, the sampling frequency can be at least ten times greater than both the first or second frequencies In still another feature, the sensor can be located between the first and second emitters. In yet another feature, the first and second emitters, and the sensor can be aligned along a common axis.
The present disclosure further describes various implementations of processes and systems for tracking movement of an object. In some implementations, a first signal is emitted from a first emitter, and a second signal is emitted from a second emitter. A first plane is monitored using a first sensor, and the first signal and the second signal can be received at the first sensor after each of the first signal and the second signal reflect off of the object in the first plane. A first response signal can be generated based on the first and second signals, and the first response signal can be processed to determine a first position of the object at a first time.
In another feature, the first response signal can be processed to determine a second position of the object, and a movement of the object can be determined based on the first position and the second position. In another feature, the first response signal can be processed to determine a second position of the object at a second time, and a velocity of the object can be determined based on the first and second positions, and the first and second times.
In still other features, a second plane can be monitored using a second sensor, and the first signal and the second signal can be received at the second sensor after each of the first signal and the second signal reflect off of the object in the second plane. A second response signal can be generated based on the first and second signals, and the second response signal can be processed to determine a second position of the object at a second time. In one implementation, a movement of the object between the first and second planes can be determined based on the first and second positions. In another implementation, a velocity of the object between the first and second planes can be determined based on the first and second positions, and the first and second times.
In a further general implementation, a computer-implemented process includes outputting automatically determined coordinates of an object within a plane based on receiving, at a single sensor, different frequency signals previously emitted in the plane and reflected off of the object.
In still another general implementation, a computer readable medium can be encoded with a computer program product, tangibly embodied-in an information carrier. The computer program product can induce a data processing apparatus to perform operations in accordance with the present disclosure. In some implementations, the data processing apparatus can induce a first emitter to emit a first signal, and can induce a second emitter to emit a second signal. The data processing apparatus can instruct a sensor to monitor a plane, and can receive a response signal from the sensor, the response signal being based on the first and second signals after each of the first signal and the second signal reflect off of the object. The data processing apparatus can process the response signal to determine the position of the object in the plane.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings.
According to one general implementation, a single sensor position detection system is provided, which accurately detects the position of an object using multiple sources of electromagnetic radiation, light, or ultrasound. For instance, the system may be used to output automatically determined coordinates of an object within a plane based on receiving, at a single sensor, different frequency signals previously emitted in the plane and reflected off of the object.
Referring now to
Position detection system 10 further includes a module 16 that is in communication with emitters 12a, 12b, and sensor 14. Module 16 regulates operation of emitters 12a, 12b, and receives a response signal from sensor 14. Module 16 can process the response signal to determine a position of an object in a multi-dimensional space, as described in further detail herein. An exemplar multi-dimensional space includes a two-dimensional plane, or surface 18, on which the position of the object is intended to be calculated. A usable output signal can be generated by module 16, which can be output to a control module 17. Control, module 17, which can be a computer, can regulate operation of another component, such as a display, based on the output signal. A non-limiting example of such control is discussed in detail below with respect to
In operation, emitters 12a, 12b emit a signal across surface 18. The signal can include, but is not limited to, electromagnetic radiation, light (e.g., a line laser), and/or ultrasound. In one implementation, line laser type emitters can be used to produce a thin layer of laser light parallel to surface 18. In another implementation, emitters 12a, 12b can each emit the signal in a three-dimensional (3D) volume that can include, but is not limited to, a cone. The signal reflects off an object that is at least partially positioned on plane 18. The reflected signal is detected by sensor 14, which generates the response signal based thereon.
Referring now to
Referring now to
The position of object 30 can be determined based on the times t1 and t2. More specifically, given times t1 and t2, the distance each signal has traveled,in space is calculated based on the type of signal. For example, if the signal is provided as light, the distance for the given time t is expressed by Equation (1), below, where v represents the speed of light:
d=v· (1)
In general, v represents the speed, or rate of propagation of the particular signal, whether the signal includes electromagnetic radiation, light, or ultrasound.
Referring now to
Referring now to
Ellipses 40, 42 intersect at points P and P′. However, one of these points, point P, indicates the actual position of object 30. By forming analytical equations of the ellipses, the position of object 30 can be determined. Here, it can be assumed that emitters 12a, 12b , and sensor 14 are positioned on a straight line, although in an alternate implementation emitters 12a, 12b and/or sensor 14 are not oriented linearly relative to one another. This approach may also be used to find the position of object 30 with respect to the position of sensor 14. In other words, sensor 14 can be considered to be at the origin of a Cartesian plane. Further, the line A passing through emitters 12a, 12b and sensor 14 can be considered to be the x-axis of the Cartesian plane.
With particular reference to
In Equations (2) to (4), r1 and r2 are the respective distances of point P to the foci F1, F2. 2a is the distance measured by the time of flight, where 2a=d1. Equations (5) to (7), below, are based on Equations (2) to (4):
r
1
2=(x+2c)2y2 (2)
r
2
2
=x
2
+y
2 (3)
r
1
+r
2=√{square root over ((x+2c)2+y2)}+√{square root over (x2+y2)}=2a (4)
In Equations (2) to (4), r1 and r2 are the respective distances of point P to the foci F1, F2. 2a is the distance measured by the time of flight, where 2a=d1. Equations (5) to (7), below, are based on Equations (2) to (4):
With particular reference to
r
2
2
x
2
+y
2 (8)
r
3
2=(x−2d)2y2 (9)
r
2
+r
3=√{square root over ((x−2d)2+y2)}+√{square root over (x2+y2)}==2b (10)
In Equations (8) to (10), 2b is the distance measured by the time of flight from emitter 12b to sensor 14. Equation (11), below, is based upon Equations (8) to (10):
More specifically, Equation (11) is determined by applying the same calculations to Equations (8) to (10) as applied to Equations (2) to (4) in arriving at Equation (7). Equations (7) and (11) represent two equations in which two unknowns exist. Equation (12), below, represents a system of equations including Equation (7) and Equation (11):
Solving the system of equations represented by Equation (12) results in a determination of values for the intersection points of ellipses 40, 42 (i.e., P and P′ in
In other implementations, the position detection system can include a third-emitter. In this implementation, the position of an object in a 3D space may be determined. In one example, the third emitter is not linearly positioned or oriented with the other two emitters. In a 3D space, prolate spheroids (i.e. ellipsoids) are implemented instead of the 2D ellipses described above with respect to
In some implementations, the position detection system 10 can be used to determine the position or coordinates of an object on a plane. In other implementations, the position detection system 10 can determine the position of the object in the plane, as well as track a movement of the object on the plane. For example, the position detection system 10 can intermittently determine the position of the object. The rate at which the position detection system samples, or determines the position can vary. The higher the sampling rate, the better resolution of movement is provided. By intermittently sampling the position of the object on the plane, a plurality of position values can be generated. The position values can be compared to one another to determine a path of movement of the object, as well as the rate at which the object moves (i.e., the velocity of the object).
Referring now to
In one example of the operation of position detection system 50, as object 64 passes through monitoring plane R, signals from emitters 56, 58 can reflect off of object 64, and the reflected signals can be received by sensor 52. Sensor 54 is inhibited from receiving the reflected signals by channel 62. Consequently, a position of object 64 within monitoring plane R can be determined. As object 64 continues and passes through monitoring plane S, signals from emitters 56, 58 can reflect off of object 64, and the reflected signals can be received by sensor 54. Sensor 52 is inhibited from receiving the reflected signals by channel 60. Consequently, a position of object 64 within monitoring plane S can be determined.
By further processing of the response signals generated by sensors 52, 54, movement of object 64 can be tracked. More specifically, the velocity at which object 64 is traveling can be determined by comparing the times, at which object 64 is detected in each of monitoring planes R, S. For example, a distance between monitoring planes R, S can be a known, fixed value. Given the distance between monitoring planes R, S, and the times, at which object 64 is detected in each of monitoring planes R, S, the vertical velocity of object 64 can be determined with respect to
With continued reference to
Referring now to
Implementations of a position detection system have been described, in which the position of an object can be determined using two signal sources, and a single sensor. The position detection technique is based on calculating the time of flight for the signals emitted by the respective sources, and received by a single sensor. By forming equations of two separate geometric shapes, ellipses in the present example, and finding the intersection points of these ellipses, the position of the object in a 2D monitoring plane may be calculated. In other implementations, multiple monitoring planes can be provided, which run parallel to one another, for tracking the path, and/or determining the velocity of a moving object. In still other implementations, a 3D version of the technique can be configured to determine the position of an object in a 3D space has also been described.
The implementations of the position detection system described herein, can be used to make interactive systems, which determine and/or track the position of an object including, but not limited to, a hand, or a finger. In general, implementations of the position detection system can be used to make position detecting equipment for a variety of applications. For example, implementations of the position detection system can be used in a touch-screen application to determine the position of a finger or other pointer, for example, as a user selects options by touching a screen, or for tracking the movement of a pointer on a screen to monitor writing, and/or drawing on the screen. In other examples, implementations of the position detections system can be used for entertainment applications. In one exemplary application, the motion of the head of a golf club, and/or the flight path of a golf ball can be tracked through a plurality of monitoring planes to assist improving a golfer's stroke, or as part of a video game system. In another exemplary application, the motion of a drawing pen can be tracked in a monitoring plane, to provide a digital copy of a drawing, and/or writing.
In general, implementations of the present disclosure may include, for example, a process, a device, or a device for carrying out a process. For example, implementations may include one or more devices configured to perform one or more processes related to determining the position of an object, as described in detail above. A device may include, for example, discrete or integrated hardware, firmware, and software. A device may include, for example, computing device or another computing or processing device, particularly if programmed to perform one or more described processes or variations thereof. Such computing or processing devices may include, for example, a processor, an integrated circuit, a programmable logic device, a personal computer, a personal digital assistant, a game device, a cell phone, a calculator, and a device containing a software application.
Implementations also may be embodied in a device that includes one or more computer readable media having instructions for carrying out one or more processes for determining the position of an object. The computer readable media may include, for example, storage device, memory, and formatted electromagnetic waves encoding or transmitting instructions. The computer readable media also may include, for example, a variety of non-volatile and/or volatile memory structures, such as, for example, a hard disk, a flash memory, a random access memory, a read-only memory, and a compact diskette. Instructions may be, for example, in hardware, firmware, software, and in an electromagnetic wave.
The computing device may represent an implementation of a computing device programmed to perform the position detection calculations, as described in detail above, and the storage device may represent a computer readable medium storing instructions for carrying out a described implementation of the object position detection.
Referring now to
The computer program product can induce a data processing apparatus, such as CPU 926 to perform operations in accordance with implementations of the present disclosure. For example, the computer program product can induce the data processing apparatus to induce a first emitter to emit a first signal, and induce a second emitter to emit a second signal. The data processing apparatus can insutruct a sensor to monitor a plane,such as a screen display 918, and can receive a response signal frpm the sensor. The response signal can be based on the first and second signals after each of the first signal and the second signal reflect off of the object. The data processing apparatus can process the response signal to determine the position of the object in the plane.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the disclosure.
This application claims the benefit of U.S. Provisional Application No. 60/891,404, Feb. 23, 2007, the contents of which are hereby incorporated by reference for all
Number | Date | Country | |
---|---|---|---|
60891404 | Feb 2007 | US |