Claims
- 1. For use with a system that acquires distance and brightness measurements using energy transmitted from an emitter at a first location on a plane, said energy reflecting at least in part from a target object and being detected by independent sensors defining a sensor array on said plane but spaced-apart from said first location, a method of improving actual (x,y,z) measurement by correcting elliptical error of a system including said energy transmitter and sensor array, the method comprising the following steps:(a) defining a spherical coordinate for said sensors in said sensor array, and constructing a look-up table containing spherical coordinates for each of said sensors, where a spherical coordinate for sensor Pij is given by (pij,−aij,−bij); (b) defining a spatial coordinate of said emitter from a spherical coordinate system defined in step (a) such that said spatial coordinate of said emitter has a same origin as said spherical coordinate system, where said spatial coordinate of said emitter is (Cx, Cy, Cz) and defining a constant k as square of distance between said emitter and said origin of said spherical coordinate system; (c) For each sensor Pij, constructing a look-up table of a constant hij where hij is calculated as follows: hij=2(pij+Cx cos(aij)sin(bij)+Cy sin(aij)sin(bij)+Czcos(bij))where (pij, −aij, −bij) is the spherical coordinate of said sensor Pij defined at step (a), and where (Cx, Cy, Cz) is the spatial Cartesian coordinate of said emitter defined at step (b);(d) identifying sensors {circumflex over (P)}ij that actually detect energy reflected from said target object; (e) using measured rountrip distance dij from said emitter to sensors {circumflex over (P)}ij identified at step (d) to calculate distance rij from an imaging portion of said target object and said sensor {circumflex over (P)}ij according to rij=((dij−pij)2−k)/(2dij−hij), using values of k determined at step (b), values of hij determined in step (c), and {circumflex over (p)}ij determined in step (a); and (f) calculating actual Cartesian coordinate (Ax, Ay, Az) of imaging portion of said target objection according to Ax=rij cos(âij)sin({circumflex over (b)}ij), Ax=rij sin(âij)sin({circumflex over (b)}ij), and Ax=rij cos({circumflex over (b)}ij), where rij is obtained in step (e) and âij, {circumflex over (b)}ij of sensor {circumflex over (P)}ij are obtained in step (a).
- 2. A computer-readable storage medium whereon is located a computer program that causes a computer sub-system having at least a processor unit to improve actual (x,y,z) measurements by correcting elliptical error in a system that uses energy transmitted from an emitter at a first location on a plane, said energy reflecting at least in part from a target object and being detected by independent sensors defining a sensor array on said plane but spaced-apart from said first location, the computer program upon execution carrying out the following steps:(a) defining a spherical coordinate for said sensors in said sensor array, and constructing a look-up table containing spherical coordinates for each of said sensors, where a spherical coordinate for sensor Pij is given by (pij,−aij,−bij); (b) defining a spatial coordinate of said emitter from a spherical coordinate system defined in step (a) such that said spatial coordinate of said emitter has a same origin as said spherical coordinate system, where said spatial coordinate of said emitter is (Cx, Cy, Cz) and defining a constant k as square of distance between said emitter and said origin of said spherical coordinate system; (c) For each sensor Pij, constructing a look-up table of a constant hij where hij is calculated as follows: hij=2(pij+Cx cos(aij)sin(bij)+Cy sin(aij)sin(bij)+Cz cos(bij)) where (pij, −aij, −bij) is the spherical coordinate of said sensor Pij defined at step (a), and where (Cx, Cy, Cz) is the spatial Cartesian coordinate of said emitter defined at step (b);(d) identifying sensors {circumflex over (P)}ij that actually detect energy reflected from said target object; (e) using measured rountrip distance dij from said emitter to sensors {circumflex over (P)}ij identified at step (d) to calculate distance rij from an imaging portion of said target object and said sensor {circumflex over (P)}ij according to rij=((dij−pij)2−k)/(2dij−h ij), using values of k determined at step (b), values of hij determined in step (c), and {circumflex over (p)}ij determined in step (a); and (f) calculating actual Cartesian coordinate (Ax,Ay,Az) of imaging portion of said target objection according to Ax=rij cos(âij)sin({circumflex over (b)}ij), Ax=rij sin(âij)sin({circumflex over (b)}ij), and Ax=rij cos({circumflex over (b)}ij), where rij is obtained in step (e) and âij, {circumflex over (b)}ij of sensor {circumflex over (P)}ij are obtained in step (a).
RELATION TO PREVIOUSLY FILED APPLICATION
Priority is claimed from U.S. provisional patent application, serial No. 60/157,659 filed on Oct. 5, 1999 and entitled “Software Algorithms and Applications for Direct 3D Sensing”, Abbas Rafii and Cyrus Bamji, applicants. This present application is a continuation-in-part of U.S. patent application Ser. No. 09/401,059 filed on Sep. 22, 1999, now U.S. Pat. No. 6,323,942 entitled “CMOS-COMPATIBLE THREE-DIMENSIONAL IMAGE SENSOR IC”, Cyrus Bamji, applicant, and of co-pending U.S. patent application Ser. No. 09/502,499 filed on Feb. 11, 2000, entitled ‘METHOD AND APPARATUS FOR ENTERING DATA USING A VIRTUAL INPUT DEVICE”, Abbas Rafii, Cyrus Bamji, and Nazim Kareemi, applicants. Each said co-pending application is assigned to assignee herein.
US Referenced Citations (25)
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/157659 |
Oct 1999 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
| Parent |
09/401059 |
Sep 1999 |
US |
| Child |
09/684368 |
|
US |
| Parent |
09/502499 |
Feb 2000 |
US |
| Child |
09/401059 |
|
US |