HIGH RESOLUTION OPTICAL FIBER ARRAY AND ARTICLE POSITION DETERMINING SYSTEM

Abstract: A vision apparatus for indicating the locations of edges of work pieces in an illuminated work area including several arrays where each array includes several light conducting fibers. One end of the array is positioned in the work area to be illuminated by light except when blocked by the object. The other end of the optical fibers are positioned in a matrix plate contained within a camera enclosure. The camera en­ closure further includes a lens to optically couple light from the matrix plate optical fiber ends to a light sensing device that produces electrical signals indicating the presence or absence of light at each of the fiber ends.

Description: BACKGROUND 1. Field of the Invention This invention particularly relates to an automated vision system as described in the preamble portion of independent claim 1, comprising features already known from document US-A-3 761 723. A similar apparatus is also known from document DE-A-14 48 394. This invention particularly relates to an automated vision system for determining article positions during a manufacturing process. 2. Description of Related Information Recently there has been increased interest in machine vision devices for industrial applications. This increased interest is attributed to the increased research in computer technology. Usually, the first step in vision analysis by a machine vision device is the conversion of analog pixel (picture element) data into digital data for processing by a computer. Historically, several different types of devices have been used. Most commonly used in early applications were the vidicon video tube cameras that produced analog video signals. More recently solid state cameras or cameras using charge-coupled devices (CCD) have been used. The use of the vidicon cameras and the solid state cameras is discussed in Chapter 2 of Machine Vision for Robotics and Automated Inspection, Vol. I - Fundamentals , by Richard K. Miller, published by Technical Insights, Inc., Chapter 4 entitled "Model Machine Vision Systems" and Chapter 9 entitled "General Methods to Enable Robots with Vision to Acquire, Orient and Transport Work Pieces" of this publication disclose different techniques used in the prior art to detect and determine the position of different objects. A common technique used by these prior art vision systems is to take an N by M array representing the pixel elements of a view of the object and produce data representing this N by M array for analysis by a computer. As should be appreciated by those skilled in the art, such an analysis usually requires extensive computer resources and time to complete the analysis. Therefore, the use of vision systems in real time computer operations for support of manufacturing processing has been limited. One early attempt to solve this problem is disclosed in U.S. Patent No. 4,105,925 entitled "Optical Object Locator" which discloses a device for determining the position and orientation of an object on a conveyor by the use of two planes of light that intersect in a single transverse line on a conveyor surface. A linear diode array that is aligned along the single line of light on the conveyor detects light from that line by electronic sampling of the lumination of this linear array. Object boundaries are determined and object shape and orientation may thus be determined. Another patent entitled "Light Collection Apparatus" disclosed in U.S. Patent No. 3,987,301 discloses an apparatus for detecting the presence of extraneous matter and/or cracks in translucent containers. The light collection apparatus incorporates an array of fiber optics elements arranged to perform an accurate and controllable method of light collection. A further attempt at solving this problem is disclosed in "Device for Detecting the Position of Web Side Edge" in U.S. Patent No. 4,146,797 which includes a single light emitting source, a lens to form a beam of light in the vicinity of a reference point and an optical fiber to transmit the light to a photoelectric converter. The output of the photoelectric converter is used to determine when the edge of the web has been detected. The present invention has been embodied in an apparatus to provide vision information for a manufacturing environment. An object of the present invention is to provide a non-complex vision system that indicates the location and positioning of an article used in manufacture. A further object of the present invention is to provide a vision apparatus that provides a digital output without having to perform analog to digital data conversions. A further object of the present invention is to provide a vision apparatus that allows variations in optical resolution. SUMMARY OF THE INVENTION In accordance with the present invention a vision apparatus for detecting the presence of an object as the object passes across a lighted surface is provided. The apparatus of the present invention comprises the features as set out in independent claim 1. Further embodiments are set out in the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: FIGURE 1 is a top view of a work station surface including the ends of optical fiber bundles comprising six linear optical fiber arrays in accordance with a preferred embodiment of the present invention; FIGURE 2 is a symbolic view of a single bundle of optical fibers forming a single linear arrays of FIGURE 1 positioned to illuminate an optical random access memory; FIGURE 3 is a symbolic view of the array and memory of the embodiment of Figure 2 depicting the illumination of the optical random access memory when a article of manufacture is blocking part of the light transferred to the linear optical fiber array; FIGURE 4 is a symbolic showing the relative locations of the optical fiber bundles, linear arrays, the work station surface, the lensing mechanism and the optical random access memory of the embodiment of FIGURES 1-3; FIGURE 5 is an exploded view of a camera enclosure for the optical fiber arrays, the lens and the optical random access memory of the embodiment shown in FIGURES 1-4; FIGURE 6 is an isometric view of a cylinder used to position the optical fiber bundles shown in FIGURE 4 to form a linear array; FIGURE 7 is a longitudinal cross-sectional view of the cylinder of FIGURE 6; FIGURE 8 illustrates the fiber illumination of the individual pixel elements of the optical random access memory shown in FIGURES 2-5; FIGURE 9 is a top view of a work station in accordance with another embodiment of the present invention having four linear arrays per work piece to determine the location and orientation of the work piece; FIGURE 10 is an illustration of a work station in accordance with another embodiment of the present invention including three dimensional orthogonally positioned linear arrays for detecting the location and position of a three dimensional work piece; and FIGURES 11A, B, and C are flowcharts for the software used to access data from the optical random access memory shown in FIGURES 2-5. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT In the preferred embodiment, this invention is applied to a work place for manufacturing articles of clothing. The articles of manufacture are cloth material which are essentially two dimensional in nature. However, it should be understood, that this invention is also capable of detecting the positional orientation of an article having three dimensions. The purpose of this invention is to provide digital data indicating the edge locations of these articles. For articles of known shapes and dimensions, an attached computer can determine the center of the article and further can direct a robotic arm to the article to pickup the article wherein the article will be grasped in a known orientation. FIGURE 1 illustrates a work place 10 containing two articles of manufacture 12 and 14. In the preferred embodiment these articles of manufacture 12 and 14 represent pockets for denim blue jeans. The object of the invention is to provide data representing the positional orientation of these pockets 12 and 14. The work station 10 includes several linear arrays 16, 18, 20, 22, 24, and 26. Each linear array includes an optical fiber ribbon 28 having a linear arrangement of optical fiber ends, as shown in FIGURE 2. When the pockets 12 and 14 are positioned over these linear arrays, light is blocked from illuminating the optical fibers underneath the pockets. FIGURE 2 illustrates a symbolic view of the linear array 16 including the linear ribbon 28 of optical fiber ends. The optical fibers of linear array 16 are contained within an optical fiber bundle 30 which terminates in a second linear array 34 exposing the opposite ends of the optical fibers to provide an optical fiber ribbon 32. The ribbon 32 is optically coupled as illustrated by field of view 36 through a lens 40 to an optical RAM 42 that is contained within a camera enclosure 38. In the preferred embodiment, the linear array 34 is positioned on one end of the camera enclosure 38. The purpose of the camera enclosure 38 is to minimize the amount of extaneous light to the optical RAM 42. The optical RAM 42 provides binary data on lines 44 to indicate which of the fibers are receiving light. In FIGURE 2, the length of ribbon 28 appears to be similar to the length of ribbon 32. In the preferred embodiment, bundle 30 consists of 256 optical fibers that terminate in a optical fiber ribbon 32 that is 2.56 inches in width. Ribbon 28, which is the work station end of bundle 30, is also 2.56 inches wide (i.e., 100 fibers per inch). However, by varying the spacing of the optical fibers in the work station, the apparent resolution of the optical fiber system can be changed, even though the appearance of the fiber ribbons at the camera enclosure always remain the same. 1 inch = 25.4 mm. FIGURE 3 schematically illustrates the illumination of a portion of an optical fiber ribbon 28. The optical fiber ribbon 28 includes a length 45 of which only portion 46 receives light. Since the optical ribbon 28 is located in the surface of work place 10, light above the work place surface irradiating down upon the work space surface is blocked by work piece 12 from all but portion 46 of the optical fiber ribbon 28. As a result, only a portion 48 of the optical RAM 42 is illuminated through the lensing system 40. This action indicates one edge of the work piece 12. In a similar manner the other edges of the work piece are located. Thus, by using the three optical fiber ribbons of the arrays 16, 18 and 20, the position of work piece 12 upon work space 10 is determined. FIGURE 4 illustrates the coupling of the optical system of a preferred embodiment of the present invention. Specifically, a work space 100 includes 6 linear arrays 106, 108, 110, 112, 114, and 116 each positioned on the work space surface. Work pieces 102 and 104 are illustrated at a position above the linear arrays as the work pieces travel across work space 100. Each of the linear arrays 106-116 are coupled to an optical fiber bundle 118 that terminates in an array matrix 120. The matrix 120 includes several linear optical fiber ribbons 121-126, shown in Figure 5, corresponding to each of the linear arrays 106-116 of work place 100. A lens 132 provides a field of view 128 to transfer light from the array matrix 120 to an optical random access memory 134. FIGURE 5 more clearly illustrates the linear ribbons 121-126 within the array matrix 120 which is, in FIGURE 5, exploded from the left most end of the camera enclosure 130. It should be appreciated that the camera enclosure 130 is a light sealed structure that enables only the light from the linear ribbons 121-126 to enter the interior portion of the light enclosure 130 and illuminate the surface of the optical RAM 134. FIGURE 6 illustrates a cylinder 140 used to assemble the linear optical fiber ribbons 121-126. Cylinder 140 includes two relatively large circumferential grooves 142 and 143 and several relatively small circumferential grooves 144. The larger grooves 142 and 143 receive relatively large fibers (not shown) that serve as locational reference fibers. Smaller fibers (not shown) are positioned in grooves 144 as light transmitting fibers. A longitudinal channel 145 is provided along a portion of the periphery of cylinder 140 to receive a mold (not shown). When the fibers are in place in grooves 142, 143 and 144, the mold is assembled by way of channel 145 underneath and above the fibers in grooves 142, 143, and 144. Epoxy is injected under pressure into this mold to seal the relative positions of the fibers in grooves 142, 143, and 144 relative to one another. After the epoxy has hardened, the mold and fiber bundle are removed removed from cylinder 140. The mold is then removed from the optical fiber ribbon assembly and the ends of this ribbon assembly are appropriately machined and surfaced by conventional means to permit reception or emission of light. The epoxied fiber bundle is then assembled in a linear array structure at the work place or at the matrix plate, the reference fibers which were in grooves 142 and 143 serving as the means to locate the optical fibers which were in grooves 144. In an alternative embodiment, the matrix plate 120 of FIGURE 5 is replaced by a solid plate that includes selectively drilled holes to receive individual optical fibers. Once these fibers have been assembled in their respective holes, the optical fiber bundle is sealed and fixed to the matrix plate 120 in a conventional manner that will not interfere with the light transmissivity property of the individual fibers. FIGURE 7 illustrates a longitudinal cross-sectional view of cylinder 140 of FIGURE 6 showing the optical fiber arrangement. Reference fibers 151 and 152 are provided in their respective grooves 143 and 142. Intermediate optical fibers 153 and 154 are provided in two separate layers. As shown, eight fibers 153 lie in spaced apart grooves 144. Eight fibers 154 are each positioned between two of fibers 153 on ridges 156. The purpose for this configuration of optical fibers is explained by reference to FIGURE 8. FIGURE 8 illustrates one aspect of a preferred embodiment of the optical random acess memory 134. Optical memory elements 160 are positioned in two rows upon the surface of the optical random access memory 134. The specific topology of optical random access memory 134 requires that a linear optical fiber array such as that of FIGURE 7 illuminate circular portions 162 and 164 of memory elements 160. This illumination occurs by focusing individual light elements onto portions 162 and 164 of the array, as illustrated at FIGURE 8. Light striking a particular memory element 160 will cause the capacitor of that element which is initially precharged to discharge. Thus initially, the optical random access memory elements exposed to light are refreshed, as in a conventional computer dynamic random access memory. The remaining elements not exposed to light maintain their charged state. To access the data in the optical random access memory, the memory is addressed by column and row in a conventional fashion. As those skilled in the art can appreciate, the positioning of the optical fibers 153 and 154 is critical to the focusing of the emitted light from the ends of the optical fibers onto memory elements 160 in FIGURE 8. Typically, the spacing 166 between the illumination of area 164 and 162 is on the order of 8 x 10⁻⁴ inches. In a preferred embodiment the height 170 of a memory cell 160 is 4 x 10⁻³ inches and the width of each cell 160 is about 5 x 10⁻³ inches. The illumination of these elements is provided from optical fibers that are 10 mills in diameter. In this preferred embodiment the optical random access memory requiring such a focusing arrangement is the IS32 Optical RAM by Micron Technology of Boise, Idaho. The camera lens is preferably a 16mm lens having an F stop of 1:1.4. The aperture of the lens is opened to 1.4. The lens is preferably positioned as shown in FIGURE 5 between the surface of optical RAM 134 containing and the matrix array 120, to focus each fiber optic end upon a respective one of the random access memory elements, as shown in FIGURE 8. FIGURE 9 illustrates another embodiment of the present invention having four linear arrays 202, 204, 206 and 208 on a work station 200 to determine the center of work piece 210. Yet another embodiment of the present invention is shown in FIGURE 10. Linear arrays 302, 304, 306, 308, and 310 are provided in a three dimensionally orthogonal relationship to permit the invention to determine the position and orientation of a three-dimensional work piece (not illustrated). In a preferred embodiment, the optical random access memory 134 is connected to a microprocessor (not shown), preferably a Motorola model 68701, which provides dynamic refresh in scanning the data of the optical RAM. This microprocessor also provides data to an external host computer concerning the location of the work piece being processed. This is accomplished through a serial RS-232 communications port or by a parallel port. When not accessing the data, the microprocessor provides refresh signals to the random access memory. FIGURES 11A, 11B, and 11C detail a functional flowchart of the software executed by the microprocessor of the present invention. It should be understood that the essential function of the microprocessor is to access and read the optical random access memory and to provide an output to either an operator display or a host computer as to the edge locations of the work pieces in a work station. Generally speaking, the function is that of determining which of the fibers within a line have been exposed to light and which have not in order to locate the edge of the work piece on each of the arrays on the work station surface that have been optically coupled to the optical RAM through the optical fibers as previously discussed. The use of the IS32 OPTIC RAM™ by Micron Technology, Inc. requires the microprocessor of this invention to perform not only the read task but to perform what is termed "setting the exposure time". Simply, the operation of this optical RAM requires that the RAM locations receive a "1" and then after some time, to be termed "exposure time", the RAM is read. This optical RAM is configured so that the individual memory elements that have been exposed to light will lose their charge, i.e. these elements will transition from the "1" to a "0" stored value. As those skilled in the art should appreciate, if the time between the writing of a "1" and the reading of the memory contents is too long, all the memory elements will discharge whether they are exposed to light or not. However, if this time between the write operation and read operation is too short, all the memory elements would still be 1's even if they were exposed to light, i.e. they had not had enough time to be discharged. Therefore, the microprocessor used in the present invention is required to perform a convention calibration to determine the appropriate exposure time. Another functional requirement to be performed by the microprocessor is that of determining when a true edge has been detected. This requirement is present because the work pieces involved in the specific application of this invention are pieces of cloth whose edges may be frayed or contain lint. Therefore, the microprocessor also performs a conventional algorithm to determine, if in fact, the edge detected is in fact the true edge. Referring to FIGURE 11A, the microprocessor begins execution at the start position after either a reset signal is received or after power up. The first function accomplished is the initialization of the Input/Output ports. Next, the executed software initializes the serial Input/Output ports for communications with the host computer. As previously explained, this invention may or may not be used with a host computer. In an embodiment employing a host computer, this computer would perform a robotic function based upon the positional information provided by the invention. However, this invention may be used without a host computer to display positional data to an operator on an operator display. Next, the software determines which cameras the invention is to access and what mode the invention is to operate in by reading externally set switches. Specifically, the invention may operate off a single scan line from eight separate cameras or, alternatively, operate eight scan lines of a single camera. In the preferred embodiment, a single camera is used to read eight lines that are provided to the camera enclosure. Specifically, the control words used to determine the camera and mode operations are "CAMSW" and "MISCSW". The software then clears all the optical RAM memory locations. The auto-white calibration algorithm (setting exposure time) is next performed and involves the scanning of the memory elements representing pixels to determine if they are all white after they have been refreshed and all exposed to light. This calibration algorithm starts at the maximum value that has been set by a constant in software, which in the preferred embodiment is approximately 100 milliseconds. According to the auto-white calibration algorithm, all pixels of the line are scanned. If all pixels have discharged, the exposure time is decreased. This operation continues until at least one pixel does not transition. Then the exposure time is increased by approximately eight percent. It should be understood that the auto-white calibration sequence is performed when all the scan lines are exposed to light. The auto-white calibration sequence is illustrated in FIGURE 11A as including the NXTCAM, AUTOLIN, and WHSEEK subroutines as illustrated. The auto-white sequence is exited along the LEDSON line as shown wherein the LED's on the operator display are turned on. Referring to FIGURE 11B, the software enters the idle loop at 2A wherein the 1 second timer is tested and if the 1 second timer has timed out, the timer is restarted and all the camera scan lines are refreshed. If the 1 second timer is not timed out, these steps are skipped and then the test switch is read to determine if a request is present. If a request is present, the presence of this request signifies that there is no host computer connected and the operation of the invention and the microprocessor software is performed providing output data only to the operator display and not to the communications port. If the test switch request line is not present, then, conversely, there is a host computer present and communications must be established during the first loop as shown by the next decision step. This next step determines if the host has sent an "A" which is to be acknowledged by the microprocessor. The A command by protocol is the first command from the host to establish communication with the microprocessor. If a message has not been received, then the software loops through the idle loop again. Upon the second time through, again, the host message is examined. The software will remain in a loop until a message has been received. If the message received is a "D" then the sequence is started. However, if neither the "A" command of the "D" command are not received at the appropriate times, a no acknowledge "NAK" is sent to the host via the communications port. Given that all the communications with the host are properly established, the software then executes along the GO line as shown in FIGURE 11B by first loading all edge answer registers with "FF" (hexidecimal). The "FF" is the default condition for the registers, i.e. all "1's". The camera switch "CAMSW" and mode switch "MISCSW" are then read and a camera scan is next initialized. Each of the scan lines of the cameras are then individually read as shown. If all the lines are white or black, the next camera or camera scan line is read. If the lines contain both black and white information then the edge is determined. The algorithm for determining the edge determines which pixel location has transitioned and then reads the next 20 pixels. If there is an additional transition within the next 20 pixels, the new transition point is stored and then the next 20 pixels are read. This process continues until 20 pixels are read without an additional transition. This 20 pixel overscan technique is included to determine if the proper edge has been detected and not merely a piece of thread or a piece of lint. Additionally, this same loop will provide an average if a mode is selected that includes 4 scan lines located at each array location on the work station. In other words, instead of a single line of fibers, 4 lines of fibers are located parallel to each other and the 4 lines in the camera are each individually addressed to determine where the edge is for that line. The edge data for the 4 lines is then averaged to provide the edge location. After all the camera lines have been scanned, the results are output to the operator display and, if a host computer is present, this information is provided to the host through the communications port. The software then loops back to node 2B which is illustrated in FIGURE 11B. By operating in this manner, the edge line information is provided for determining the location, position and orientation of a work piece on the work place or work surface. The preferred embodiments described above utilize optical fibers to receive the light and transmit it to an optical RAM. However, it is understood that the present invention also includes the use of photocells or other light receiving devices which can generate electrical signals directly for interacting with a conventional random access memory in accordance with the present invention. It is expected that the claims of the present application cover this variation. Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments as well as other alternative embodiments of the invention will become apparent to persons skilled in the art upon reference to the description of the invention. It is therefore contemplated that the appended claims will cover any such modifications or embodiments that fall within the true scope of the invention.

Claims: An apparatus for detecting the position and orientation of an object as the object passes across an illuminated surface, the apparatus comprising: a plurality of linear arrays (16,18,20) of light conducting fibers, each array including fibers having one end disposed for receiving the illumination from said surface, said fiber ends being located so that at least one array is at least partially obstructed by said object from said illumination; each of said arrays including fibers (153,154) having an opposite end portion positioned linearly relative to the opposite ends of the other fibers of said array, said arrays collectively forming an array matrix (120); optical sensing means (42) having a plurality of individually addressable light sensitive elements (160), each of said elements being responsive to one of said fiber opposite ends (153,154) of said arrays forming said matrix to generate an electrical signal; and computational means for responding to said electrical signals emitted from said elements (160) for generating data signals indicative of the presence of light at said fiber ends, characterized in that said fiber opposite ends (153,154) of said arrays forming said matrix (120) being positioned contiguously to illuminate said optical sensing means (42) whereby said matrix is physically separate from said optical sensing means; said optical sensing means (42) being an optical random access memory; and said computational means scaning and addressing each of the elements in the optical random access memory device and, in response to said electrical signals emitted from said elements, generating data signals indicative of the position and orientation of said object on said surface. An apparatus according to claim 1, wherein said object corresponds to a planar work piece (12,14) and said computational means includes means for computing edge locations of said work piece. An apparatus according to claim 2 wherein said means for computing said edge locations includes an algorithm for determining false edge indications from said addressed element signals. An apparatus according to claim 2 wherein said means for computing said edge locations includes means for calibrating the element signals in response to varying amounts of light exposure upon the elements. An apparatus according to any one of the above claims 2 to 4 wherein said arrays each include four parallel lines of fiber ends and wherein said computational means includes means for averaging the edge location indications of said four parallel lines for each array for determining the edge locations. An apparatus according to any one of the above claims wherein each array is positioned in the surface of the work area and wherein at least one array is orthogonally positioned relative to at least one other array. An apparatus according to claim 1 wherein said object corresponds to a planar work piece and said computational means includes means for computing the location of a work piece center for a predetermined work piece dimension. An apparatus according to claim 1 wherein said computational means includes means for providing said data to an external device. An apparatus according to claim 1 wherein said electrical signal from said optical sensing means includes binary data. An apparatus according to claim 1 wherein said fiber array opposite ends (153,154) and said optical sensing means (42) are contained within an enclosure (38). An apparatus according to claim 10 wherein enclosure further includes optical coupling means (40) for transferring and collimating light from said opposite ends to said optical sensing means.

Inventors: BLESSING, HUBERT, CROYLE, GENE F.
Applicants: LEVI STRAUSS & CO.
Application year: 1986
Main classification: G01V9
IPC codes: G01B11, G01V8