32
Design of an Optical Proximity Sensor Using Multiple Cones of Light for Measuring Surface Shape Michael Fuhrman and Takeo Kanade CMU - R I -TR-84- 1 7 The Robotics Institute Carnegie-MellonUniversity Pittsburgh, Pennsylvania 15213 April 1984 Copyright @ 1984 Carnegie-Mellon University This research was supported by The Robotics Institute, Carnegie-Mellon University, and in part, by the Office of Naval Research, under contract N00014-81 -K-0503.

Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

Design of an Optical Proximity Sensor Using Multiple Cones of Light for

Measuring Surface Shape

Michael Fuhrman and Takeo Kanade

CM U - R I -TR-84- 1 7

The Robotics Institute Carnegie-Mellon University

Pittsburgh, Pennsylvania 15213

April 1984

Copyright @ 1984 Carnegie-Mellon University

This research was supported by The Robotics Institute, Carnegie-Mellon University, and in part, by the Office of Naval Research, under contract N00014-81 -K-0503.

Page 2: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand
Page 3: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

i

Table of Contents Abstract 1. Introduction 2. Mcasurcmcnt of Distance and Shape

2.1. Overvicw 2.2. Mcasuring thc Distancc of a Surface 2.3. Surfacc Fitting 2.4. Error Corrcction

3.1. Pcrformancc

4.1. Placcincnt and Oricntation of Conical Arrays 4.2. 'I'hc Ncw Proximity Sensor

3. I k l y Multi-light Sourcc Proximity Sensors

4. ' lhc llcsign of a Scnmr using Multiple Conical Arrays

5 . Conclusion Acknowledgcments Rc fcrcnces

0 1 1 1 2 3 7 7 8 9

10 11 14 14 15

Page 4: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand
Page 5: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

Abstract A noncontact multi-light source optical proximity sensor which can mcasirre the distancc, orientation,

and curvaturc of a surfacc has bccri dcvclopcd. Ecams of light are scqucntially focuscd from thc ends of fibcr

optic cablcs onto a targct surfacc. An analog light scnsor - a planar PIN diode area scnsor chip - nicmmx the

position of tlic spots of light on thc surface. and thc 3-11 locations of llic spots arc computcd by trimgulation.

I3y fitting a surfacc to a sct of points, thc distilncc, oricntation and curvature of' thc targct surfxc is calculatcd.

'I'hc numbcr of light sourccs, and thcir positions arid oricntations wcrc choscn so that thc unccrtainty i n thc

~ncasirrcmcnt of distancc would bc within 0.05 mm and llic unccrtainty in surfacc oricntation would bc within

1 .o'.

Sincc llicre are no moving parts and thc spot position scnsor chip outputs thc position of thc spot

dircctly without scanning its field of view, fast opcration of the proximity sensor can bc rcalizcd. L;'nrlicr

prototype vcrsions of the scnsor can givc approximately 1000 mcasurcmcnts of distancc and oricntation per

second with precision of 0.07 mm for distance and 1.5' for surface oricntation. This proximity scnsor will be

uschl for such applications as tracing an object surface by a robot manipulator with a specificd distancc and

orientation rclativc to the surface.

Page 6: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand
Page 7: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

1

1. Introduction Noncontact proximity sensors which can measure the range and shape of a surhce have useful robotic

applications such as surfacc tracking and homing a manipulator to an object. l’hc proximity scnsor we have

dcvclopcd can mcasure thc distance, orientation, and curvature of a siirfacc, along with surfacc propcrtics

such as rcflcctivity. Ilccausc thc focus of thc proximity scnsor is on a small area of surfiicc, tncasurcnictits can

bc fast and precise.

Many optical proximity scnsors havc becn built. ‘Hie simplcst scnsors use thc scnsitivc-volumc

tcchniquc [l]. A bcatn of light originating from a scnsor’s light sourcc illuminatcs a surfacc. ‘I’hc closcr thc

surface is to thc sensor, thc grcatcr thc intcnsity of thc reflcctcd light rcaching thc scnsor. ‘I’his tcchniqiic is

scnsitivc not only to thc distance of a surface. but also to its orientation and rcflcctivity. Otic way to ovcrcomc

thcsc sensitivities is to use scveral light sources and compare thc rclativc intcnsities of thc rcflcctcd light to

mcasure distance [7].

Our proximity scnsors differ from othcr proximity sensors in that they are based on triangulation, that

they usc an analog light sensor with two-dimensional spatial rcsolution, and that thcy cxploit redundant multiple light sources to incrcase accuracy. The fast, high spatial-resolution light scnsor chip providcs tlie

proximity scnsor with the capability of accurate and fast mcasurement of light spot position. Thc multiple

light sourccs cnablc the scnsor to measure surface oricntation and surface curvature, and to measure distmce

with increased accuracy by virtue of its geometrical redundancy.

This papcr first discusscs a basic modcl of thc multiplc light source proximity scnsor. This t-riodcl

enables us to calculatc thc necessary numbcr of light sources and thcir appropriate orientations to achicvc a

spccificd accuracy when mcasuring distancc and orientation. After presenting the results of earlier prototypes

of the scnsor wc present a new proximity sensor with a range of 10.0 cm, and a precision bcttcr than 0.05 mm

for distancc and 1.0’ for surface orientation.

2. Measurement of Distance and Shape

2.1. Overview

Figure 1 shows the basic configuration of thc type of proximity sensor we are devcloping. The scnsor

head consists of a ring of light sourccs, a camera lens, and a light-spot position scnsor chip. l’hc light soiirccs

focus beams of light towards a point along the optical axis of thc sensor. The precise gcomctry of the scnsor is

dctcrmincd by its required rangc and resolution.

Thc arrangcmcnt of the lens and spot position dctcctor is basically that of a camera. Onc light sourcc is

Page 8: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

2

turncd on at a timc. Whcn a targct surfacc intcrrupts a light beam, the rcsultant light spot is imagcd onto the

scnsor chip through tlic Icns. ‘I‘hc scnsor chip then mcasurcs the spot position on its active two-dimensional

facc. Knowlcdgc of thc spot position on thc scnsor chip, togcthcr with the camcra optics, and tlic trajcctory of cach light bcam, allow us to pcrform triangulation in ordcr to dctcrminc thc thrcc-dimcnsional coordinatcs of

cach light spot on tlic targct surfacc. From the mcasurcmcnt of multiplc points in tlic ficld of vicw, the

oricntation and curvaturc of thc surfacc can bc calculatcd. I n addition, sincc thc scnsor chip also nicasiircs

thc intcnsity of light incidcnt on its surfacc, wc can calculatc thc rcflcctivity of thc targct surfacc.

l’hc scnsor chip which dctccts thc light rcflcctcd from a surfacc is an analog dcvicc. ‘I‘hc chip, a planar

PIN diodc, mcasurcs both thc intcnsity of thc light which strikcs it and the position of Lhc light spot on its

surfacc [3]. If thc spot of light on a surfacc is distortcd becausc of thc curvaturc or oricntation of the surface,

or if thc spot is out of focus, thc scnsor chip still rcsponds to the stimulus with coordinatcs corrcsponding to

thc ccntroid of thc light spot. Togctlier with the fast responsc time, this fcatitre has advantages ovcr an

imaging dcvicc composed of discrctc pixcls (such as a CCI) camcra), which would rcquirc computation to

find thc ccntroid of the light spot. To minirnizc thc error in the measurement the light spot sizc must still be

kept to a minimum. To achicvc this capability in the proximity scnsor wc arc building, each light sourcc will

focus light cmittcd from thc end of fiber optic cable. In this way thc light spot s i x can be kept on the ordcr of

thc sizc of the fibcr corc.

2.2. Measuring the Distance of a Surface

l’hc trajcctory of cach light bcam which illuminates a surfacc is fixcd and can bc calibratcd in advance,

and thc linc of sight to thc light spot is obtaincd from the scnsor chip. Thc calculation of thc coordinates of a

spot of light on a surfacc by triangulation is based on a simple optical model: first, the light sourcc bcam is a

linc, and thus thc projcctcd light spot is a point; sccond, the camcra lcns forms a flat, undistortcd image; and

finally thc scnsor chip is linear in finding the light spot position and is insensitivc to dcfocus. Of coursc, the

scnsor is subjcct to small crrors bccause of dcviations from the simple model. Howcver sincc thc crrors are

small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms

bcforehand.

Thc position and oricntation of a line in 3-D spacc can be dcfined by the coordinates of a point on the

line and thc dircction cosincs of the line. In Figurc 2 the linc of light beam is dcfincd by thc light source

origin Ps = (x, y, 2s) and the light beam dircction vector As = (a, b, c). The line of sight has an oricntation

A. = (ao. bo, co) which is dcfincd by the camcra lcns center Po = (xo, yo, zJ and the ccntroid of the spot of light ( x E , yc> on thc scnsor chip. Ix t us dcnotc thc coordinate of the spot position we want to locate as P = (x, y, z). In thcory, thc two thrcc-dimensional lines (thc light sourcc bcam and thc line of sight) should

intcrscct at thc location of thc spot on thc surfacc. In rcality, howcvcr. thc two spatial lincs thus obtaincd only

A A

-). 2

a

Page 9: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

3

come vcry closc duc to noise and the siniplificd optical modcl bcing used. We thcreforc dcterminc thc spot

location P to bc locatcd along the linc of closest approach (i.c., along the common normal) bctwccn the two

skew lincs. Thc dircction of thc common normal is A = As x Ao. I3y noticing that 1’ is on the common

normal, WC obtain tlic following cquations:

2

2 - 2 2

2 2 2 -

(P - t’o)*(AoXA) = 0,

‘I’hc first two cquations dcfinc thc intcrscction of two plancs along thc common nonnal of the two skew

lincs. l’hc factor X in thc third equation dctcrmines whcre P is locatcd along the common normal dcpcndiiig

on which of thc two spatial lines are more rcliablc. In our sensor we havc chosen X to bc 1.0, that is, P falls by

definition on the linc of thc light source bcam. By solving the above simultaneous lincar cquations, wc obtain

the spatial location of a spot on the surface for each light source.

A

2

As alrcady mentioned, we assumc a line of sight can be drawn from the image of thc light spot on the scnsor chip through tlic cffcctivc centcr of the lens towards thc light spot on the surfacc. l’hc distance

bctwccn thc cffcctivc ccntcr of the lcns and the sensor chip cannot be measured directly. Instead, a flat

surface is brought into focus on the sensor chip at a typical distancc D from the scnsor chip. ‘I’hcn the distancc i bctwccn thc scnsor chip and thc cffcctivc ccntcr of thc lcns is calculatcd in tcrms of thc focal Icngth

fof thc lcns and thc distaiicc D:

1 1 1 -+-=- i ~ - i f

i = -(1 - dl - 4f/D). D 2

2.3. Surface Fitting

To cstimatc thc position and orientation of a surfacc, a plane is fit to the sct of thrcc dimcnsional data

points obtaincd by thc proximity sensor. To estimate the curvaturc of a surfacc. a second ordcr cquation is fit.

The accuracy of the calculation of position, oricntation and curvature depends, thercfore, on the accuracy of

thc individual data points, and thc numbcr and distribution of the data points on thc surface. For example, if thc points are too closcly spaccd, the oricntation of thc plane which is fit to tlic points will bc vcry uncertain.

We will analyzc thcsc rclationships and usc the results to design a scnsor whose expcctcd unccrtaintics arc less than thc dcsign spccifications.

Page 10: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

4

Lct us suppose that we have I I measured points on a surface, whbrc cach point (xr, y , xi> has an

cstiniatcd total uncertainty in position of ui A surface can be fit to this set of points using the mctliod of least squares to dctcrminc the cocfficicnts a . in thc equation J

whcrc X ( x , y ) is ;I polynomial of tlic form zcqrxqyr. For cxaniplc. whcn fitting a plane, q + r 5 1, and whcn

fitting a quadric surface, q + r -< 2. We arc conccrncd with how ttic unccrtainty in the nicasurcd points and

[heir distribution on thc surfacc affccts thc unccrtainty of thc computcd cocfficicnts.

J

'I'hc valucs of thc cocfficicnts a.are chosen so that they minimizc tlic aggregate crror f? J

By minimizing E, each ajcan be computed by:

"j = x &j$k k

where [cjk] = [a, Jk I - '

n .

l h e symmetric matrix [a. ] is known as the curvature matrix because of its relationship to the curvature of E Jk

in the cocfficicn t space [2].

Wc can cstimatc the Uncertainties of the coefficients, and determine their dcpcndence on the geometry

of the proximity sensor if we assume that fluctiiations in the coordinatcs of the individual data points are

uncorrelatcd, and assign the total uncertainty in the measurement of position to the variable z.The

unccrtainty of thc coefficient a,is then n

i= 1 (9)

By calculating thc partial derivatives of cquation (3, it follows that the uncertainties of the cocfficicnts

arc proportional to thc diagonal elements of the inverse of the curvature matrix [2], that is

u,2 = E . d J

Page 11: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

5

1,ct us first examine the casc whcrc the plane z = Gx + Hy + I (11)

is fit to a sct of data points. Hcrc wc have sct al = G, = H, a j = I, X, = x, X, = y, and X, = 1 in

cqir,ition ( 3 ) . ‘I’hc local sirrfxc normal is N = (G, H, - 1). Sincc a11 of thc mcasurcd points on a StIrfiICC are

at about tlic samc disuncc from tlic scnsor in any onc mcasiircmcnt cyclc, the total irnccrtainty ui can be

takcn as a constant u for all of thc data points. ‘I’hc curvaturc matrix for this casc is

a

In many applications the proximity sensor will be uscd to maintain an orientation normal to a surfacc. ‘I’he

light sources can be arranged symmetrically so that the resulting spots of light on a flat surface facing the

sensor pcrpcndicularly satisfy the condition

Ex. = Ey. = z x i y i = 0 I I

that is, the a matrix is diagonal. I‘hc unccrtaintics in the coefficients of equation (11) arc thcn simply

U - uG - a x ?

U - -

U

6 . UI =

‘Thc angle bctwccn thc optical axis of the proximity sensor and the surface normal is cp = atan d G W

The unccrtainty in the angular orientation.of a surface pcrpcndicular to the sensor can be estimated by

Quations (14) and (15) then, relate the unccrtainty in the measured position and oricntation of a surfacc with

the numbcr of data points, the uncertainty in their measurement, and their distribution on the surface.

A proximity sensor which mcasurcs surfacc curvature can bc used. for cxamplc, to track the edge of an object, guided by thc principal axes of curvature. The radii of curvaturc provide usefill information for

Page 12: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

6

maintaining a constant distaticc and orientation with respect to a surface. To calculate surface curvaturc, a

sccond order equation

i! = Ax2 + Oxy + Cy2 + DX + Ey + F

is fit to thc set of data points. 'I'hc principal axcs of curvaturc arc at an angle

1 A - C 2 n I// = -cot-'-

with rcspcct to the x-y coordinatc axcs,

Equation (16) can bc transformed by rotating the coordinatc axcs to eliminate the cross tcrm, and

translating tlic coordinatc axcs to climinate thc linear tcrms. In this ncw coordinatc system thc equation of

the surface is

z = A'x'~ + C'yf2 + F'. Thc principal normal curvatures K~ and K~ of the surface arc given by

K 1 = A' = A W S ~ + + Rsin+cos\C/ + Csin2\C/, 2

- _ K 2 - C' = Asin2+ - Bsin+cos+ + Ccos2#. 2

Thc uncertainty in the mcasured curvaturc of a surfacc is given by 2 u2 = 4 0 A'

K 1 2 u2 = 4 0 (-y

K2 'Thc uncertainty in thc orientation of the principal axes a+ can bc estimated by

This means that thc ability of the scnsor to dctect the principal axes of curvaturc dcpcnds on the diffcrencc

A' - C' bctwcen thc principal curvatures of the surface; or in other words, the eccentricity of the surface

which is fit to thc data points.

Fitting thc sccond ordcr (and higher) equation of a surface to a sct of data points rcquires practical

considcration because of thc finite word lcngth of thc computer. The computation of thc cocfficients of highcr order tcrms is dcpcndent on thc computation of lowcr order cocfficicnts, and thc results can be

inaccurate. 'I'hc appropriatc mcthod for removing the intcrdepcndencc of the cocfficicnts is to first calculate a sct of polynomials X (x, y) which arc orthogonal to each other over thc sct of data points and thcn pcrform a

J

Page 13: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

7

least squares fit using the orthogonal polynomials [2,4]. The cocfficicnts of equation (16) are thcn found by

regrouping tcrms of corrcsponding order.

2.4. Error Correction

As we have mcntioncd, tlic optical modcl used so far includcs a fcw simplifications. 13ccausc of the

cxistcncc of various distortions and nonlincaritics in the scnsor chip, tlic optics and tlic clcctronics, thc

calculation of tlic spiltial location l' = (x, y, z) of thc spot using cquation (1) includes crrors. Supposc that

(7, 7 , 7 ) is the corrcct location. I.ct usset

A

- x = x + E x P = Y + E 7 = z + E,.

Y

I t would bc vcry diffkult to model the effect of the departures from the simplified modcl prcciscly to

dctcrminc the tcrms ex, E ~ , and E,. However, since the errors are small and usually rcpcatablc with rcspcct to

the mcasurcd spot position (x,, yc) on thc sensor chip, we can model them as a whole by means of

polynomials, for example, by third order corrcction polynomials of the form

(20) 2 2 3 Et = fJxe Y c ) = atlx; + Y, + a0xcY, + atqY,

2 2 4- atSxc at6xcyc + at7Yc

+ at8xc + at9Yc + atlo

where t = x,y,z.

Whcn thc proximity scnsor is calibrated, these polynomials are dcsigncd for each I.ED using a calibratcd data

sct. and E , computed by equations (20) arc added to thc spatial

coordinatcs (x, y, z) computed by triangulation to obtain the corrcctcd location of the spot.

During opcration, the valucs E ~ . E Y'

3. Early Multi-light Source Proximity Sensors Two prototype vcrsions of the proximity sensor wcre built to tcst the basic principlcs of scnsor

opcration, and thc uscfulncss of the analog sensor chip. The first vcrsion of the sensor used six infrared LEDs

oriented in a conical pattern at a 45' angle, all aimed towards a point on the optical axis 4.5 cm from the

scnsor chip [5 ,6 ] . Thc distance of this point from a simple lcns was cqual to the distance of the lcns from the

scnsor chip. Hcncc thc area of thc ficld of view over the range of thc sensor was about cqual to the size of the

scnsor chip, or 13 mm square. The range of measurcmcnt depth of the scnsor was k5.6 mm. Bccausc all of

the light sourccs wcre focused towards one point, the orientation of the plane fit to the data points on a surface locatcd at this singular point was not accurate.

The second vcrsion of thc proximity sensor, shown in Figure 3, was designed so that the light source

positions could be rncasurably adjusted, and standard camera lcnscs could bc uscd. This scnsor covcrcd a

Page 14: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

8

larger rangc of 22.5 cm, ccntcrcd about a point approximately 10 cm from thc sensor chip. 'To cnsurc that the

ficld of vicw would bc much larger than thc spots of light on a surface, an area four times the lincar

dimcnsions of thc scnsor chip was brought into focus. Instead of a singlc cone of light, two concs wcre

fonncd: tlircc light sourccs wcrc focuscd towards one point on thc optical axis, and thrcc otlicrs towards a

second point 0.5 cm bcyond thc first. I n this way, the singularity which occurrcd in tlic first vcrsion was

rcmovcd. 'Ihc proximity scnsor could incasurc surfacc oricntation throughout its rangc. Again, all of thc

light sources wcrc oricntcd at a 45Oanglc.

3.1. Performance

In ordcr to mcasurc thc accuracy and scnsitivity of thc proximity scnsors, a flat tcst surface was movcd

linearly and rotated by high resolution platforms in the sensors' ficld of vicw. ?'he cquation of a planc fit to

thc six mcasurcd spatial points on the tcst plane was comparcd with thc known equation of the test plane.

l h e error in measurcd distance was takcn as the diffcrcnce between the points wherc thc two planes

intcrscctcd thc optical axis. The error in orientation was evaluated by the angle made by the surfacc normals

of thc two planes.

The position and oricntation errors for the second version of the sensor with all of its light sourccs

focuscd towards a single point arc displayed in Figures 4(a) and 4(b) as a function of thc distance and

orientation of tlic test surface. In this particular configuration the sensor had a useful rangc of about

k1.25 cm. 'I'hc hcight of cach graph shown is proportional to the measurement error. Thc distance and

oricntation of thc surface was varicd in .254 mm and 1' stcps. The singularity at the distancc d = 50 whcrc

the beams of light convcrgc is cvidcnt in both figures. Ncar d = 0 whcre the test surface was vcry closc to the

sensor, and near d = 100 whcrc the surface was further away, the light sourcc bcams cntcr and lcavc thc ficld

of view. 'rhcse arc thc boundarics of the sensor's useful range. The results of these tests for both scnsors

showed a ccntral rcgion wherc the error in orientation was typically less than 1S0, and the ovcrall error in the mcasurcmcnt of distance was lcss than 0.07 mm.

As the test surface facing the proximity sensor pcrpcndicularly was moved from d = 0 to d = 100 along

thc optical axis, the light spots traced individual paths on the surface. The trajectorics of the x and y

coordinatcs of the light spots on thc surface are displayed in Figure 5 . Thc endpoints of thc trajectory of light

sourcc numbcr 4 are labclcd in the figurc. As has bccn mentioned, whcn a surface is closc to the sensor the light spot projcctcd by a light source can fall partly outside of the field of view. As a rcsult, the calculation of thc light spot position for a light sourcc can bc in error. 'This effect is scen in thc deviation of thc trajectory of

light sourcc number 5. I-Iowcvcr bccausc multiple light sources arc uscd, scvcral light spots can always be focuscd in thc ccntcr of tlic ficld of view. In this way, accurate position information about a sct of points can

always bc acquircd.

Page 15: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

9

Although their pcrformancc was good, the usefulness of thcsc earlier versions of thc sensor was limited

by scvcral factors: first, the rangc of distance incasurcment was not long cnough; second, the total numbcr of

light sourccs was not largc cnough to cnsurc high accuracy; third, the size of thc light spots which they

projcctcd onto a surface was not small; and finally, thcsc sensors were not compact cnough to bc mountcd on

a robotic manipulator. In the following discussion wc outlinc the dcsign of a ncw proximity scnsor using

multiple conical arrays of light sourccs. I n addition to making thc sensor compact. thc dcsign rnethod is bascd

on Lhc statistical discussion of tlic prcvious section, and takcs into account thc rcsolution of thc scnsor chip,

thc numbcr and oricntations of the light sourccs. and the dcsircd range and rcsolution of thc final scnsor.

4. The Design of a S e n s o r using Multiple Conical Arrays Uncertainty in thc mcasuremcnt of surface oricntation ultimatcly dcpcnds upon the unccrtainty with

which the sensor chip mcasurcs light spot position. Although tlic rcsolution of the sensor chip is potentially

high (about 1/5000 across its surface), thc prccision of a single mcasurcment is limited by scveral factors. 'The

intensity of the light which reaches the sensor chip depends upon the distance, oricntation and reflcctivity of thc mcasured surfacc. The shape of a surface also affects the intensity distribution of thc light spot on the

sensor chip, causing a small error in mcasuremcnt. However bccause the sensor chip is vcry fast, we can use

rcdundant multiplc light sources and choose the orientations and positions of thc light sourccs so as to

increase thc accuracy of the sensor.

Whcn measuring thc distance of a surface, the region of greatest interest is gcnerally thc ccntcr of the

scnsor's ficld of vicw. Thc cffccts of thc various distortion and non-lincarity arc smallcst ncar thc optical axis.

In addition, cvcn if a spot of light is out of focus or grossly distorted by a surfacc, crrors which are the rcsult of a portion of the light spot falling bcyond the edgc of the sensor chip will bc minimized. For thcsc rcasons the

proximity sensor is configured using multiplc conical arrays of light sourccs. In this way, several light soiirces

are always focuscd ncar thc optical axis over thc range of the sensor.

Sincc the scnsor chip mcasiires the centroid of the intensity distribution on its surface, the distortion of thc spot of light on a flat surfacc does not lead to an apprcciablc crror. However, a large light spot size does

dccreasc thc lincar range of thc proximity sensor, and certainly will affcct the measurcmcnt of curved

surfaces. l o minimize thc size of thc light spots, the new design will use narrow core fiber optic cablcs. Use of narrow core fibcr optic cablc lcts us generate a point light source which we can focus using a simple lens

without having to worry about thc size or shapc of the original light emitter. Also, thcrc is no intcrvening

matcrial, such as thc micro-lcns on an LED, to scatter light and form an imagc of an cntire light sourcc on the targct surface. Thc light cmittcrs can be positioned rcmotcly and, during adjustment, the fibcr cablcs can be

couplcd tcmporarily to a visible light source such as a lascr to facilitatc focusing and alignment,

Page 16: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

10

4.1. Placement and Orientation of Conical Arrays

Having dccided that all of thc light sourccs arc to be arranged in multiple conical arrays, wc first

detcrminc thc anglcs of oricntation for thcse light sourccs. and then thc numbcr of light sourccs comprising

each conc, thc numbcr of concs, and the placemcnt of the concs by means of the statistical analyscs of crrors.

Figure 6 shows the locations of the scnsor chip, thc lcns, and one light sourcc focused on a point along

thc optical axis. The angle of thc light bcam rclativc to the x axis is 8 . A linc is drawn from thc point on a surfacc interrupting thc light bcam, through thc cffcctivc ccntcr of thc lcns, to thc scnsor chip. 'I'hc equation

of thc bcam of light in thc x-z plane is

z = xtane + d.

The x coordinatc of thc spot of light on the sensor chip is

L 2 - L

X. x c = --

A small changc in the z coordinatc of the target surface by

sensor chip by Axc:

A X L uz - d) AZ (z - L)tanO (z - L ) ~ tan8

s=----E=- +

(22)

Az corresponds to a shift in thc spot of light on the

The largcr the magnitude of S, the more scnsitivc thc mcasurcment. Thc oricntation of thc light bcam 8 can

bc choscn so any mcasiircmcnt of distancc using a singlc light source will have a nominal sensitivity S, in thc

ccntcr of thc ficld of vicw, Le., at z = d. This condition placcs an uppcr bound on thc value of 0:

e e arctan[-- '1. (d - L) s,

Suppose one particular cone of light is gcneratcd using n light sourccs cqually spaccd in a circle. Whcn

a flat surfacc intersccts the cone of light bcams normal to the axis of the conc, the spots of light fall on a circle.

The radius R of the circlc is given by

R = I z - d I cote. (25)

To dctcrminc the unccrtainty in the orientation of a plane which is fit to these points, the mean-square values

of the coordinatcs arc first calculated.

Page 17: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

11

n n 2ni OR^ R’COS (2n /n ) sin 2n + cos - - - - X: = R2 i= 1 i= 1

n n y/ = 1x2

i= 1 i= 1

n 2 2 sin (2n/n)

2ni nR2 R’cos (2771~7) sin 2n n 2 2 sin (2n/n) ’

sin’- = - -

When t i >- 3 both of thcse expressions converge to tiK2 / 2. Using cquations (14) and (15). the unccrtainty i n

mcasurcd oricntation when using a singlc cone of light can bc calculatcd in tams of the uncertainty u in the

mcasurcmcnt of spot position, thc radius of the circlc of points and the number of light sources.

0 2 u <--

V - R 6

Whcn using multiple cones of light, where the j t h cone consists of n, light sources focuscd towards a

point d,, thc radius of the j th cone at z is

R . = - d.lcotUJ. J J

The mean squarc value of thc x coordinates of the data points is then

‘lhc uncertainty in mcasurcd orientation

2 a I d&,cot’Ufi - d)‘ *

This cquation guidcs thc dctcrmination

and thcir placcmcnt d,.

becomes

(30)

of the number of light sources n. in each cone, tlicir orientation U,, J

4.2. The New Proximity Sensor

Thc dcsign of thc ncw proximity scnsor is guided by several dcsign goals: the scnsor should bc compact,

with dimcnsions on thc ordcr of lOcm, in order that it can be used by a robotic manipulator; the sensor

should havc a uschl rangc of about 10 cm; thc incident angle of the light beams on a target surface should be small to minimizc light spot distortion; thcrc should be at least three separate conical rings of light sources;

and each individual light sourcc should mcasure position with a sensitivity of at least 0.25 mm.

Page 18: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

12

The major constraint on the dcsign of thc proximity sensor is the light source intensity. Thc intensity of thc light which is incident on a targct surfacc depends on the intensity of the light emitter, thc diameter of the

fiber optic cablc, and the diameter and focal length of the focusing Icnses. l‘hcsc last two quantities

determine thc sizc of the sensor and thc number of light sources which can be mountcd on the S C I I S O ~ hcad.

‘I’hc intcnsity of the rcflcctcd light which rcaches thc sensor chip dcpciids on thc distance of the camera lcns

from thc target surfacc and thc diaincter of thc lens.

In a tradcoff bctwccn sensitivity. range, and thc sizc of the ficld of view, the distancc from thc camcra

lcns to tlic plane which is in bcst focus was chosen to be 3.42 times thc distancc from thc sensor chip to thc

lens. As a rcsult, the arca of the ficld of view which is in best focus is approximatcly 4.0 cm square. In the

ncw vcrsion of thc sensor we use a 16mm, fl1.6 camera lcns. A camcra lcns with a shorter focal length would

allow us to build a smaller scnsor focused at a closer range with a wider ficld of vicw, but at thc expcnsc of

losing long range sensitivity as thc ficld of view rapidly expands. If wc used a longcr fixal lcngth camcra lcns

the angular field of vicw would be smallcr, and the sensitivity greater, but it is difficult to focus small spots of

light with sufficient intcnsity at the greater distance which would then be in focus.

Figure 7 shows thc configuration of the proximity sensor we are currcntly building. To bcgin the-

analysis, wc clioosc thrce cones of light each consisting of three light sources. Equation (24) dctcrmincs the

choice of the angle of orientation of the light sources. With this anglc chosen, we usc cquation (30) to

calculatc thc minimum spacing bctwecn the vcrtices d,, d, and d, of the cones of light, whcre z = d, is in best

focus.

First we havc to estimate the uncertainty u in the measuremcnt of spot position at z = d,. Referring to

equation (23) and equation (24), we first set 8 = 6Qo, and (d, - L) / L = 3.42 and find S, = 6.67. A smaller

anglc would increase thc sensitivity of the sensor, but the light spot on a surface would thcn be Further

elongated. Wc assume that when a flat surfacc is measured, a signal to noise ratio can be achieved so that the

effective rcsolution of the scnsor chip is at least 1/500 its linear dimensions. This corrcsponds to Axc = .026 mm, and a shift in thc position of the target surface by Az = .15 mm. This value of Az is used to cstimatc uz. Thc total unccrtainty u is estimated by observing that whcn the position of a point is calculatcd

by triangulation, the solution is constrained to lie on the line determined by die light bcam. Sincc a2 = ax2 + uy 2 + a:, and tan 60’ = 6,

0; = 3 ( 0 ; + m y 3

o2 = 1 . 3 3 ~ ~ 2 . so

Page 19: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

13

The maximum value of the unccrtainty in the measurcmcnt of surfacc orientation 0 occurs ncar at the

vcrtcx of the middle cone. Wc USC cquation (30) to calculatc the minimum spacing bctwccn tlic vcrtices d,, d,

and d, of thc concs of light by insisting the unccrtainty in any singlc mcasurcrncnt of orientation at L = d, bc

less than 1.0' (17.4 milliradians). Assuming thcse three cones arc cqually spaccd, and consist of tlircc light

sourccs, wc find

P

14.0 mm 5 d, - d, = d, - d,.

Figiirc 8 shows how thc unccrtainty in oricntation u calculated by cquation (30) dccrcascs as concs of

light arc addcd to thc proximity sensor hcad. u (1) is graphcd assuming a singlc cone of light consisting of

thrcc light sourccs is focuscd towards d,. Thcn u (2) and u (3) arc graphcd as successive concs of light arc

added: first the conc with a vcrtex at d,, then the cone with a vertex at d,.

'p

cp

P P

To furthcr increasc the accuracy of thc sensor a second cone of light is focused at d, to augmcnt the original light sourccs. In ordcr to extend the range of the sensor, two more concs of light with an orientation

of 70' arc focuscd towards points hrther along the optical axis. As a result, the range of thc proximity sensor

consists of two ovcrlapping regions: first an inner region with a small field of view, a dcpth of 6 cm, and many

redundant light sources whcrc the sensor accurately measures the distancc and shape of a surface, and thcn an

outcr rcgioii which cxtcnds thc range of thc scnsor by another 4 cm.

'['his ncw proximity scnsor uses a total of 18 light sourccs arrangcd in 5 conical arrays. 'I'hc ovcrall

accuracy in thc mcasurcmcnt of position whcn using the innermost 12 light sourccs is expcctcd to bc on the

ordcr of .05 mm. The accuracy in the measurcmcnt of surfacc orientation is cxpected to bc bcttcr than lo.

The diamctcr of the scnsor is 11 cm across. To summarize, the final parametcrs of thc proximity scnsor arc: Camcra lcns focal Icngth: f = 16 mm Scnsor chip to lcns disLmcc: L = 20.67 mm Distancc from scnsor chip to planc in bcst focus: D = 9.14 cm Oricntation of inncr rings of light sourccs: 61,2,3 = 60' Oricntation of miter rings light sourccs: 64,5 = 70' Nuinbcr of light sourccs in ring 1: n1 = 6 Numbcr of light sourccs in outer four rings: n,,, Distancc bctwccn inncr light sourcc targct pointh dong thc optical axis: 15.24 mm

= 3

Page 20: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

14

5. Conclusion A ncw compact multi-light source proximity sensor has bccn dcvclopcd. The scnsor is bascd on the

principlc of activc illumination and triangulation: cach time a light source is pulscd, thc coordinatcs of the

rcsulting spot of thc light on a surfacc arc calculatcd. Two prototype proximity scnsors have bccn built. The

first was a vcry short rangc scnsor with a precision of .07mm and 1.5' ovcr a rangc of 40mm to 50mm. 'I'hc

sccond vcrsion has a rangc of 5cm. 'I'hcsc prototypes acquired data at a ratc'cxcccding 1000 points/sccond.

'I'hc dcsign of a Iicw vcrsion of thc proximity scnsor was guidcd by a statistical analysis of the

unccrtainty in thc mcasurcmcnt of position using a single light sourcc and tlic mcasurcmcnt of surface

orientation using scvcral light sourccs. The analysis rclatcd the number of light sourccs necdcd to tncasure

orientation within a spccificd accuracy to the distribution of light spots on a target surface. The ncw design isi also intended to bc a compact sensor for use on a robotic manipulator.

Thc previous prototypes focused beams of light from LEDs to illuminate a surface. Although this

mcthod is usehl and incxpensivc, to accurately measure the oricntation and curvature of a curvcd surface the

scnsor will have to project narrower beams of light onto a surface. To achieve this capability thc new version

of the sensor uses fiber optic cable to generate points of light in the ficld of view of the sensor.

The features of this proximity sensor include its simple principle of operation and fast spccd. The

sensor chip which dctccts the spot of light on the target surface is an analog device which outputs the position

of thc centroid of a spot of light on its surface. Although the accuracy of any individual mcasurcmcnt of light

spot position is lirnitcd by the distortion of a spot of light by a surface, and thc noisc and scnsitivity of the

scnsor. wc take advantage of tlic spccd of the sensor and use multiple light sources to incrcasc the overall

accuracy of mcasurcmcnts. The geometrical arrangement of the light sources was guidcd by the statistical

analysis to achieve the design spccification for accuracy. Measurement of distance, surface orientation and

surfacc curvature can exploit the gcomctrical redundancy of the device.

Acknowledgements

software and hardware development.

Wc thank Rcgis Hoffman, Donald Schmiti and Edward Kurtz for uscfbl discussions and help in

Page 21: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

15

References

kjczy, A. Smart Scnsors for Smart Hands. Nasa Report Number 78-1 714,1978.

Ikvington, Philip It. lluta Kedriction mid Analysisjbr the Physical Sciences. McGraw-Hill Ilook Company, 1969.

Marnnmatsu 'I'V Co. I .td. Photoscnsitivc Dcviccs: S1200 and S1300. data shcct.

I-laycs, J.G. Nuirierical Aprnxitnatioti to Functions and Data. Athlonc Prcss, llnivcrsity of I,ontlon, 1970.

Kanade, T.$ Asada, H. Noncontact Visual 3-L) Scnsing Devices. In SPIE Technical Syrnposiurn East ' S I , 3 - 0 Machine Perception (Vol. 283). Society of Photo-Optical

Instrumentation Engineers, 1981.

Kanadc, 7'. and Sommcr, T. An Optical Proximitji Sensor for hifeasuring Surface Position and Orientation for Robot Manipulalion. I'cchnical Rcport 'I'R-83-15, Carncgic Mellon University Robotics Institute, 1983.

Okada, T. A Short Rangcfinding Scnsor for Manipulators. Bulletin ofl%wrorechnical I,aboratoty 42, 1978.

Page 22: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand
Page 23: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

Soot o o s i t i o n d e t e c t o r p

\-I/ L i g h t sources

F i g u r e 1: The m u l t i - l i g h t source p r o x i m i t y sensor uses a p o s l t i o n s e n s i t i v e a n a l o g l i g h t sensor and m u l t i p l e r i n g s o f i n f r a - r e d l i g h t sources. The l i g h t sources i n t h i s s k e t c h of a b a s i c sensor a r e focused towards a p o i n t on t h e o p t i c a l a x i s .

Page 24: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

T r 1 n g u l a t on: - Po: C e n t e r o f t h e camera l e n s

Ao: V e c t o r d e f i n i n g t h e l i n e o f s i g h t

P,: L o c a t i o n o f l i g h t sou rce

A S : D i r e c t l o n o f l i g h t sou rce

p : The chosen r e s u l t o f t r i a n g u l a t i o n

A : A v e c t o r a l o n g t h e common normal

- - - - -

F i g u r e 2: The c o o r d i n a t e s o f a s p o t o f li h t on a t a r g e t s u r f a c e a r e c a l c u l a t e d by t r i a n g u l a t i o n . li h t s o u r c e beam i s f i x e d . The sensor c h i p r o v l d e s a S in? o f s i g h t t owards t h e li h t s p o t . The y o c a t i o n o f P i s d e t e r m i n e d by s o l v i n g !he s imu l taneous l i n e a r e q u a t i o n s :

T!e d i r e c t i o n o f each

( F - F s ) . ( S i s X A ) = 0

( ~ - P o ) . ( i i o x s i ) - 0

+TO) . A=h(iqo). si

Page 25: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

---

F l g u r e 3: I n t h i s second v e r s i o n o f t h e p r o x i m i t y sensor t h r e e 1 1 h t sources a r e focused towards one p o i n t on t h e o p t l c a l ax!, and t h r e e sources a r e focused towards a second a x i s . th roughout i t s l l n e a r range o f 4 cm.

o i n t on t i e As a r e s u l t , t h i s sensor can measure surPace o r i e n t a t i o n

Page 26: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

20 cm

1oc. JKlO 5

F i g u r e 4: F i u r e 4 ( a ) de i c t s t h e e r r o r i n measured d i s t a n c e . an! F i g u r e 4 (b7 de i c t s t h e e r r o r i n ,measured o r i e n t a t a t i o n . as a f u n c t i o n o f t e e d i s t a n c e and o r i e n t a t i o n o f t h e sensor w i t h r e s p e c t t o a f l a t t e s t s u r f a c e .

Page 27: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

Error in measured orientation

.254 millimcters / step

5

Page 28: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

1.50 ~

1.00-

0.50-

0.00-

-0.50-

-1.00.-

-1.50-

-2.00-

-2.50-

3

.oo

4

i 2

S O -1.00

d = 100

i 2k

s o

Y

00

d = O

50 I

.oo 1.50

F i g u r e 5 : A s a f l a t s u r f a c e p e r p e n d i c u l a r t o t h e sensor i s moved a l o n g t h e o p t i c a l a x i s t h e l i g h t s o t s on t h e s u r f a c e f o l l o w i n d i v i d u a l t r a j e c t o r t e s . Tge sudden s h i f t i n t h e

X

IO 2.50

t r a j e c t o r y o f l i g h t source number 5 occurs a s . t h e l i g h t spot l e a v e s t h e f i e l d o f v iew.

Page 29: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

r F i e l d o f v i e w

F i g u r e 6 : T h e r e l a t i v e p o s i t i o n s o f t h e sensor c h i R t h e camera l e n s , and a l i g h t source.

Page 30: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

F i g u r e 7 : The new p r o x i m i t y sensor i s c o n f i g u r e d u s i n g m u l t i p l e cones o f l i g h t sources . The li h t beams a r e focused towards p o i n t s a l o n g t h e o p t i c a ? a x i s .

Page 31: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand

milliradians

160.

140.

120-

100-

SO-

GO-

40-

20-

0-

6

d* d3 I

10 I 13 centimeters

F i g u r e 8 : The u n c e r t a i n t y i n the measured a n g u l a r o r i e n t a i o n o f a f l a t s u r f a c e f a c i n g t h e p r o x i m i t y sensor p e r p e n d i c u l a r 1 as a f u n c t i o n o f d i s t a n c e a c c o r d i n g t o e q u a t i o n ( 3 0 y . a d d i t i o n a l c o n i c a l r i n g s o f l i g h t sources a r e used t h e measurement accuracy i n c r e a s e s .

i s graphed As

Page 32: Design of an Optical Proximity Sensor Using Multiple Cones ......small and fixcd ovcr timc, we treat thcm as perturbations from thc model and calculate crror correction terms bcforehand