Language selection

Search

Patent 1098209 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1098209
(21) Application Number: 263607
(54) English Title: APPARATUS AND METHOD FOR PARTS INSPECTION
(54) French Title: APPAREIL ET METHODE D'INSPECTION DE PIECES
Status: Expired
Bibliographic Data
(52) Canadian Patent Classification (CPC):
  • 354/21
(51) International Patent Classification (IPC):
  • G01B 7/28 (2006.01)
  • G01B 11/02 (2006.01)
(72) Inventors :
  • TUCKER, BILLY J. (United States of America)
  • LORINCZ, ROBERT S. (United States of America)
(73) Owners :
  • SANGAMO WESTON, INC. (Not Available)
(71) Applicants :
(74) Agent: SMART & BIGGAR
(74) Associate agent:
(45) Issued: 1981-03-24
(22) Filed Date: 1976-10-18
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
624,142 United States of America 1975-10-20

Abstracts

English 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.

-2-


Claims

Note: Claims are shown in the official language in which they were submitted.



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.

41


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.

42


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.

43



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.

44

Description

Note: Descriptions are shown in the official language in which they were submitted.


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~ .

- 3--


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



/4
,~


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~
0


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

Representative Drawing

Sorry, the representative drawing for patent document number 1098209 was not found.

Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 1981-03-24
(22) Filed 1976-10-18
(45) Issued 1981-03-24
Expired 1998-03-24

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1976-10-18
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
SANGAMO WESTON, INC.
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1994-03-09 17 442
Claims 1994-03-09 5 157
Abstract 1994-03-09 2 99
Cover Page 1994-03-09 1 18
Description 1994-03-09 37 1,763