CA1098209A - Apparatus and method for parts inspection - Google Patents

Apparatus and method for parts inspection

Info

Publication number
CA1098209A
CA1098209A CA263,607A CA263607A CA1098209A CA 1098209 A CA1098209 A CA 1098209A CA 263607 A CA263607 A CA 263607A CA 1098209 A CA1098209 A CA 1098209A
Authority
CA
Canada
Prior art keywords
operator
dimension
pattern
point
inspection field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA263,607A
Other languages
French (fr)
Inventor
Billy J. Tucker
Robert S. Lorincz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atos Origin IT Services Inc
Original Assignee
Sangamo Weston Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangamo Weston Inc filed Critical Sangamo Weston Inc
Application granted granted Critical
Publication of CA1098209A publication Critical patent/CA1098209A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/022Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning

Abstract

ABSTRACT OF THE DISCLOSURE
An apparatus and method for measuring operator-selected dimensions of a sample workpiece or part in an inspection field and, in one embodiment of the invention, for subsequently and automatically measuring the same dimensions of parts subsequently positioned in the inspection field. In accordance with one aspect of the invention, there is provided a means for optically scanning a sample part in the inspection field and means for effecting display of the part in the inspec-tion field. An operator-positionable cursor is provided for selecting and displaying the coordinates of reference points in the inspection field. Means are provided for storing an operator-selected reference point and, also for storing an operator-selected pattern. The operator-selected pattern is scanned with respect to the part, the pattern originating from the operator-selected reference points. Means are also provided for determining at least one dimension of the part, the dimension being determined as a function of the inter-sections of the pattern with the part. In one form of the invention, means are provided for optically scanning parts subsequently positioned in the inspection field. The scan pattern used in scanning the subsequent parts is determined by the stored reference point and the stored pattern. Further means are provided for determining at least one dimension of each subsequent part in the inspection field, the dimension being determined as a function of the intersections of the scan pattern with the subsequent part. In this manner, the same dimension of all subsequent parts is automatically measured. In the preferred embodiment of the invention, means are provided for storing an operator-selected tolerance with respect to the at least one dimension of the sample part and for determining whether the at least one dimension of the subsequent part is within the operator-selected tolerance. In this embodiment, means are also provided for determining the centroid and relative rotational orientation in the inspection field of the sample part and the subsequent part, and for effecting a coordinate transformation as between the parts such that different positions or orientations of subsequent parts in the inspection field are accounted for.

Description

BP.CKGROUNO OF TH:E INVE~TION

This lnvention relates to inspection systems and, more particularly, to a system and method for optically in-specting workpieces or parts in an inspection field and or determinin~ dimensions thereof.
There have been previously devised various techniquas for automatically detennining one or more dimensions o~ parts at an inspection position~ Most of these systems are designed to inspect parts whose general shape and size are predeterminedr the parts typically being hardware items manufactured in large quantity and at a low cost per unit item. These types of sys-tems can be e~ployed without undue expense since they can be rPadily designed to reference a particular size and/or shape of the parts being examined. For example/ a simple mechanical sorting system can include appropriately shaped apertures of varying sizes to sort parts in accordance with their size.
Alternatively, combinations of light beams and photodetectors can be used to reference the edges of parts against predetermined standards to determine whether or not the part is within pre-selected tolerances. Two aspects of these categories of equip-~o ment are apparent. First, many designs, such as those of amechanical or incoherent optical nature, do no~ yield a high degree of precision and can be employed only in situations where close tolerances are not critical. Secondly, the large majority of such systems are inflexible as to the type of part they can inspect, the design typically being tailored to predetermined expected part shapes.

~J~ .

It has been suggested that more precise and more flexible systems could be devised which would be readily adaptable to precisely determine dimensional information about parts at an inspection position. However, a number of problems with devising such a system soon became apparent. The logic and memory requirements of a fully programmable precision inspection system involve relatively high cost which can prove prohibitive for many manufacturers who would need such equipment. A
second equally disturbing problem relates to the relative complexity of operation which accompanies designs having great flexibility of operation.
Typically, in a system where many possible settings and procedures are available, a skilled and trained operator is required to use the equipment efficiently, so ad-ditional costs arise in hiring and/or training skilled personnel. This is especially true in a system usually controlled by a computer, where, unfortunately, a system usually requires either an operator having a substan~ial background in computer techniques or extensive training on the particular equipment.
Accordingly, a problem characteristic of suggested techniques is the "trade-off" between system flex-ibility, system cost, and ease of operation It is an object of the present invention to provide a precision parts inspection equipment which has a high degree of flexibility in the types of par~s it can inspect and the measurements it provides, while still being easy to operate and of reasonable cost.

~'i ~7 SUMMARY OF HE INVEMTION

One aspect of the invention is directed to ia method for measuring operator-selected dimensions of a part in an inspection field, comprising the steps of: optically scanning the part in the inspection field, and displaying ~he part in the inspection field; selecting and displaying an operator-selected reference point in the inspection field; storing an operator-selected pattern; scanning the operator-selected pattern with respect to the part, the pattern originating from the operator-selected reference point; and determining at least one dimension of said partl said dimension being determined as a function o the :intersections of said pattern with said part.
Another aspect cf the invention is directed to an apparatus for meas~ring operator-selected dimensions of a part in an inspection field, comprising: means for optically scanning the part in the inspection field; and means for effecting display of the part in the inspec-tion field; an operator-positionable cursor or selecting the coordinates of reference points in the inspection field and effecting the display of a selected reference point in conjunction with the display of the part; means for storing an operator-selected pattern; means for scanning the operator-selected pattern with respect to said part, said pattern originating from said operator-selected reference point;
and means for determining at least one dimension for said part, said dimension being determined as a function of the intersec~ions of said pattern with said part.
;~ 5 As will become understood, the features of the invention facilitate its use by a relatively unskilled operator who can measure any desired dimension of a part by manually selecting a reference point and a pattern which together determine the dimension to be measured. As will become clear, it is not ~ecessary for the operator to position the reference point (using a cursor) at an exact end point of the dimension to be measured, so efficiency of operation is enhanced and the possibility of human error is minimized. The nature o~ the invention facilitates interaction between the equipment and the operator whereby the operator is prompted a-t each stage of the procedure, thereby minimizing the need for a ~ighly skilled or trained operator.
Further features and advantages of the invention will become more readily apparent from the following detail~d description when taken in conjunction with the accompanying drawings.

~ .

. ' ~

. .

RIE_ DEsGrIpTIoN OF l'HE DR~WING5 FIG. 1 is a simpli~ied illustration of a par-ts inspection system in accordance with an embodiment of the invention, partly in perspective view and part7y in schematic view~
FIG. 2 is a sequential block diagram which illustrates operation of the invention in broad terms.
FIG. 3 is a simplified illustration useful in understanding a coordinate transformation utilized in accord-ance with an er~odiment of the invention.
FIG. 4 illustrates the implemenkation of an operator-selected pattern in accordance with the invention.
~IG. 5 illustrates an implementation of another operator-selected pattern in accordance with the invention.
FIG. 6 illustrates the implementation of a ~ur~her operator-selected pattern, wherein two operator-selected points are utilized, in accordance with the invention~
~IG. 7 illustrates the implementatio~ of another operator-selected pattern, wherein the diameter o~ a hole is de~ermined, in accordance with the invention.
~ FIG. 8 illustrates the implementation of another operat~r-selected pattern, wherein the center of a hol~ is determined and then a further pattern is implem~nted, in accordance with the invention.
FIG. 9 illustrates the implementation of a pattern wherein the center of a hole is determined and another further pattern is implemented, in accordance with the invention.
FIG . lO illus~rates the implementation of patterns whercin the centers of two spaced holes are dctermined and the distance therebetween is then determined.

. f/ ,~

FIG. 11 is a flow diagram which defines the opexation of the con~rol circuitry in accordance with the invention.
FIG. 12 is a flow diagram of the rield scan and dis-play routines of FIG. 11.
FIGS. 13A, 13B and 13C, when placed one below another, comprise FIG. 13 which is a flow diagram illustra~ing the centroid, polar signature, and coordinate transformation of FIG. 11.
~ . . .
FIGS. 14A and 14B, when placed one below another, comprise FIG. 14 which is a flow dia~ram o the implementation of the "UP," "DOWN~" "LEFTI" and "RIGHT" patterns of FIG. 11.
~IG~. 15A and.15B, when placed one below another, comprise FIG. 15 which is a flow diagram of the implementation o~ the "SECOND POINT" pattern o~ FIG. 11.
FIGS. 16A, 16B and 16C, when placed one below another, comprise FIG. 16 which is a flow diagram of the implementation of the patterns which involve determination o~
hole centers in FIG. 11.
FIG. 17 is a flow diagram of the implementation of ~0 th~ tolerance routine of FIG. 11.
FIG~ 18 is a simplified illustration which is use~ul in understanding the operation of the routine in accordance with FIG. 15.
FIG. 19 is useful in understanding the technique for obtainlng the polar signature of a workpiece or part in the inspection field.

j- .

DESCRI:PTION OF THE PREFERRED MBODIMEN'r Referring to FIG. 1, there is shown an optical scanning or imaging device 10 which scans an inspection field 11 under control of circuitr~ 12. In the present embodiment the inspection field, shown in dashed line, is square in shape. A turntable 15, rotatable in steps by means not shown, has a plurality of slightly recessed circular areas 16 which contain workpieces or parts 20. The parts may typically be loaded into the recessed areas by automatic machinery (not shown) and also removed therefrom and sorted by automatic machinery, the sorting operation being responsive -to signals generated by the present invention. These operations may also be performed manually in response to indications provided by the present invention. As will become understood, the measurements made by the pxesent invention, either under operator-direction or automatically, can be utiiized to pro~ide dixect informational readout or to control a companion system such as sorting or inventory control equipment. The circuilrry 12 is coupled-to an operator's console 21 which includes a key-board 22 and a "joy stick" 23. A display 25, which comprises a storage t~ube in the present embodiment, is mounted in console 21 and receives signals from circuitry 12.
The scanning device 10 may be any suitable addressable imaging or scanning device, such as the "Optical Data Digit~zer"
Model 658/659 Series manufactured by ~MR Photoelectric of Princeton, New Jersey. This unit, also known as an "image dissector" can be addressed to interrogate any elemental area in its ~ield by providing its input with the (x, y~ coordinate o~
the elemental area of interest. The output of unit 10 is a binary signal indicative of whether the light level at the addressed 7 .
: J _~_ %l~

el~ment is above or below a predetermined thr~sh~ld~ A
suitable lightiny background for the parts being inspected can be provided by either back-liyhting or by reflection. For example, the recessed area 16 may be of ~rans1ucent li~ht-diffusirlg material with lighting provided from underneath the table lS. In the present embodiment the functions of con-trol circuitry 12 are implemented by an appropriately programmed general purpose digital computer, such as a Nova II, manu-factured by Data General Corp. of Southboro, ~ss. However, it will be understood that alternate means, such as a special purpose computer or other suitable circuitry including loyic circuitry and a storage capability could be utilized to achieve the desired functions.
In broad terms, operation of the invention can he ~derstood from re~erence to the sequence char~ illust~ated in FIG. 2. A part or workpiece, which may be of a type to be examined in quantityr is positioned in the inspection field~
as indicated by block 31. The initial part, ~hich is used in the "training" mode of operation durin~ which the operator trains the equipment, will be referred to as the "sample part."
Parts of the same type which follow, and are i~spected auto-matically in the manner to ~e described~ are referred to as "subsequent parts." With the sample part positioned ~n the inspection field, a standard "setup" procedure will typically be performed wherein proper operation of the optical scanner and proper placement of the part within the inspection field are automatically checked. For example, the optical scanner may interrogate points at the four corners of the inspection field and verify that the light level at the corners ~where optical considerations render it more likely that improper light levels be sensed) are within minimum specifications.

/o Also r setup may include the operation of scanning around the periphery of the lnspection field to verify that the part is not overlapping an edge or the inspection field.
With setup complete, the operator, aided by alpha-- 5 numeric "prompts" which automatically appear on the display in a manner to be described, proceeds to train the equipment.
~ First, the sample part in the lnspection fiel~ is scanned and : - an image or the part's profile appears on display 25, this function being represented by the block 32. The centroid an~
relativ~ rotational position (called the "polar signature"
herein) are determined, as xepresented by block 33. Typically unless care has been taken to exactly position and orient each part in the scanning field, it is desirable to determine the relative position and orientation of each new part entering the scanning field so that precisely the same dimension of each part can De measured. In the present embodiment this is achieved by later determining the ce~troid ancl polar signature of each subsequent part and then ef:Eecting an appropriate coordinate transformation with respect to the sample part so that repeatability of dimension measuremènts is facili-ta~ed~
This technigue is described in detail hereinbelow.
~ With the profile or outline of the sample.part appe~ring on the display, the operator selects a ~irst referenc point by moving a cursor dot on the display screen 25 to what-ever position he desires, this function being represented by block 34 of FIG. 2. In the present embodiment, operator-selected reference points can be selected using either the key-board 22 or "joy stick" 23 which can be moved to positions ront, back, left-or right to e~fect motion of the cursor dot in the directions up, down, let or right, respectively, on ~he display. Xn most cases, the oper~tor will use the convenient ~ 4~

,' , :, .

joy stick to position the cursor dot, although in instances where speciLic locations with respect to the part are pre-determined, the operator may desire -to select a refexen~e p~int by typing in coordinates on the keyboard, such as co-ordinates listed on a written worksheetO In such case, the cursor dot which appears will ~erify that the coordinate selected is in approximately the desired location.
As will become apparent, the re~erence point selected by the operator (using either the joy stick or the keyboard~ determines the genexal location from which the desired dimension is to be measured, but is not determinative of an end point of the desired dimension. This is advantageous in two respects. First, it enhances convenient operation, since in most cases it is not necessary to take the time and trouble needed to position the reference point at an exact location. Secondly, this feature reduces dependence o~ human inputs and thereby minimizes susceptibility to human erxor.
After selection of a reference point, a suitahle prompt instructs the operator to enter the point into the computer 12 along with a scanning pattern of his choice, this function being represented by block 35. The scanning pattexn determines the natuxe and location of the dimension to ~e measured. Specifically, the dimension to be measured is determined as a function of the intersections of the operator-selected pattern with the profile of the sample part. The operator has a choice of patterns from which he can select, the most common of the patterns being a straight line which is defined by the already-selected reference point and a sub-sequently selected second reference point. Alternatively, the pattern may be a straight line determined by the already-selected reference point and an operator-selected direction, r .~
~, ,b' I X, ~2~5~

i.e. up, down, left or riyht. Other possible opera-tor-selected patterns are determlned by the location and size of circular holes in the part being inspected~
~hen the selected reference poin-t and the selected pattern have been entered, the computer 12 effects the scan of the selected pattern originating from the selected reference point, as represented by block 36. The desired dimension is then determined as a function of intersections of the pattern with the profile of the sampled part, as represented by block 37. FIGS. 4 through 10 illustrate the types of patterns which are utilized in the present em~odi-ment of the invention and the manner in which they are implemented by an operator. In these figures, and for purposes of illus-tration, the part being inspected is a generally flat 5-sided shape, as shown, having two spaced .. circular holes of different size. I:n each case, the first opexator-selected referen.ce point is designated by C~ and a second operator-selected reference point, if necessary, is designated b~ the letter D. To the right of each ~igure is a 20. listing of the procedure ~ollowed by the operator to obtain the dimension ill.ustrated in each case.
In FIG~ 4, the dimension represented by the bracket is obtained by the operator selecting the first reference point C, and then enterin~ his selected pattern designated "RIGHT." For ease of operation, the point and the pattern needn't be entered separately in sequence but; rather, the reference point entered will be the point at which the cursor is positioned at the time the selected pattern is entered.
Thus, in ~IG. 4 thé operator would position the cursor to the point C, and then type the command "RIG~IT" (or a suitable ~: ~.3 abbrevia~ion therefor) to en-ter the point and the pattern.
This will cause tne optical scanner to scan a pattern which originates at the point C and then proceeds horizontally to the right in the scanning field; i.e., to points having the S same y coordinate but increasing x coordinates. The first two intersections of this pat-tern with the part profile, designated as Q and R in the FIGURE, are the end points of the dimension which is measured. For convenience, this pat-tern is displayed on the screen 26 so that the operator can view the pattern he has implernented and see the dimension which has been measured.
In FIG. 5, the dimension represented by the bracket is obtained by positioning the cursor to point C, and then entering the pattern "DOW~." This will cause the optical scanner to scan along a line in the field having points with - the same x coordinate, but increasing y coordinates~ (In the present embodiment, the origin of the coordinate system of the field is considered to be its upper left hand corner with x increasing to the xight and y increasing in th~ down-ward direction.~ Again, the first two intersections of the pattern, designated by Q and R, define the end points of the measured dimension~ indicated by the bracket.
In FIG 6, the dimension represented by the bracket is obtained by positioning the cursor to the point C and entering the pattern designated "SECOND POINT." The entry of this pattern indicates that a second point is necessary to define the pattern. Accordingly, the operator subsequently pQsitiOnS the cursor to point D and enters this as his second ,~

reference point, such as by typin~ "E~TER." The ~ptical scanner will thereupon scan the line defined by the points C and D, and the end points of the measured dimension will be the points Q and ~, as shown. Again, the pat~ern line will be displayed on the screen 25 for convenience.
FIG. 7 illustrates the procedure used when it is desired to obtain the dimension of the diameter of a circular hole in the part~ In th.is case, the cursor dot is positioned to any point in the hole, such as the illustrated.point C.
The operator then enters the pattern designated "HOLE DI~M"
. ~again, a suitable abbreviation, or specially marked single keys for the individual patterns can be utilized). The dia meter of the hole in which the point C is located is then auto~atically computed as the desired dimension.
FIG~ 8 shows the procedure for obtaining a dimension having one point at the center of a hole. ~n the FIGURE, the dimension represented by the bracke~ is obtained ~y posltioning the cursor dot to any point within the small hole, such as the point C. The pattern designated "HOLE
CEN~ER" is thereupon entered. Th-s causes the op-tical scanner to scan a pattern, originating from the point C, which deter-mines the center of the hole, designated HC. The opera~or can then enter the further pattern "UP," which causes the optical scanner to scan a line in an upward direction; i.e., to points of decreasing ~ cooxdinate. The resultant dimension is seen to be the distance between the hole center and the top of the part.
FIG. 9 is similar to FIG. 8, except that once the hole center has bée~ ob-tained, the operakor positions the ,~ .
~r~ :;

~9 ~ 2~L'~

cursor to a second reference poin-t designated D and enters the pattern desi~nated "CENTER TO POINT. " This causes the optical scanner to scan a line between the point HC and the second reference point D, and the obtained dimension is the distance hetween the hole center and the point R which rep-resents the first intersection of the pattern with the park profile (other than the intersection with ~he hole which is ...... ...... taken account of by virtue o~ the original pattern, `I~IOLE
CENTER")~
FIG. 10 illustrates the procedure utilized for obtaining a dimension as between the centers o~ two spaced circular holes The operator would first position the cursor to the reference point C and enter the pattern "HOLE CENTER."
The operator would then move the cuxsor dot to any poin~
within the other hole, for exam~le the point designated D, and enter the further pattern designated "CENTER TO CENTER~"
~his sequence will cause the optica:l scanner~to first scan a pattern to determine the hole center designated HC and then to scan a pattern which locates the second hole center 20- designated HCS~ A scan between these points is then effectedr and the appropriate dimension is calculated. It can ~e noted that the dimension in this case and in certain other cases could also be readily determined by calculation of the distance between already-determined points.
Referring again to FIG. 2, once the desired dimension has been obtained, the in~ormation can be directly read out of the computer and used to control a companion system, .

, . .
., .

8~

or can be recorded manually by the operator on a work sheet.
A number or different dimensions of the same part are deter-mined by repeating the described procedures, and wh~n the invention is utilized as a "gauge" the measured ~imensions can be read out as they are taken or, if desired, when all required dimensions of the part have been obtained.
In the usual instance where subsequent parts are to be automatically inspected, the operator will store selected tolerances in conjunction with each dimension that is measured on the sample part, ~his function being represented by the block 38. Typically, the tolerances will define the upper and lower acceptable limits for each dimensiQn. Accordingly, the tolerances are stored as a further piece of information in conjunctlon with each measured dimension. The procedure for measuring each dimension being already uniquely defined by the reference point and pattern which were stored when originally measuring the dimension 3n the sample part.
The remaining blocks 39 through 43 o~ FIG. 2 per-. tain to the automatic or "run" mode of operation wherein the equipment automatically measures dimensions ~which it has now been "trained" to measure~ of subsequent parts in the inspection field and determines whether or not the dimensions are within the operator-selected tolerances~ A subseguent part is positioned in the inspection field, as represented by block 39, and "setup" may be automatically performed as described above. ~he centroid and polar signature o~

:`

r~
.1'7
2~

the subsequent part are then detexmined and a coordinate transformatio~ is efEec-ted, depending on the differences between the determined values and those which had been previously determined for the sample part. This technique is described in de-tail below but, for the present, a basic understanding can be obtained by e~amining thelillus-trations of FIG. 3. The FIGURE shows a sample pa~t 27A positioned in the inspection field 11, and, below, shows a subsequent part 27B which is positioned in the inspection field during the "run" mode of operation. The centroid of the part 27A can be determined and is designated by the dot 28 in the FIGURE.
The part 29A has a relative rotational poisition about its centroid which can be represented, for example, by a hori-zontal line extending from the centroid, as shown. The part 27B has a centroid 29 which is spaced from -the location of the point 28 at which the centroid of the part 27A had been located. Also, with respect to the horizontal rotational reference (a concept which will be understood hereinbelow in terms of "polar signature"), the part 27B is rotated by an angle ~ about its centroid with respec~ to the horizontal reference. The operation of taking the same dimension measurem~nts on the parts 27A and 27B is Eacilitated by effecting a coordinate transformation between the two parts which -translates the position of part 27B so that its cen-troid corresponds to point 28, and rotates the part 27Babout its centroid by an angle ~ so that its relative rota-tional position corresponds with that of part 27A.

," ", I ~

Referring again to FIG. 2, the measure~ent of dimensions of the subsequent part is initiated by positioning the optical scanner at the reference point which had been previously stored by the operator when making the equivalent dimensio~ measurement on the sample part This i5 automati-cally done under control of the computer or control circuitry 12 whi~h then causes the optical scanner to scan the pattern whose designation had also been stored during the training mode. This function is represented by the block 41. The dimension of interest is then automatically determined ~rom the intersections of the pattern with the profile of the sample part, as represented by block 42. The measured dimension can then be read out to an operator, or signals represen~ing ~e m~asured dimension can be used t~ control a companion system. If tolerances had been stored during the training mode with respect to the dimension of interest, the just measured dimension is compared to the tolerances to determine if the part is within specifications. A~ain, the ;~
result o this comparison can be displayed to an operator or an be used to control a companion system, such as a system which sorts the subsequent parts in accordance with their measured dimensions. Fo~ a given subsequent part, the dimension measurement procedure is repeated for as many di-mensions as were specified during the traininy mode. When this has been done, the nex~ part is positioned in the in-spection field (block 39) and processed in the same manner.

r ~
, q FIG. 11 is a flo~ di~gram which de~ines the operation of the control circui-~ry 12 in accordance with the in~ention.
The func~ions set for-th in the flow diagram can be achieved by programming a general purpose digital co~puter in the manner set for-th, or can be achieved usin~ a special purpose computer to implement the same techni~ue. The operator selects the mode of operation as being either the training mode or the run mode, as indicated by block 50 and decision diamond 51. The training mode will be u-tili2ed first~ ~he optical scanning device 10 initially performs a field scan and a-profile of the sample part is displayed on the screen 25, this routine being represented by block 52. The field scan and display routine is described in detaii in conjunction with FIG. 12, but it can be noted at this point that during the field scan by the unit 10, only the transitions in the scannex ou~put are stored and displayed, thereby ~inimizing the memory requirements of the control ~ircuitry 120 Also, the use o a storage tube for display 25 minimizes the need for refreshing the display.
2~ With the profile or outline of the sample part di~-played, a prompt instructs ~he operator to enter the radius used in determining the polar signature of the part (block 53) whereupon the centroid and polar signature routines are performed, as represented by block 54. This technique is described in conjunction with FIG. 13b A displayed prompt next instructs the operator to select and enter the reference index of the firs-t dimension to be measured. Typically, the .

~r~

dimensions measured would be numbered in simple numerical order 1, 2, 3. . ., so the operator would initially enter the nume~al 1 as being the reference index of ~he first dimension to be measured. The total number o~ dimensions to bé measured is a matter of operator choice and will de-pend upon the nature and complexity of the parts being inspected, as well as the number of dimensions thereof which are considered critical. The equipment can be provided with the capability for measuring any desired maximum number of dimensions, the maximum being limited only by the size of the computer memory being employed. In one actual imple-mentation of the invention, a maximum of eight dimensîons was utilized, although the number o dimensions measured for a particular part may -typically be less than eight. In the subsequent description, the letter j is representati~e of the dimension reference index.
When the dimension reference index has been entered and sensed (blocks 55 and 56), a display prompt instructs the operator to select a reference point and p~ttern for the dimension to be measured, as indicated by block 57. The coordinates of the re~erence point are designated as (Cjx~Cjy) and the selected pattern is designated Pj, the letter j indicatiny the dimension reference index in b~th cases. The entered reference point and pattern are stored (as are-a further pattern or point if needed for measuring this di-mension), as represented by block 58. The selected pattern Pj, originating Erom the reference poin-t, is scanned and .

i,~, -.~1 the desired dimension is calculated, as represented by block 59. These routines are set forth in f~lrther detall i~
PIGS. 14, 15 and 16. The operator-selected tolerances are then çntered and stored tblock 60~, as de-tailed in FXG. 17.
A displayed prompt next asks the operator if any further dimensions are to be measured (block 61?. If "yes,"
- block 55 is re entered via loop 62 and the next dimension of the sample part is processed in the manner described. If "no," the equipment awaits ~eing switched into the run mode.
When the ~un mode is activated, and a subsequent part is sensecl in the inspection field (block 63), the centroid and polar signature routines are performed on the subsequent part and cooxdinate transformation is ef~ected, as represented by block 64 and detailed in FIG. 13_ The dimension reference index~ j, is next set equal to 1 (block 65) and the optical scanner is caused to scan the pattern Pj (and PFj if required) originating from the reference point (Cjx,Cjy), and the measured dimension, designated DIMj, is de~ermined. These functions are represented by the block 66 and detailea in PIGS. 14, 15 and 16A The tolerance routine is then per~ormed~ as repxe-sented by block 67~ to determine whether the measured dimension is within the operatox-selected tolerances (detailed-in FIG.
17~. The dimension reference index j is tested ~diamond ~8) to determine whether all dimensions have been processed. If not, j is incremented by 1 (block 69) and the block 66 is re entered via loop 70 for processing of the next dimension of ~he part. When the last dimension has been processedr .k' _;;~_.

-~Lq.~

the resultan-t data or control signals are read out (block 71) and there i5 a ret~lrn to block 63 to await the entry of a subsequeIIt part into the inspection field.
Referring to FIG. 12, there is shown a flow diagram of the field scan and display routine. The inspection field consists of 256 x 256 addressable poin~s. The indices a and b are respectively used to vary the x and y coordinates in the field. The output of the optical scanner~ when inter-rogating a point (a,b~, is designa~ed as S~arb). Generally, the routine of FIG~ 12 determines the points at which the output of the optical scanner changes from zero to one or from one to zero and stores the coordinate locations of these transition or "profile" points. Transitions in either the horizontal or t~e vertical direction are detected. The stored transition points are designated b~ T(i~ and repre-sent the ~x,y) coordinate of the ith transition point tviZ~, an edge). The designation L(a) is utilized to keep track of the s~atus of the previoug 256 points- interrogated. By so doing, a transition ~or edge) is readily determined by 20- comparing the value of S for a particular current point Wlth the values which-had been obtained fox the points to ~he immediate left of the current point and above the current point.
A change of ~ indicates an edge and results in the coordinates ~
of the point being marked for display. In the FIGURE, the indices b and i are initially set to one and zero, res-pectively (block 80), and the index a is set to one (block 31).

~ .
'~3 The optical scanner 10 (FIG. 1) is activated to inter-rogate point ~a,b) and the scan~er output at that point, S(a,b), is read from the optical scanner (blocks ~2 and 83).
Next~-a and b are tested (diamond 84) to determine if either or bo-th of them are one. If "yes," i means that the point is in the first column or the first row and an edge will not be deemed present since th~re is no prior in~ormation to compare against. Assuming a "yes" response for the moment, block 85 is entered and L(a) is set equal to the just measured 13 value of S. The index a is then tested to determine if a full scan iine in the x direction has been completed (dia-mond B6) and, if not, a is incremented (block 87) and the block 82 is re-entered via loop 88. At the end of a scan line in the x direction, the decision diamond 89 will be entered to test whether the last scan line (i.e., the highest value of y~ has been processed~ If not, b is incremented (block ~0~ and the block 81 is re-entered via loop ~I so that index a can be reset to one for~the beginning of a new scan li~e.
Return~ng to a situation when the point is not in the firs~ row or column, the answer to the test of decision diamond 84 will be "no" and the present value of S(a;b) is compared (diamond 92) ts the previous valua of S which has been stored as L(a-l); i.e., it is compared to the output which occurred at the point directly to the left. If the values are different, an edge is indicated and block 93 is .' ` ~ `, .' .

~,~'''-', .
~ 0 .~_ entered. If the values are the same, a further test is applied by diamond 94 which compares the output value of S(a,b) to L(a), ~7hich is the value of S that had been stored for point having the same x coordinate on the previous scan line; i.e., the point directly above the presently interrogated point.
Again, if the outputs are different, an edge is indicated and the block 86 is entered. Otherwise, the value of S is stored as L(a) and the iterative technique continues. When an edge is detected the block 8~ marks the transition poin~
by setting Tti) equal to the current coordinates. Thereupon, the index i is incremented (blocX 95) and the procedure con-tinues. When the full field has been scanned, ~lock 96 is entered and the points T(i~ are caused to be displayed.
Referring to FIG. 14, there is shown a flow diagram is o the routine for scanning the patterns designated "UP,"
"DOWN," "RIGHT," and "LEFT." A dummy point is set to the coordinates (Cjx, Cjy), as represented by the block 101. The optical scanner is set to the dumm~ point an~ its output is read and stored (block 102). The dummy point output is dis -played on the screen, as represented by block 103, this being useful in displaying the scan pattern to the operator during the training mode. The decision diamond 104 determines whethex it is the first dummy point of the routine and~ if so, the xouting block 105 i5 entered. Depending on which pattern is active, one of the blocks 106, 107, 108 or 109 is entered. An "UPI' pattern involves incrementing the y coordinate of the dummy point by plus one while a "DOWN" pattern is achie~ed by incrementing the y coordinate of the dummy point by minus one, the x coordinate of the dummy point remaining the same in both instances. Similarly, a "RIGHT" pattern involves incrementing ~91512~3 the x coordinate of the dummy point by plu5 one and a "LEFrr"
pattern involves incrementing the x coordinate of the dummy point by minus one, the y coordinate remaining the same in these cases. After the appropriate increment is applied to the dummy point, the block 102 is reentered via loop 110.
For the second and subsequent dummy points, the output S of the optical scanner is tested (block 111) to determine whether it has changed from its previous value. If i-t has not, the block 105 is reentered and the dummy point is again incremented If the output S has changed, then a transition (or edge) is evident and the coordinates of the dummy point are stored either as (Q~x, Qjy~ or (R~x, Rjy), as represented by the blocks 113 and 114, respectively. The desired dimension is defined by the first two transitions, and the decision diamond 112 determines whether the transition is the first or second one, 50 that the -- appropriate reference, Q or R, is ut:ilized. When the end points, Q and R, of the dimension being measured have been determined, the length DIM~ is computed ~rom t~e Pythagorean theQre~ (block 115) using the coordinates of the end points. A test is then 2~ made as to which mode is active (diamond 116), and if the ~raininy mode is active the dimension is permanently stored as ST~DIMj (block 117).
Re~exring to FIG. 15, there is shown a flow diagram _ of the routine for implementing the pa-ttern designated "SECO~D
POINT," whose operation was described in conjunction with FIG.
6~ A test is made as to which mode is active (diamond 1303, and if the training mode is active a prompt appears instructing the operator to select thc second point (which defines this particular pattern) and to enter it (block 131). The selected and entered coordinates o~ the second point, Dj, which are ~ .

1J~

(Djx, Djy~, are sensed and stored, these functions being represented by the block 132~ In the routine which ~ollows, the optical scanner will be moved from the poi~t Cj to the point Dj by molJing along a path of specific elemental areas in the scanning field. In order to determine the route most closely approximating a straight line, a technique is used wherein the slope class as between the two points is computea, and then each of three possible "try" points for that particular slope class are ested to determin~ which one of the three is closest to the destination point, Dj. It is readily seen that, for any given 510pe class, there are only three possible "try"
points to ~hich one could proceed toward the destination. The four possible slope classes are "greater than unity and positive," "less than unity and positive," "greater than unity and negative," and "less th~n unity and negative." As an example, assume that the slope class as between the points Cj and Dj is computed as being "greater than unity and positive."
this case, when proceeding from point Cj to polnt Dj it is ; clear that one would proceed to either of the following three elemental areas or points: The point d rectly above Cj, the point directly to the right of Cj, ~r the point diagonally above and to the right of Cj~ This situation~is illustrated in FIG. 18. As stated, each of the three "try" poi~ts is then tested to aetermine its distance from the destination~ Dj, and the closest point is selecte~ as the one to which the optical scanner should be moved. This is done at each elemental area or point along the way toward Dj.
Re~erring again to FIG~ 15 the computation of slope class as between the points Cj and Dj is represented ~y the block 133. This block 133 will have bccn cntcrcd dircc~ly ' ~1 when in the run mod~ since, in this mode, the point Dj is obtained from storage. A dummy point is set to the coordinates (Cjx, Cjy), as represented by block 134. The optical scanner is set to the dummy point and its output is read and stored S tblock 135). The dummy point output is displayed o~ the screen, as represented by block 136, this being useful in displaying the scan pattern to the operator during the training mode. The decision diamond 137 determines whether it is the first dummy point of the routine and, if so, the sequence of blocks 138, 139 and 140 serve to increment the dummy point in accordance with the slope class and minimum distance technique described above. Specifically, the dummy point is provisionally incremented to each of the three "try" points determined hy the slope class and the distance is computed between each of the three "try" points and the point Dj~ The ~'try" point - yielding the minimum distance is detected and the dummy point is set to the selected "try" pointv The block 135 is then re-e~tered via loop 141 and the optical scanner is set to the new dummy point. For khe second and subsequent dummy points, the answer to the test of diamond 137 is "no," and th~ outpu~ S of the optical scanner is tested (diamond 14Z) to aetermine whether it has changed from its previous value. If it has not, the block 138 is reentered and the dummy point is again incremented. If the output S has changed, then a transition is evident and the coordinates of the dummy point are store~ -either as (Qjxt Qjy) or (Rjx, Rjy), as represented ~y the blocks 144 and 145, respectively. The desired dimension is defined by the first two transitions, and the decision diamond 143 de~ermines whether the transition is the first or second one, so that the
3~ appropriate reference, Q or R, is utilized~ When the end points, ~r i .i,; ,~ .
; ~,1`6 2~`~

Q and R, of the dimension being measured ha~e been determined, the length ~IMj is computed from the Pythagorean theorem (block 146) using the coordinates of the end points. A test is then made as to which mode is active (diamond 147), and if S the training mode is active the dimensi.on is permanently stored as ST~NDIM; (block 148).
Referring to FIG. 16, there is shown a flow diagram of a routine ~or imple~lenting the patterns which involve circular holes, such as those patterns whose operation was described in conjunction with ~IGS. 7 through 10. In FTG. 16, when a hole center is determined its coordinates are designated (~Cjx, HCjy~. In general, to determine a hole center the operator-selected point within the hole i.s taken as a startin~
point ~hrough which a horizontal llne is constructed, the ends of the line being defined by edges of the hole and havin~ x coordinates designated HCjlx and HCj2x. The mid-point of this line has an x coordinate which corresponds-to the x coordinate of the hole center, HCjx. A vertic.al line is then constructed through this mid-point in the same fashion, the ena points of the vertical line being determined by the top and bottom edges vf the hole and having y coordinates designated as HCjly and HCj2y. -The mid-point o~ this latter lîne is the desired hole center, (HCjx, HCjy). -In FIG~ 16, a du~my point is set to the coordinates (Cjx, Cjy~, as represented by the block 160. The optical scanner is set to the dummy point and its output is read and stored ~block 161). The decision diamond 162 determines whether the dummy point has just been set and, if so, the decision diamond 163 is entered to determine whether the coordinate }5Cjlx has been determined yet; i~e., whether the ~'- ?

rightmost portion of the horizontal line has yet been scanned.
If "no," then the x coordinate of the dummy point is incremented by plus one (movin~ it one point to the right), and, i~ "yes," the x coordinate of the dummy point is incrémented by minus one (moving it one point to the left).
These functions are represented by the blocks 164 and 165.
After appropriate incrementing, the block 161 is reentered via . loop 166. When the test of diamond 16~ indicates a negative response, the decision diamond 167 is entered to determine whether the optical scanner output has changed from its previous value~ If not, decision diamond 163 is entered and incrementing of the x coordinate is effected, as beforeO If a change is sensed, the test 168 determines whether the detected transition is a left or right end point. If it is a right end point, ~he x coordinate of the dummy poin~ is stored as HCjlx (block 169) and the block 160 is reentered so that the dummy point can be reset to ~Cjx, Cjy) to initiate construction of the le~tmost portion of the norizontal line. I~ the test 168 indicates that it is the left edge, the x coordinate of 2Q the dummy point is stored as ~Cj2x (block 170) and the block 171 is entered, this block representing the calcula~ion of the x coordinate of the mid-point, HCjx, as being the average of the two end point x coordinates.
Having obtained the x coordinate of the mid-point o~
the horizontal line, the dummy point is set to the mid-point ~block 17Z) and the next portion of this routine scans a vertical line ~o obtain the y coordinate of the hole center.
Speci~ically, the optical scanner is set to the dummy point and its output is read and stored (block 173). The decision diamond 174 determines whether the dummy point has just been set and, _;~, _ ,~o if so, the decision diamol~d 175 is entered to determine whe-ther the coordinate HCjly has been determined yeti i.e~, whether the bottom portion of the vertical line has yet been scanned. If "no," the y coordinate of the dummy point is incremented by plus one (moving it one point downward~, and, if "yes," the y coordinate of the dumm~ point is incremented ~y minus one (moving it one point upward). These functions are represented by the blocks 176 and 177. After appropriate incrementing, the block 173 is reentered via loop 177. When the test o~ diamond 174 indicates a negative response, the decision diamond 178 is entered to determine whether the optical scanner output has changed from its pre~ious value~ If not, decision diamond 175 is entered and incrementing of the y coordinate is effected~ as before. If a chan~e is sensed, the test 179 determines whether the detected transition is a lower or an upper end point. I~ it is a lower end point, the y coordinate o~ the dum~y point is stored as ~Cjly (block 180) and the block 172 is reen~ered so that the dummy point can be reset to ~HCjx, Ciy3 to initiate construction of the upper portion o~ the vertical line~ If the test 179 indicates that it is the upper edge~
the y coordinate of the dummy point i5 stored as HCj~y (block 1~1), and the block 182 is entered, this block representing the calculation of the y coordinate of the mid-point, HCjy, as being the average of the two end point y coordinates.

2~

The coordinates of the hole center (HCjx, HCjy) h~ve now been d~termined~ If desired, further iterations can be employed to determine the hole center with verified accuracy, such as by con~nuing to construct horizontal and vertical lines (essentially, diameters) until the lines are found to be exactly the same length.
. HaviDg determined the hole center, the decision diamond 190 is entered to determine whether the "HOLE DIAM"
or the "HOLE CEN~ER" pattern is active. If it is calculated as being the length of the just constructed vertical line ~block 191~. A test is then made as to which mode is active (diamond 192), and if the training mode is active the dimension is permanently stored as STAMDIMj (block 193). If the "HOL
CENTER" pattern is active, the calculated hole center is dis-played as a dot (block 194), and a prompt instructs the operator to position the cursor and select a further pattern (block 195). The operator-selected further pattern is sensed and stored as PFj tblock 196~, and the routing block 197 detexmïnes which fuxther pattern has been selected.
If the further pattern is "UP," "DOWN," "LEFT," or "RIGHT," the block 198 is entered and a dummy point is se~
to the hole center point (HCjx, HCjy). The routine of FIG.
14, star~ing with block 102, is then performed to obtain the points designated Q and R in that routine. This is repxe-sented by block 199. The desired dimension can then be calculated as beiny the lengkh of the line defined by Q and .~ ' ~ 2 ~g~9E~

R plus the radius of -the hole, this being evident, for example, frcm the diagram of FIG. 8. DIMj is calculated accordingly (block 200).
If the operator-selected further pattern is "CENTER TO POINT" the coordinates of the selected and entered point Dj are entered as (Djx, Djy), as represented by block 201. The dummy point is then set to the ho~e cen~er point (block 202), and the routine o~ FIG. 15 is performed to obtain the points designated Q and R, as rep-resented by block 203. The block 200 is then entered and the desired dimension is calculated from the length of the line defined by..the points Q and R ~lus the radius of the hole, this being illustrated, for example, in FIG. 9.
When the operator-selected further pattern is "CENTE~ TO CENTER," the coordinates of tne selected point Dj are selected and entered as (Djx, Djy), as represen~ed by block 204. A hole center routi~e as in FIGS. 16A and 16B
is ~hen performed starting at the point Dj, the determined hole center coordinates of this ~second~ hole being desig-nated as (HCSjx, HCSjy~. This function is represented by ~lock 205. The dimension DIMi can then be obtained by using th.e Pythagorean theorem as between the hole center points, as is represented by block 206. This situation is illustrated, for example, in FIG. 10.
The test 20~ next determines which mode is active, ana if the training mode is active the computq~ dimension is stored as STANDIMj ~block 208).

s., ........

Referring to FIG. 17, there is shown a flow diagram of the tolerance routine. First, a determination is made as to which mode is active (diamond 251). If the training mode is ac-tive, a prompt is displayed showing the operator the calculated value of the dimension j and in-structing him to enter the upper tolerance value Por this dimension; i.e., the highest allowable value ~or this par-ticular dimension. This fwnction is represented by the block 252. The entered value is sensed and stored as r~j (block 253). A further prompt then instructs the operator to entex the lo~er tolerance value (block 254), and this value is sensed and stored as TLj (block 255).
When the run mode is active, the value of DIMj for a suhsequent part is compared against the high and low tolerance values (decision diamonds 256 and 257) and appro-priate indications are read out (blocks 258, 259 and 260~, depending upon the results of these comparisons. As previously indicated, the outputs o~E diamonds 256 and 257 can also be used as control signals for a companion system, such 20 a~ sorting e~uipment.
Reerring to FIG. 13, there is shown a 10w dia-gram of the rou~ine for obtaining the centroid and polar signature of the workpiece or part in the inspection field.
To obtain the x coordinate of the centroid, called x, the 25 X~x~y) value at each point in the field is multiplied by - the value of the x coordinate itself (i.e.~ its location along the x axis). The sum of these productis is divided by the number of points (elemental areas) which entered into the calculation: i.e., tne number of elemental areas J ~, Ll ~L~9~

occupied by the part in the inspection field. For purposes of this routine, the value of S(x,y) is considered to be unity for the portion of the inspection field occupied by the part, and zero for the remainder of the inspection fiel~. As pr~vi~usly noted, the inspection field consists o~ 256 x 256 addressable points. The indices a and b are respectively used to vary the x and y coordinates in the field. The ou~-put of the optical scanner, when interrogating a point (a,b) is designated as S(a,b). The designations XSUM, YSU~ and DIVSUM are respectively used to generate the appropriate sums for the x and y coordinates and the count by which these sums need be divided to obtain the centroid coordinates. These ~values are initially set to zero~ the index b is initially set to 1 (biock 261~, and the index a is initially set to 1 (block 262). The optical scanner is activated to interrogate point (a!b) and the scanner output at that point, S(a,b), is read from the optical scanner (blocks 263 and 264). The running sums, XSUM and YSUM are each increased (block 265) by the product of the value of S times the appropriate x or y coordina~e. Also~ the running sum DIVS~M ~s increased by the value of S. The index a is then tested to determine if a full sca~ line in the x direction has been completed (diamond 266) and~ if not, a is incremented (block 267) and t~e block 263 is re-entered via loop 268. At the end of a scan line in the x direction~ the decision diamond 26g will be entered to test whether the last scan line ti.e., the highest value of y) has been processed. If not, b is incremented (block 270) ., .

1.~, - 3~

and the bloc~ 262 is re-entered via loop 271 so that index a can b2 reset to l for the beginning of a new scan line.
At the end of a full field scan, the coordinates of the cen-troid, ~x,y~ are respectively calculated as being XSUM di~idea by DI~SUM and YSUM divided by DIVSUM. This function is represen~ed by block 272. The test block 273 is then entered to determine which mode is active, and if the training mode is active the x and y coordinates of the centroid are sAtored as STX and ST~, respecti~ely.
The next portion of FIG. 13 is concerned with ob-taining a polar signature of the part whose centroid was just calcu~ated. The concept of polar signature can be better understood by referring to FIG~ l9 which shows a part 5 having the centroid represented ~y the point (x,y~. The polar sig-nature of this part is obtained by selecting a circle of radius ~ having its center~at the centroid~ and deter~ining the angles at which the circle intersects the profile of the part, the angles being measured with respect to a particular reference such as the horizontal line 6 in ~IGo 19~ This set 2~ of angles defines the rotational position of the part around its centroid and can be used to determine the relative rota-tion of a subsequent part with respect to the sample part.-Referring again to FIG. 13, the decision dia-mond 280 determines which mode is active, and if the training mode is acti~e, the operator enters a radius R which depends upon the part size, and this radius is stored (block 281).
Once again, the indices a and b are utilized to represent the x and y coordinates of a point being interrogated. The index i"1 ~ --3' 7~
-3~

~ 3~r.~
m is utilized as an angle reference number. Initially, indices m and i are set to 1 and the index a is set to the value x * R~ The purpose of the index I will be clarified momentarily~
It is seen that the value of index a is set equal to the x S coordinate of the rightmost poxtion of the circle oE radius ~:
i.e., for example, the intersection of line 6 with the circle in FIG. 10. The coordinates a and b will now be incremented in a manner which causes the scanner to follow a circle of radius R about the centroid. The equation for a circle around the centroid yields two values of b for each value of y, this being evident since any circle necessarily has two possible y coordinates for each x coordinate and vice versa. The two possible values of b for each value of a are represented by the equations set forth in blocks 283 and 284, respectively,-with the values indicated in the block 283 being the y co-ordinates of the lower half of the circle and the values indi cated in the block 284 being the y coordinates of the upper half of the circle. These ~alues follow directly from the general e~uation for a circle. In the FIGURE, the point (a,b) i5 incremented in a clockwise fashion, so the values in block 283 are used first. The index I is set equal to one auring this half of t~e scan and set equal to two during the scan of the upper half of the circle. The angles of arc are also measured witn respect to this same reference direction. -;
When a value of b has been determined (block 283) the optical scanner is activated to (a,b) and its output, S(a,b) is read (block 285). A test is made to determine if it is the initial setting of a or b (diamond 286). If it is, I is tested (diamond 287) and then a is tested (diamond 288~ to determine 3-g--~r/

if the lower semi-circle has been completed. If not, a is incremented by minus 1 (block 289) and the new ~alue of ~ is computed (block 283). Assuming it is not an initial setting of a or b, the diamond 290 determines whether the optical scanner output has changed ~rom its previous value: i e., whether the circle intersects the profile of the part. If "no," the diamond 287 is entered, as before. If "yes," the diamond 291 determines which mode is active and the blocks 292 and 2g3 store the angle at which the intersection has occurred.
It is readily shown that the angle is equal to the arctan of (b-y) divided by (a-~). In the training mode, the angles are stored as A(m) and in the run mode the angles are stored as B~m). The index m is incremented (block 294) and the diamond 289 is agaln entered. When index a eventually reaches the value x-R, the decision diamond 288 will couple to the block -- 295 which changes I to two. During the remainder of the routine, a will be incremented via block 296 and b will be incremented via block 284~ Also, the decision diamond 287 will now couple to the decision diamond 297 whic~ tests as to whether or not ~0 the full circle has been completed~ When it has, the diamond 298 determines which mode is active and, if the training m~de is active, the routine is complete and return is effected to block 55 of FIG. 11.
If the run mode is active, the relative phase shift as between the set of angles B~m) and A(m3 is determined! this quantity being identical to the desired information as to the relative rotation of the subsequent part with respect to the sample part. An angle ~ is initia]ly set to zero degrees, as ~, .

il2~

represented by block 299. All of the angles B~m~ associated with the su~sequent part are shi~ted by angle ~ (block 300) and the angles A(m) are correlated with the shifted angles B(m) and a correlation score, designated z(~), is generated. This function is represented by the block 301. The angle ~ is then successively incremented (as represented by the block 302 and loop 303~ and ~ is continually kested to determine whether a full 360 degree range has been tried (diamond 304). Thereupon~
the a which yielded the maximum correlation score is selected and designated , this function being represented by the block 305. Now, the centroid translation and the relatl~e - rotation as between the sample part and the s~sequent part have both been determlned, these quantities bein~ (x-STX, y-STY) and ~ , respectively. The coordinate transformation which "corrects" both the translation and rotational differences is:

xl = ~x-ST~) + xcos~l - ysin~l -y - (y-S'~Y~ ~ xsinu ~ ysinal : .
where xl and yl are the trans.ormed coordinate values~ Thus, ~ .
all coordinates OL the subsequent part in the inspection *ield are transformed in accordance with this relationship (block 306) he~ore ~lock 55 o~ FIG. ll is entered.
The invention has been described wi~h `reference to a particular preferred embodiment, but variations within the spirit and scope of the invention will occur to those skiLled in the art. For example, the nature of the display means and the types of input-output devices used, such as for cursor control, could be modified in accordance with techniques known in the art.

_,~_ ~q

Claims (17)

1. A method for measuring operator-selected dimensions of a part in an inspection field,comprising the steps of:
a) optically scanning the part in the inspection field; and b) displaying the part in the inspection field;
characterized by:
c) selecting and displaying an operator-selected reference point in the inspection field;
d) storing an operator-selected pattern;
e) scanning the operator-selected pattern with res-pect to the part, the pattern originating from the operator-selected reference point; and f) determining at least one dimension of said part, said dimension being determined as a function of the inter-sections of said pattern with said part.
2. The method of Claim 1, characterized in that the steps of determining said at least one dimension are performed on a sample part and further characterized by storing said at least one dimension of the sample part, determining said at least one dimension for subsequent parts with steps a through f, and comparing the stored at least one dimension of the sample part with that of each of the subse-quent parts.
3. A method as defined by Claim 2, further charac-terized by the step of storing an operator-selected tolerance with respect to said at least one dimension of the sample part, with said comparison step comprising determining whether said at least one dimension of the subsequent parts is within said operator-selected tolerance.
4. A method as defined by Claim 2 or 3, further characterized by the steps of determining the centroid and relative rotational orientation in the inspection field of said sample part and said subsequent part and effecting a coordinate transformation as between said parts.
5. A method as defined by any one of Claims 1 to 3, further characterized by the step of storing a library of patterns from which the operator can choose said operator-selected pattern.
6. The method of any one of claims 1 to 3, characterized in that the step of selecting and displaying an operator-selected reference point comprises the step of displaying an operator positionable cursor in the inspection field for selecting the coordinates of said reference point.
7. The method of any one of Claims 1 to 3, further characterized by the step of storing said operator-selected reference point in the inspection field.
8. Apparatus for measuring operator-selected dimensions of a part in an inspection field, comprising:
means for optically scanning the part in the in-spection field; and means for effecting display of the part in the inspection field; characterized by:
an operator-positionable cursor for selecting the coordinates of reference points in the inspection field and effecting the display of a selected reference point in conjunction with the display of the part;
means for storing an operator-selected pattern;
means for scanning the operator-selected pattern with respect to said part, said pattern originating from said operator-selected reference point; and means for determining at least one dimension for said part, said dimension being determined as a function of the intersections of said pattern with said part.
9. The apparatus of Claim 8, further charac-terized by means for storing said at least one dimension for a sample part, and means for comparing said stored at least one dimension with that of a subsequent part.
10. Apparatus as defined by Claim 9, further characterized by means for storing an operator-selected tolerance with respect ot said at least one dimension, said comparing means being responsive to said storing means for determining whether said at least one dimension is within said tolerance.
11. Apparatus as defined by any one of Claims 8 to 10, further characterized by means for storing a library of patterns from which the operator can choose said operator-selected pattern.
12. Apparatus as defined by any one of Claims 8 to 10, characterized in that one of said operator-selected patterns defines a straight line path between said operator-selected reference point and a second operator-selected reference point.
13. Apparatus as defined by any one of Claims 8 to 10, characterized in that one of said operator-selected patterns defines a path for locating the center of a circular hole in a part in the inspection field.
14. Apparatus as defined by any one of Claims 8 to 10, characterized in one of said operator-selected patterns defines a straight line path from a located center of a circular hole to a second operator-selected reference point.
15. Apparatus as defined by any one of Claims 8 to 10, characterized in that one of said operator-selected patterns defines a straight line path determined by said operator-selected reference point and an operator-selected direction.
16. The apparatus of any one of Claims 8 to 10, further characterized by means for storing said operator-selected reference point.
17. Apparatus as defined by any one of Claims 8 to 10, further characterized by means for determining the centroid and relative rotational orientation in the inspection field of said sample part and said subsequent part and for effecting a coordinate transformation as between said parts.
CA263,607A 1975-10-20 1976-10-18 Apparatus and method for parts inspection Expired CA1098209A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62414275A 1975-10-20 1975-10-20
US624,142 1975-10-20

Publications (1)

Publication Number Publication Date
CA1098209A true CA1098209A (en) 1981-03-24

Family

ID=24500810

Family Applications (1)

Application Number Title Priority Date Filing Date
CA263,607A Expired CA1098209A (en) 1975-10-20 1976-10-18 Apparatus and method for parts inspection

Country Status (6)

Country Link
JP (1) JPS5250750A (en)
CA (1) CA1098209A (en)
DE (1) DE2647081A1 (en)
FR (1) FR2328944A1 (en)
GB (1) GB1568216A (en)
IT (1) IT1212276B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2067326B (en) * 1980-01-09 1983-03-09 British United Shoe Machinery Workpiece identification apparatus
JPS58176638A (en) * 1982-04-09 1983-10-17 Dainippon Screen Mfg Co Ltd Preparation of cut mask plate
JPS61241606A (en) * 1985-04-19 1986-10-27 Mitsubishi Electric Corp Eyesight sensor
JPS6285804A (en) * 1985-10-11 1987-04-20 Asaka Riken Kogyo Kk Automatic inspecting device for object to be inspected provided with punch hole
JPS6285803A (en) * 1985-10-11 1987-04-20 Asaka Riken Kogyo Kk Automatic inspecting method for object to be inspected provided with punch hole
EP0289500A1 (en) * 1985-12-16 1988-11-09 National Research Development Corporation Inspection apparatus
FR2630538A1 (en) * 1988-04-22 1989-10-27 Image Technologie Method, device and video camera for measuring lengths using video images
DE29510334U1 (en) * 1995-06-26 1995-10-26 Aqs Dimensionale Mestechnik Gm System for the two-dimensional measurement of flat objects
US9760986B2 (en) * 2015-11-11 2017-09-12 General Electric Company Method and system for automated shaped cooling hole measurement

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3854822A (en) * 1973-06-27 1974-12-17 Vsi Corp Electro-optical scanning system for dimensional gauging of parts

Also Published As

Publication number Publication date
GB1568216A (en) 1980-05-29
FR2328944A1 (en) 1977-05-20
DE2647081A1 (en) 1977-04-21
FR2328944B1 (en) 1982-01-08
JPS5250750A (en) 1977-04-23
IT1212276B (en) 1989-11-22

Similar Documents

Publication Publication Date Title
US5243665A (en) Component surface distortion evaluation apparatus and method
CA1098209A (en) Apparatus and method for parts inspection
JP2809295B2 (en) Coordinate measuring machine and its measuring method
JP2528664B2 (en) Article inspection method and device
US6611786B1 (en) Apparatus and method concerning analysis and generation of part program for measuring coordinates and surface properties
US5414647A (en) Non-contact method and system for building CAD models by integrating high density data scans
EP0400536A2 (en) Measuring device for a coordinate of a figure
CA1250957A (en) Printed circuit board function testing system and method of using said system
US3820012A (en) Determination of the orientation of magnetism in a sample of material
YOELI The making of intervisibility maps with computer and plotter
US3124885A (en) Men dell
US4852005A (en) Method of computing formation dip and azimuth
CN206223084U (en) For the calibration system of wafer copper layer thickness multimetering
JP2950660B2 (en) Surface roughness measuring device
US3945125A (en) Apparatus and method for centering logs for veneer processing
JPH0136578B2 (en)
Busscher et al. Simplified data analysis for an inexpensive manual analogue penetrometer
CN110411372A (en) It is a kind of that room collecting method is tested based on total station
Mora et al. Computer-based recording systems of Pleistocene deposits with large mammals
JPH08338717A (en) Three-dimensional coordinates measuring device
JP2826388B2 (en) Semiconductor wafer probing equipment
EP0445697A2 (en) Component evaluation system
JP2559113B2 (en) Method of generating measurement information in coordinate measuring machine
US2924379A (en) Graphical instrument for variables acceptance sampling
SU993001A1 (en) Method of measuring linear dimensions of bodies

Legal Events

Date Code Title Description
MKEX Expiry