STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
BACKGROUND OF THE INVENTION
The present invention relates to machine vision systems and more specifically to a system wherein an aiming pattern can be generated and directed at an area or feature on an object to be imaged to select the feature or object for enhanced analysis.
Machine vision systems have been developed for use in automated inspection systems that capture images of objects within a field of view and examine the objects to determine if the objects have expected features. Where expected features are not present, in some cases the objects are rejected, in other cases an automated process may have to be halted and in still other cases objects have to be reoriented. In early inspection systems object features of interest had to be manually programmed which was complicated and time consuming.
More recent inspection systems have been developed wherein object features of interest are identified during a commissioning procedure wherein an image of an exemplary object to be inspected is obtained and a processor runs a program to identify object features of interest for inspection. In many cases not all image features are of interest for inspection. For instance, in some cases lighting of an object may be such that different portions of a flat or slightly curved surface appear in a captured image to form an edge. Here, the apparent edge is not in fact an edge and typically would not be of interest during object inspection. To help a processor identify features of interest many commissioning procedures require a system user to examine a commissioning image and identify specific image areas or portions that include features of interest that should be identified and trained or learned. Thus, for instance, where two true object edges are adjacent and their relative lengths and juxtapositions are important, the image may be provided on a computer screen and a mouse or other input device may be used to select an area including the two edges after which the training process can commence.
In addition to being usable to specify image areas for training purposes, on-screen images and input devices can also be used to identify different image features for other types of processing. For instance, once an image is captured, a mouse or other input device may be used to select two different points on the image (i.e., points corresponding to image features of interest) for measuring a dimension (e.g., a length, a separation dimension, etc.). Moreover, other features of on screen images can be manually selected for further processing such as specific information marks/symbols (e.g., bar codes) to be decoded, regions of interest that should be searched for known features, etc.
Unfortunately many inspection systems do not include an output device such as a display screen that can be used to examine a commissioning image and to identify portions/areas of the image that include features of interest for training purposes or for identifying features for additional processing.
Thus, it would be advantageous to have a system that allows a user to identify object areas or features for additional processing or training where a display screen and associated input device are not required.
U.S. Pat. No. 6,340,114 teaches a bar code reader that includes an aiming pattern generating device that includes a light source that directs an aiming pattern along a trajectory substantially parallel to the axis of a reader field of view. This patent teaches that two images of a field of view are obtained in rapid succession, one image with the aiming pattern on and the other with the aiming pattern off. Where the field of view is much larger than a bar code to be imaged and decoded, the aiming pattern is placed on the bar code to be read and the two images are obtained. The location of the aiming pattern in the first image is identified and the location information is used to identify an area in the second image in which the bar code should be sought. Here, the aiming device is an integral part of the code reader assembly.
These and other objects and advantages of the invention will be apparent from the description that follows and from the drawings which illustrate embodiments of the invention, and which are incorporated herein by reference.
BRIEF SUMMARY OF THE INVENTION
It has been recognized that a simple aiming device that is separate from a reader can be provided that can generate an illumination aiming pattern on a feature or area of interest on an object so that when an image of the object including the aiming pattern is captured, the pattern can be recognized within the captured image and processing associated therewith can be performed on the feature or area of interest. For example, in the case of a training commissioning procedure, a hand held laser aiming device may be controlled to generate a rectilinear area defining pattern that can be directed at an object to define an area on the object in which features exist that should be learned for subsequent inspections. Here, when an image of the object is captured, the aiming pattern and area defined thereby can be identified and the leaning process can be performed to identify object features of interest within the area. Thereafter the learned features can be stored to facilitate subsequent inspections.
In a general sense at least some embodiments of the invention include methods whereby a process is specified for image features or an image area that is to be identified by the aiming pattern and then, when an image is obtained including the aiming pattern, the aiming pattern is identified, features or the area associated with the aiming pattern are identified and the specified process is performed.
It has also been recognized that an aiming device separate from a reader may be provided that is usable to generate several different aiming patterns where the different aiming patterns indicate different functions to be performed by a processor that interprets collected images. For instance, the aiming device may be controllable by a user to generate any one of a cross shaped aiming pattern, a doughnut shaped aiming pattern or an arrow shaped aiming pattern where each of the three different patterns indicates a different type of inspection process. In this case, when an image is obtained with one of the aiming patterns in the image, an imaging processor identifies the aiming pattern in the image, identifies the type of aiming pattern in the image and then performs the type of inspection process that is associated with the aiming pattern in the image.
Moreover, it has been recognized that an imager device may be used in a video mode to obtain a plurality of images in a rapid sequence while an aiming device is used to indicate an area within the imager's field of view. For instance, an aiming device that forms a dot type pattern may be used to effectively draw a pattern around an area in the field of view that is of interest while the image sequence is obtained for further examination. As another instance, an aiming device may be used to indicate four separate corners of an area of interest in the field of view while the image sequence is obtained. Thereafter, an image processor can examine the image sequence and identify the area of interest and perform processing functions on the area of interest in one of the obtained images.
Furthermore, it has been recognized that a light projector may be provided as an aiming device where the light projector can be controlled to change the shape of an aiming pattern or the shapes of several aiming patterns to indicate different regions of interest within a camera's FOV. Here, in at least some embodiments, the projector may provide a set of standard predefined shapes that can be selected and then projected onto a surface of an object to be examined. Once a predefined pattern is projected onto a surface, manual controls may be used to deform or modify the pre-defined pattern to generate a customized pattern of interest. In addition, once a pattern appears on a surface, manual controls may be used to relocate the pattern in the FOV and to associate the pattern with a function to be performed subsequently during a run time process.
Consistent with the above, at least some inventive embodiments include a method for use with a camera that includes a field of view (FOV), the method for selecting a portion of the field of view for analysis and comprising the steps of: (a) placing at least a portion of a first object within the field of view of the camera (b) providing a light source separate from the camera where the light source can be positioned separately from the camera, (c) directing the light source toward the first object within the field of view of the camera so that the light forms an aiming pattern that is one of on and proximate a first location of interest on the first object, (d) obtaining an image of the portion of the first object within the field of view including the aiming pattern; (e) identifying the location of the aiming pattern in the obtained image and (f) using the aiming pattern in the obtained image to perform a processing function.
In at least some cases the step of performing a processing function includes performing a feature learning process on a fractional portion of the image proximate the aiming pattern to identify object features and storing learned features for subsequent object inspection. In some cases the aiming pattern defines an area on the object and the step of performing the feature learning process on a fractional portion includes performing the process on the portion of the image within the area defined by the aiming pattern. In some cases the method further includes the steps of placing at least a portion of a second object within the field of view of the camera, obtaining an image of the portion of the second object within the field of view and analyzing the image of the portion of the second object within the field of view to locate at least one of the learned features.
In some embodiments the method further includes the step of storing information related to the location of the aiming pattern in the obtained image for use during analysis of subsequently obtained images of other objects. In some cases the obtained image is a first image, the method further including the steps of, with the aiming pattern off, obtaining a second image of the portion of the first object within the field of view and wherein the step of using the aiming pattern in the first image includes using the location of the aiming pattern in the first image to select a portion of the second image for further processing. In some cases the step of providing a hand held light source includes providing a pencil beam forming hand held light source.
In some cases the method further includes the step of repeating steps (b) through (e) for at least a second location of interest. In some cases the method further includes the step of repeating steps (b) through (d) for a plurality of locations of interest, the locations of interest together defining a field of view subsection, the step of storing including storing information specifying the field of view subsection.
In some cases the aiming pattern is used to define a line having a length dimension and the step of performing a processing function includes determining the length dimension of the line. In some cases the step of performing a processing function includes searching a portion of the image proximate the aiming pattern for features of interest. In some cases the step of providing a light source separate from the camera includes providing a hand held light source.
In at least some embodiments the step of providing a light source includes providing a light source that can be controlled to generate any of a plurality of different aiming patterns, the method further including selecting one of the aiming patterns to be generated by the light source and, after the step of identifying the location of the aiming pattern in the obtained image, identifying the type of aiming pattern in the obtained image and identifying a specific processing function to be performed as a function of the type of aiming pattern identified.
Some embodiments include a method for use with a camera having a field of view (FOV), the method for use during a commissioning procedure to identify at least a first FOV subsection, the method comprising the steps of (a) placing at least a portion of a first object of the first type within the field of view, (b) directing a hand held light source toward the first object within the field of view of the camera so that the light forms an aiming pattern that is one of on and proximate a first feature of interest on the first object, (c) obtaining an image of the portion of the first object within the field of view, (d) identifying the location of the aiming pattern in the obtained image, and (e) using the location of the aiming pattern in the obtained image to perform a processing function.
In some embodiments the step of using the location of the aiming pattern includes selecting a first image portion of interest which corresponds to a fraction of the obtained image proximate the aiming pattern and which also corresponds to a field of view subsection and performing a processing function on the first image portion. In some cases the step of performing a processing function includes examining the first image portion of interest for at least one object feature, the step of storing including, when the at least one object feature is identified, storing information associated with the at least one object feature. In some cases the step of directing a hand held light source includes using a pencil beam forming hand held light source.
Some embodiments include a system for obtaining an image of an object within a field of view (FOV) and selecting a portion of the image for analysis, the system comprising a data collector for obtaining an image of a first object within a data collector field of view (FOV), a light source that is separate from the data collector and that is separately positionable from the data collector for, when a portion of a first object is within the field of view of the data collector, directing light toward the first object within the field of view so that the light forms an aiming pattern that is one of on and proximate a first location of interest on the first object and a processor programmed to identify the location of the aiming pattern in the obtained image and to use the aiming pattern in the obtained image to perform a processing function.
In some cases the processor performs a processing function by performing a feature learning process on a fractional portion of the image proximate the aiming pattern to identify object features and storing learned features for subsequent object inspection. In some embodiments the aiming pattern defines an area on the object and the processor performs the feature learning process on a fractional portion by performing the process on the portion of the image within the area defined by the aiming pattern.
In some embodiments the processor further stores information related to the location of the aiming pattern in the obtained image for use during analysis of subsequently obtained images of other objects. In some cases the light source is a handheld light source. In some cases the light source is a laser beam light source. In some cases the aiming pattern defines a line having a length dimension and the processor determines the length dimension of the line within the obtained image. In some cases the processor performs a processing function by searching a portion of the image proximate the aiming pattern for features of interest.
Some embodiments include a method for use with a camera that includes a field of view (FOV), the method for selecting points within the field of view for analysis, the method comprising the step of placing at least a portion of a first object within the field of view of the camera, directing a light source toward the first object within the field of view of the camera so that the light forms an aiming pattern on the object at a first location of interest, obtaining a first image of the portion of the first object within the field of view, identifying the location of the aiming pattern in the first image, with the first object still within the field of view of the camera, directing the light source toward the first object within the field of view of the camera so that the light forms an aiming pattern on the object at a second location of interest, obtaining a second image of the portion of the first object within the field of view, identifying the location of the aiming pattern in the second image and u sing the identified locations of the aiming pattern in the first and second images to perform a processing function.
Still other embodiments include a method for use with a camera that includes a field of view (FOV), the method for selecting a function to be performed on an image obtained by the camera and comprising the steps of forming any one of a plurality of different illumination aiming patterns on at least one surface of an object within the field of view of the camera, obtaining an image of the first object within the field of view including the aiming pattern, identifying the type of aiming pattern in the obtained image and identifying a process associated with the identified aiming pattern wherein a different process is associated with each different aiming pattern.
In some embodiments the method further includes the step of performing the identified process that is associated with the identified aiming pattern. In some cases a different process is associated with each of the different aiming patterns and wherein each of the processes is an inspection process. In some cases the method further includes the steps of providing a light source controllable to generate any of a plurality of different aiming patterns, selecting the one of the plurality of different aiming patterns to be generated by the light source and directing the selected aiming pattern toward the first object within the field of view of the camera so that the light forms the aiming pattern.
In some cases the step of obtaining an image and the step of using a light source include using a light source that is separate from the imager used to obtain the image. In some cases the method further includes identifying the location of the aiming pattern in the obtained image and performing the identified process on a portion of the image associated with the location of the aiming pattern in the image.
Some embodiments include an apparatus for use with a camera that includes a field of view (FOV), the apparatus for indicating at least a first portion of a field of view for analysis and comprising a light source for generating a first light pattern that is directed onto an object surface within the FOV while the light source remains stationary with respect to the object, an adjuster for, while the first light pattern subtends a surface of the object and without moving the light source with respect to the object, modifying the first light pattern to generate a first deformed light pattern that is directed onto the object surface in the FOV and a manual input device for controlling the adjuster to indicate how the first light pattern is to be modified.
In some cases the light source includes a projector. In some cases the projector is one of a DLP projector or LCD projector. In some cases the light source is supported in a single position with respect to the camera when the adjuster modifies the first light pattern. In some cases the light source is detachable from the camera and can be used with at least a second camera. In some cases the light source is capable of generating several predefined light patterns, the apparatus further including a selector for selecting at least one of the predefined light patterns to be generated by the light source.
In some cases the adjuster is also for modifying the location of a light pattern within the FOV and wherein the manual input device includes a position selector for positioning the light pattern while the light pattern subtends a surface of the object. In some cases the light source generates a second light pattern in addition to the first light pattern in the FOV and wherein the adjuster is usable to independently modify each of the first and second light patterns while the light patterns subtend a surface of the object in the FOV. In some cases the first light pattern is generated and modified during a commissioning procedure and wherein the light source also projects output information in addition to the light patterns onto the object surface during the commissioning procedure. In some cases the output information and the light patterns are simultaneously generated. In some cases the light source is capable of generating several predefined light patterns, the output information including a selection tool for selecting at least one of the predefined light patterns, the apparatus further including a selector for selecting at least one of the predefined light patterns from the output information.
In some cases the first light pattern is generated and modified during a commissioning procedure and wherein the light source is further used during a run time process to illuminate object surfaces while images needed for a machine vision process are obtained. Some embodiments further include a processor that obtains at least one image from the camera that includes the first deformed light pattern and is programmed to identify the deformed light pattern in the image. In some cases the manual input device includes at least one of a joystick, a knob, a touch sensitive pad, a roller wheel, a roller sphere and a mechanical button. In some cases the camera has an optical axis and the light source is arranged to project the light pattern substantially along the optical axis of the camera.
In some embodiments the adjuster is also for modifying at least one non-shape characteristic of the light pattern to indicate at least one of a processing function associated with the pattern, an aspect of the processing function associated with the pattern, or a processing parameter of the function associated with the pattern. In some cases the non-shape characteristic of the light pattern is at least one of color of the light pattern and line type used to circumscribe the light pattern. In some cases the non-shape characteristic indicates at least one of a processing threshold and an acceptance criteria.
Some embodiments include a processor linked to the camera, the camera obtaining images of the FOV, the processor programmed to perform a first predefined process on the portion of an obtained image associated with the region specified by the first deformed light pattern. In some cases the first predefined process is at least one of a measurement process, an inspection process, an alignment process or machine readable indicia decoding.
Some embodiments further include a processor that identifies a region of interest within the FOV that is associated with the modified light pattern, obtains an image of the FOV, identifies at least one aspect of the obtained image within the region of interest and adjusts at least one aspect of illumination during subsequent image capture as a function of the at least one aspect of the obtained image. In some cases the at least one aspect of the obtained image within the region of interest is brightness. In some cases the at least one aspect of illumination is illumination brightness.
Other embodiments include an apparatus for use with a camera that includes a field of view (FOV), the apparatus for indicating at least a first portion of a field of view for analysis and comprising a light source for generating a first light pattern that is directed onto an object surface of an object in the FOV, an adjuster for, during a commissioning procedure while the light source remains stationary with respect to the object surface, modifying the first light pattern to generate a first deformed light pattern that is directed onto the object surface in the FOV and a projector for, during the commissioning procedure, projecting output information onto the object surface to indicate options for modifying light pattern characteristics.
In some cases the projector provides the light source. In some cases the projector provides object surface illumination during a run time procedure which follows the commissioning procedure during which the camera obtains images of object surfaces for processing. In some cases the adjuster modifies the first light pattern by modifying the shape of the first light pattern. In some cases the adjuster modifies the first light pattern by modifying at least one non-shape pattern characteristic. In some cases the non-shape pattern characteristic is one of color and line type of a line that circumscribes the pattern.
Still other embodiments include a method for use with a camera that includes a field of view (FOV), the method for indicating at least a first portion of a field of view for analysis and comprising the steps of controlling a light source to generate a first light pattern that is directed onto an object surface within the FOV while the light source remains stationary with respect to the object, while the first light pattern subtends a surface of the object and without moving the light source with respect to the object, modifying the first light pattern to generate a first deformed light pattern that is directed onto the object surface in the FOV and using a manual input device to control the adjuster to indicate how the first light pattern is to be modified.
Still other embodiments include a method for use with a camera that includes a field of view (FOV), the method for indicating at least a first portion of a field of view for analysis and comprising the steps of providing a light source for generating a first light pattern that is directed onto an object surface within the FOV while the light source remains stationary with respect to the object, providing a processor for controlling the light source and, while the first light pattern subtends a surface of the object and without moving the light source with respect to the object, using the processor to modify the first light pattern to generate a first deformed light pattern that is directed onto the object surface in the FOV. In some cases the method further includes the step of projecting output information onto the object surface to indicate options for modifying light pattern characteristics.
To the accomplishment of the foregoing and related ends, the invention, then, comprises the features hereinafter fully described. The following description and the annexed drawings set forth in detail certain illustrative aspects of the invention. However, these aspects are indicative of but a few of the various ways in which the principles of the invention can be employed. Other aspects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a schematic illustrating an exemplary machine vision system that is consistent with at least some aspects of the present invention;
FIG. 2 is a schematic illustrating various components of the workstation shown in FIG. 1;
FIG. 3 is a perspective view of the exemplary aiming device shown in FIG. 1;
FIG. 4 is a schematic illustrating the various components of at least one embodiment of the aiming device shown in FIG. 3;
FIG. 5 is a top plan view of an object supported by a transfer line belt where an exemplary aiming patterns is formed on the object;
FIG. 6 is a flow chart illustrating a method that is consistent with at least some aspects of the present invention for using the aiming device of FIG. 3 to indicate an area of an object to be examined within an image during a training procedure;
FIG. 7 is a flow chart illustrating a method for using trained patterns to inspect objects for specific features;
FIG. 8 is a flow chart illustrating a method consistent with at least some aspects of the present invention for using the aiming device of FIG. 3 to identify a region of interest on an object for searching for features of interest;
FIG. 9 is a view illustrating the aiming device of FIG. 3 being used to provide a line type aiming pattern on an object being imaged;
FIG. 10 is a flow chart illustrating a method consistent with at least some aspects of the present invention wherein an aiming pattern on an object is used to identify a length dimension to be determined;
FIG. 11 is a view illustrating the aiming device of FIG. 3 used to identify a specific symbol on a label for decoding;
FIG. 12 is a flow chart illustrating a method whereby the aiming device of FIG. 3 is used to identify a mark or symbol within a camera field of view for decoding;
FIG. 13 is a flow chart illustrating a general method whereby an aiming pattern captured by an imaging device is used to facilitate a processing function;
FIG. 14 is a subprocess that may be added to the process of FIG. 6 whereby the location or area specified by an aiming pattern during a commissioning procedure is stored for subsequent use during object inspection procedures;
FIGS. 15A-15C are schematics illustrating three different aiming patterns that may be generated by an aiming device in at least some embodiments of the present invention;
FIG. 16 is a schematic illustrating an exemplary machine vision system and projector type aiming device that is consistent with at least some aspects of a stationary type aiming embodiment of the present invention;
FIG. 17 is a schematic illustrating various components of the aiming device shown in FIG. 16;
FIG. 18 is a schematic where the top portion shows an exemplary projected aiming pattern generated by the aiming device of FIG. 16 and the bottom portion shows an interface for the aiming device of FIG. 16;
FIG. 19 is similar to the top portion of FIG. 18, albeit illustrating a different three pattern projection generated by the aiming device of FIG. 16;
FIG. 20 is a flow chart illustrating a process that may be performed by the processor of FIG. 17 that is consistent with at least some aspects of the present invention;
FIG. 21 is a flow chart illustrating a function selection and setting process that may be performed by the processor of FIG. 17;
FIG. 22 is a schematic diagram similar to the one shown in FIG. 16, albeit showing a wireless interface device that communicates wirelessly with an aiming device;
FIG. 23 is a front elevational view of the wireless interface device of FIG. 22;
FIG. 24 is a schematic diagram illustrating a projected interface generated by the processor and projector assembly of FIG. 17 that is consistent with at least some aspects of some embodiments of the present invention;
FIG. 25 is similar to FIG. 24, albeit illustrating a different projected image;
FIG. 26 is similar to FIG. 24, albeit illustrating a different projected image;
FIG. 27 is similar to FIG. 24, albeit illustrating yet another projected image;
FIG. 28 shows a personal electronic device that may be programmed to operate as a remote control for the aiming device shown in FIG. 22.
DETAILED DESCRIPTION OF THE INVENTION
Referring now to the drawings wherein like reference numerals correspond to similar elements throughout the several views and, more specifically referring to FIG. 1, the present invention will be described in the context of an exemplary object imaging system 10 including a camera 12, a workstation 14, a transfer line 16, a plurality of objects to be imaged, two of which are identified by 18a and 18b, and a handheld aiming device 20. Referring also to FIG. 2, workstation 14 includes a display 22, a processor 24, a keyboard/input device 26, a memory 32 and a receiver 34. Processor 24 is linked to each of the display 22, keyboard 26, memory 32 and receiver 34. Programs run by processor 24 are stored in memory 32. Processor 24 provides output to a system user via a display 22. Processor 24 receives user input via the keyboard input device 26 and can also receive wireless transmissions via receiver 34. Receiver 34 is akin to an access point in a wireless network or the like.
Referring still to FIGS. 1 and 2, processor 24 is also linked to the camera 30 for receiving information therefrom and providing control signals thereto. Camera 30 includes a field of view 40 (see again FIG. 1) that can be directed toward objects to be imaged. Although not shown in FIG. 1, a light source 36 may be integrated with the camera 30 or there may be a separate light source for shining light within the field of view 40 of the camera 30 to illuminate objects within the field of view to be imaged. Processor 24 may be linked to light source 36 for providing control signals thereto to turn on the light source during imaging activity.
Referring once again to FIG. 1, in the illustrated embodiment, camera 30 is supported by a camera support stand 28 so that the camera faces downward and the field of view 40 is stationary. Transfer line 16 includes a transfer line belt or the like, a portion of which is identified by numeral 17, for transferring objects into the field of view 40 of camera 30 to be imaged. In FIG. 1, two exemplary objects to be imaged are identified by numerals 18a and 18b. Each of the objects 18a and 18b is similarly configured and therefore, in the interest of simplifying this explanation, only object 18a will be described in any detail. Object 18a includes, among other surfaces, a first generally flat surface 50 where three cross-shaped patterns are formed near a lateral edge. One of the cross-shaped patterns on surface 50 is identified by numeral 52.
Referring once again to FIG. 1 and also now to FIGS. 3 and 4, aiming device 20 is a handheld light generating device that can be controlled to generate a light pattern on one of the objects (e.g., 18a) to be imaged. To this end, device 20 includes a housing structure 58 that has a grip portion 58 and a barrel portion 60. An activation button 62 is provided on a front portion of the grip portion 58. A laser mechanism 56 is housed within barrel 60 so that a distal end thereof extends from the distal end of barrel 60. The laser mechanism 56 can be controlled to form any of several different laser patterns. For example, as shown in FIG. 3, laser 56 may be controlled to form a rectilinear or square aiming pattern 44. Other aiming patterns that may be formed by laser 56 include a line, a dot or point, a plurality of points that together define an aiming space therebetween, etc.
In addition to the components above, the illustrated aiming device 20 also includes a transmitter 64, a memory 67, a controller 65 and a battery 69 (see again FIG. 4). The controller 65 is linked to each of the laser device 56, activation button 62, transmitter 64, memory 67 and battery 69. In at least some embodiments, device 20 only generates a laser aiming pattern when the activation button 62 is pressed. In some embodiments, activation button 62 may have two different activation states, one state for turning on the laser and generating the aiming pattern 44 and a second state causing the controller 65 to transmit a signal via transmitter 64 indicating that the camera 30 (see again FIG. 1) should take a picture of the object within its field of view 40. Thus, for example, button 62 may have three positions including a deactivated position where the button is not pressed, a laser turn on position where the button is pressed to a first or intermediate position and an image capture position where the button 62 is completely pressed. In this case, button 62 may have a detent at the intermediate position so that a device user can easily feel that position when that position is reached.
Referring still to FIGS. 1, 2 and 4, when transmitter 64 transmits an image capture signal, receiver 34 receives that signal and provides that signal to processor 24. Processor 24 in turn controls camera 30 to obtain an image of the object within field of view 40.
As well known in the imaging arts, software has been developed that can be used during a commissioning procedure to allow a processor or workstation to examine an exemplary object to be imaged and automatically identify and learn specific features of the exemplary object so that those features can be subsequently identified during an inspection process of other objects that have similar or identical features. In many cases, specific object features are particularly important while other features are less so and, in these cases, the learning process can be expedited by identifying areas on an object in which the specific features reside so that the learning process can be expedited.
Referring now to FIG. 6, one exemplary method 80 for identifying object areas to be inspected to facilitate an object feature learning process is illustrated. Referring also to FIGS. 1 through 5, at block 82, a learning object 18a is positioned within the camera field of view 40 so that the features to be learned or trained will be captured in an image by the camera 30. At block 84, a user turns on aiming device 20 and points the aiming pattern at the object 18a to select an area or location of interest for training. In FIGS. 1 and 5, an exemplary area for training is identified by numeral 44 and includes the cross-shaped item 52 as well as two lateral edges of the object 18a adjacent item 52. In the above example where the activation button 62 has three positions (i.e., one position deactivated, an intermediate position for generating the aiming pattern 44 and a fully pressed position causing a signal to be transmitted via transmitter 64), at this point, button 62 is in the intermediate position. At block 86, button 62 is fully depressed causing transmitter 64 to transmit an image capture signal wirelessly to receiver 34. When the image capture signal is received, processor 24 causes camera 30 to capture an image of object 18a including aiming pattern 44 where the aiming pattern indicates a fractional portion of the image obtained.
Referring still to FIGS. 1 through 6, at block 88, the captured image is received by processor 24 and the processor 24 locates the aiming pattern 44 (see again FIG. 5) in the image. At block 90, processor 24 runs any of several different learning or training software routines to examine the portion of the image defined by the aiming pattern and to identify object features for training. At block 92, the trained features are stored for inspection of subsequent objects. In the above example, the trained features may include characteristics of the cross-shaped pattern 52, existence of the two lateral edges adjacent pattern 52, dimensions between pattern 52 and the adjacent two edges, dimensions of pattern 52, etc.
At block 94, where additional training patterns or features are to be learned control passes back up to block 84 where the process is repeated for a different area of the object 18a. To this end, aiming device 20 may again be used to select a different portion or area of object 18a for feature training. At block 94 where no more training features are to be learned, the process ends.
Referring now to FIG. 7, a method 98 that may be used to identify trained patterns or features during a subsequent inspection process of other objects (e.g., 18b in FIG. 1) is illustrated. Referring also to FIGS. 1 through 5, at block 100 a subsequent object 18b is moved into the field of view of the camera. At block 102, an image of the object 18b is captured. At block 104 training patterns or features are accessed within the memory/database 32. At block 106, processor 24 searches the image or the training patterns for features.
In addition to being used to identify areas of an object for training or learning purposes, according to another aspect of the present invention, the aiming device 20 can be used to manually identify object areas that should be searched for known specific features. To this end, one method 110 using the aiming device 20 to identify regions of interest for searching for known features of interest is shown in FIG. 8. Referring once again to FIGS. 1 through 5, at block 112 model features of interest are specified and stored. Consistent with the above example, model features of interest may include the cross-shaped pattern 52 along with a dimension between that pattern 52 and an adjacent edge of item 18a. At block 114, the object to be examined or inspected 18a is positioned within the camera field of view 40 so that the area including the features of interest is within the field of view. At block 116, device 20 is activated so that the aiming pattern 44 is generated and the aiming pattern 44 is aimed at the region of interest as shown in FIG. 5. At block 118, camera 30 captures an image of the field of view 40 including the aiming pattern 44. At block 120, process 24 locates the aiming pattern 44 in the image. At block 122, processor 24 examines the portion of the image defined by the aiming pattern for the model features of interest. At block 124, where the features of interest have not been locates, control passes back up to block 122 where multiple attempts to identify the features of interest may occur. Once the features of interest are located, at block 124, control passes to block 126 where additional functions may be performed. For example, additional functions may include an affirming signal to the system user that the features of interest have been identified and are within specific tolerances.
According to yet one additional aspect of the present invention, aiming device 20 may also be used to select different characteristics or features of an object being imaged for dimension measuring purposes. Thus, for example, referring now to FIG. 9, where cross-shaped patterns 52 and 53 are spaced apart by a dimension 130, device 20 may be used to identify adjacent edges of patterns 52 and 53 and processor 24 may be programmed to calculate the distance between those adjacent edges. To this end, as seen in FIG. 9, device 20 may generate a planar type laser pattern that forms a line of light 130 on an object to be images. Here, the length of the line 130 may be adjusted and device 20 may be positioned such that the opposite ends of the line 130 define a length dimension to be measured.
Referring now to FIG. 10, a method 140 for measuring a distance between object characteristics or features is illustrated. Referring also to FIGS. 2, 4 and 9, at block 142, the object 18a is positioned within the camera field of view 40. At block 144, the line forming aiming pattern 132 is turned on and is aimed at the object 18a to select a dimension to be measured. At block 146, camera 30 captures an image of the object 18a including the aiming pattern 130. At block 148, processor 24 locates the aiming pattern in the image and at block 150, processor 24 determines the length dimension of the aiming pattern in the image. At block 152, processor 24 reports the length dimension via display 22 and may also store that length dimension if necessary.
According to yet another aspect of the present invention, device 20 may be used to select one of several different symbols or marks to be decoded that are located within the camera field of view 40. To this end, refereeing to FIG. 11, an exemplary label 162 is illustrated that includes a plurality of marks or symbols, some of which are identified by numerals 164, 166, 168 and 170. When label 162 is within the field of view 40 so that an image of the entire label is obtained, where only one of the symbols is of interest such as, for instance, symbol 168, that symbol can be selected via device 20. To this end, as shown in FIG. 11, device 20 may be controlled to generate a laser line or point source 42 that can be directed at label 162 so as to impinge on the symbol 168 of interest.
Referring now to FIG. 12, an exemplary method 180 for using device 20 to select a symbol of interest to be decoded is illustrated. Referring also to FIGS. 2, 4 and 11, at block 182 an object including the label 162 is positioned within the camera field of view 40 so that the label 162 can be imaged. At block 184, the laser aiming pattern or dot is turned on and is directed at the mark or symbol 168 to be decoded. At block 186, an image of the label 162 is captured including the aiming pattern or dot. At block 188, processor 24 (see again FIG. 2) locates the aiming pattern or dot in the image and at block 190 processor 24 identifies the mark or symbol 168 selected via the aiming pattern. At block 192 the selected mark 168 is decoded.
It should be appreciated that the aiming device 20 can be used in conjunction with a camera 30 to perform any function whereby the device 20 is used to generate an aiming pattern on an object to be imaged where the image includes the aiming pattern and some processor function that uses the aiming pattern can then be performed. To this end, referring now to FIG. 13, an exemplary generic method 200 that may be performed using the system shown in FIG. 1 is illustrated. At block 202, a function to be performed on a feature of interest is specified via a processor program stored in memory 32 (see also FIG. 2). At block 204, an object including the feature of interest is positioned within the camera field of view 40. At block 206, the laser aiming pattern of device 20 is turned on and the pattern is aimed at the object to select some feature of interest or area of interest. At block 208, an image including the aiming pattern is captured, and at block 210, processor 24 locates the aiming pattern in the image. At block 212, processor 24 performs the specified functions associated with the features selected via the aiming pattern.
In at least some embodiments it is contemplated that the aiming device 20 may be a very simple aiming device that can only generate a pencil beam of light to form a dot or point on an object to be imaged. Here, in at least some embodiments, to define a line for a length measurement or the like as described above, the camera 30 may be used first and second times to obtain two images of an object where the aiming device 20 is used to specify different location is on the object during each image capture process. Thus, for example, referring again to FIG. 9, during a first image capture, device 20 may be used to identify an edge of pattern 52, and during a second image capture, device 20 may be used to identify an edge of pattern 53. Here, processor 24 (see again FIG. 2) will be programmed to recognize that the dimension measurement process should be performed after the two images are obtained and using the two locations within the images specified by the two dot aiming patterns.
Similarly, where device 20 is only capable of generating a pencil laser beam, an area or region of interest for training or for inspection may be specified by obtaining three or more images with device 20 used to indicate different locations on the object being imaged in each one of the three or more images. Thus, for instance, referring again to FIG. 5, during a first image capture, device 20 may be used to identify corner 181 of pattern 44, may be used to identify corner 183 during a second image capture, may be used to identify corner 185 during a third image capture and may be used to identify corner 189 during a fourth image capture.
In a similar fashion, at least some embodiments may include a reader or imager device that can be placed in a video mode where a sequence of images can be obtained in rapid succession over a period. In this case, a pencil beam type aiming pattern may be used while an imager device is collecting video images to draw a circle around an area on an object within the imager device's field of view. Here, the different locations of the pencil beam aiming pattern during the drawing action are obtained in the series of video images. After the drawing process has been completed, processor 24 (see again FIG. 1) examines each of the images in the video sequence to identify the locations of all of the pencil beam patterns in the sequence. Together the patterns in the sequence specify an area of interest in the images for further inspection, learning, etc. Once the area of interest is identified the processor performs an inspection process or some other function on one of the sequence images or on another image of the object obtained without the aiming pattern on.
In still other embodiments it is contemplated that, with an imager device operating in the video mode to obtain a sequence of images in rapid succession, a pencil beam or other type aiming pattern may be used to indicate three or more points within the imager device's field of view that together define a space or region of interest on an object in the field of view. Here, the aiming device is turned on three or more separate times and pointed at locations of interest in the field of view that circumscribe the are of interest. After the area defining points have been indicated and images including the point have been obtained via the imager device, processor 24 (see again FIG. 1) examines each of the images in the video sequence to identify the locations of all of the area defining locations of the aiming pattern. Together the pattern locations in the sequence specify an area of interest in the images for further inspection, learning, etc. Once the area of interest is identified the processor performs an inspection process or some other function on one of the sequence images or on another image of the object obtained without the aiming pattern on.
Referring once again to FIG. 2, where the objects 18a, 18b, etc., to be inspected are to be juxtaposed in a similar or identical orientation with respect to the camera 30 during an inspection process so that similar features should be located in identical or similar locations within obtained images, in at least some embodiments, it is contemplated that during a training or learning process, in addition to learning and storing object features of interest for subsequent inspection, the locations of those features within the images can be obtained and stored for use during subsequent inspections. Thus, for instance, referring again to FIG. 5, the portion of the image to be defined by aiming pattern 44 may be stored during the commissioning procedure and that same area or portion of subsequent images during an inspection process may be inspected for the features of interest. This step of storing image portions for subsequent inspection can expedite the subsequent inspection processes appreciably.
Referring to FIG. 14, an exemplary subprocess that may be added to the process of FIG. 6 for storing information that specifies a fraction of an image area for subsequent inspection is illustrated. Referring also to FIG. 6, after block 92 where trained features for inspection of subsequent objects have been stored, control passes to block 93 in FIG. 14 where the location of the aiming pattern used during the commissioning procedure is stored for subsequent inspection of other objects. After block 93, control passes to back block 94 in FIG. 6 where the process described above continues.
In at least some embodiments, it is contemplated that the aiming device 20 may only be able to form a simple dot or point type aiming pattern. In these cases, one other way to identify a region of interest in an image of an object is to program the processor 24 (see again FIG. 2) to identify an area about a point in an image as a region of interest. Thus, referring again to FIG. 5, a point or dot aiming pattern may be positioned directly in the middle of the illustrated pattern 44 and processor 24 may be programmed to identify a 4×4 inch space about the dot as a region of interest for feature learning, inspection, etc.
In some embodiments, it is contemplated that the aiming pattern may degrade portions of an image thereby deteriorating the usefulness of the information for its intended purpose(s). For instance, referring again to FIG. 11 where a barcode is to be decoded, it may be that an aiming pattern on a barcode (see 168) will adversely affect decoding of the code upon imaging. Here, in at least some embodiments, instead of selecting a code for decoding by identifying the code impinged by an aiming pattern, processor 24 (see again FIG. 2) may be programmed to select the code that is most proximate an aiming pattern in an obtained image. Thus, here, an aiming device user could aim the aiming pattern (e.g., a dot) at a location immediately adjacent code 168 to select that code for further processing.
In still other embodiments, it is contemplated that where an aiming pattern in an image can deteriorate image data for its intended purpose, two images may be taken in rapid succession instead of one image, where the aiming pattern is on for one of the images and off for the other of the images. In this case, the aiming pattern in the one image can be identified, a location or area associated with the aiming pattern can be determined and that location or area can be used to identify the same location or area in the other image. Thereafter, processing can be performed on the data corresponding to the location or area in the other image in the manner described above.
In at least some embodiments it is contemplated that an aiming device 20 may be controllable to generate any of several (e.g., 10, 15, etc.) different aiming patterns and that an imaging processor 24 (see FIG. 2) may be programmed to associate each of the different aiming patterns with a different inspection process or other function (e.g., learning a field of view area of interest for subsequent inspection, etc.) Here, the processor is also programmed to, when an image is obtained, identify an aiming pattern in the image, identify aiming pattern type, associate the aiming pattern type with a specific function or process to be performed and then perform the associated function or process. For example, referring to FIGS. 15A through 15C, where a processor can perform three different inspection processes A, B and C, the different processes A, B and C may be associated with a cross shaped pattern 250 (see FIG. 15A), a doughnut shapes pattern 252 (see FIG. 15B) and an arrow shaped pattern 254 (see FIG. 15C), respectively. In this case, when processor 24 recognizes a doughnut shaped pattern 252 in an image, processor 24 performs inspection function B. Similarly, when processor 24 recognizes a cross or arrow shaped pattern, processor 24 performs functions A and C, respectively. In FIG. 11 an aiming device 20′ is illustrated forming an arrow shaped aiming pattern 169 to specify a specific function to be performed. Here, while the aiming device may be separate from the imager device, in at least some embodiments the aiming device may be part of a handheld reader device or the like (i.e., the aiming device and imaging device may be integrated into a single package).
In some embodiments it is contemplated that two or more aiming devices may be used simultaneously to provide two or more aiming patterns on an object to specify either an area or separate areas of interest on the object. For instance, referring again to FIG. 11, two aiming devices 20 and 20′ are illustrated where device 20 is used to identify a specific bar code 168 within a field of view 40 while device 20′ is used to generate an arrow shaped aiming pattern 169 specifying a location in the field of view corresponding to a date of deliver field. Here, a single image could be obtained with both aiming patterns and processor 24 (see again FIG. 2) may be programmed to identify the locations of both aiming patterns in the obtained image, as well as the aiming pattern types and thereafter may perform different functions on information in different portions of the obtained image. As another instance, three aiming devices could be used simultaneously to indicate three different points on an object that define an area. In this case the processor 24 obtains a single image with the three aiming patterns, identifies the locations of the three patterns and performs a process accordingly.
While a handheld light source is described above, it should be understood that other mounted light sources are contemplated where the light source is still separately positionable from the camera/sensor/data collector.
It has been recognized that, in at least some embodiments, an aiming device that can be used to generate customized aiming patterns may be particularly useful. For instance, referring again to FIG. 15A, instead of generating a simple cross shaped pattern as indicated at 250, in at least some cases it will be advantageous to be able to generate a predefined cross shaped pattern and then to be able to deform that pattern by stretching it vertically or horizontally, by rotating the pattern, by skewing the pattern vertically or horizontally, etc. The ability to deform or modify a predefined aiming pattern is particularly useful in cases where an aiming or light source device is mounted so as to be stationary with respect to a camera with which the device is to be used. See FIG. 16 where an exemplary aiming device 314 is mounted to the side of a camera 312 to project light toward an object substantially along an optical axis of an image sensor. The mechanical structure for mounting device 314 to camera 312 or to other stationary support structures may take any of several different forms including coupling brackets, screws, a bayonet type mount, etc. In at least some embodiments the mounting structure may enable easy removal of device 314 from the support structure so that device 314 can be used with many different vision systems during commissioning procedures. In other embodiments, a separate device 314 may be provided for each vision system for use during both commissioning procedures and run time operation. In these cases, the mounting structure may have features making connection of device 314 more permanent.
Referring again to FIG. 16, in the illustrated example, an object 320 including a surface 322 is provided within a field of view 324 of a camera 312 so that the camera can capture images of object 320 within the field of view 324. An interface assembly 316, 318 is linked to camera 312 for controlling camera processes in a manner similar to that described above with respect to the assembly 14 in FIG. 1.
Referring still to FIG. 16 and also to FIG. 17, aiming device 314 includes a processor 311, a projector assembly 315, and a manual interface assembly 328. The processor 311 is linked to each of the interface assembly 328 and the projector assembly 315 and can be used, in at least some embodiments, to perform several different functions. During a normal runtime process, processor 311 may be programmed to control projector assembly 315 to generate light which is projected within field of view 324 for illuminating objects within the field of view 324 while camera 312 obtains data required for generating images. During a commissioning procedure prior to runtime, processor 311 may control projector assembly 315 to generate one or more patterns of light on surface 322 where each pattern can be customized by a system user via interface 328. To this end, the projector assembly 315 may include a digital light processing (DLP) projector, a liquid crystal display (LCD) projector, or some other type of image generating projector.
Referring now to FIG. 18, the top portion of FIG. 18 shows an image projected onto a surface of an object (e.g., see surface 322 of object 320 in FIG. 16). The bottom portion of FIG. 18 shows a manual input device or interface 328 of aiming device 314 that can be used to select pre-defined light patterns to be generated by device 314, position the light patterns on the object surface, to modify or deform the light patterns projected onto the surface, and in at least some cases, to associate the light patterns and features identified thereby with various functions to be performed by the larger vision processing system. Thus, the image projected by the projector assembly 315 operates as a display during the commissioning procedure to identify object features of special interest to be processed.
The exemplary manual input assembly 328 in FIG. 18 includes a plurality of rotatable control knobs and push buttons that enable selection of predefined shapes, positioning of those shapes, modification of those shapes and then function association. To this end, interface 328 includes a select knob 340, horizontal and vertical slide knobs 346 and 348, respectively, horizontal and vertical stretch knobs 352 and 354, respectively, a scaling knob 356, a rotation knob 358, a horizontal skew knob 360, a vertical skew knob 362, an add pattern button 364, an edit pattern button 366, a delete pattern button 368, a select pattern button 370, and a complete button 372 as well as function selection tools 374 of some type, in at least some cases.
In operation, when a commissioning procedure starts, select knob 340 will be positioned to select one of a plurality of different predefined patterns, two of which are collectively identified by numeral 342 in FIG. 18. The selected pattern will be projected by device 314 onto an object surface. In FIG. 18, a rectangular pattern 342 is selected and therefore the rectangular pattern is projected at 330 as shown in the top half of FIG. 18. To select a different predefined pattern, the user simply rotates knob 340 to select one of the other predefined patterns at which point that predefined pattern is projected onto the object surface. Next, with a pattern projected onto the object surface as in the top half of FIG. 18, a user can use the position and pattern modifying knobs to adjust the location of the pattern projected onto the object surface as well as the shape. To this end, to move the projected pattern horizontally as illustrated by phantom arrow 332 in FIG. 18, the user simply rotates the horizontal slide knob 346. To move the projected pattern vertically as indicated by the phantom arrow 334 in FIG. 18, the user rotates knob 348. To rotate the projected pattern as indicated by phantom arrow 336, the user simply rotates the rotate knob 358 causing the projected pattern to rotate as indicated by the phantom arrow 336 in FIG. 18. Scale button 356 can be rotated to change the overall size of the projected pattern, the horizontal and vertical stretch buttons 352 and 354, respectively, can be used to stretch the projected pattern horizontally and vertically and the skew buttons 360 and 362 can be used to skew the projected pattern horizontally and vertically, respectively.
After a first pattern has been customized as required by a system user, in at least some embodiments additional patterns may be generated simultaneously with the first desired pattern. To this end, referring now to FIG. 19, a projected pattern 326a includes three separate projected patterns 327, 329 and 331. Here, assuming pattern 327 was the first pattern to be customized, when a system user wants to add the second pattern 329, with the first pattern 327 projected onto the object surface, the user may select the add pattern button 364 thereby causing the predefined pattern currently selected by knob 340 to be projected onto the object surface along with the first pattern 327. Here, any activity with buttons 346, 348, 352, 354, 356, 358, 360 and 362 causes the second projected pattern to move or be deformed in the intended fashion. After the second pattern 329 has been customized as desired, the add pattern button 364 can be selected again to cause yet a third pattern to be projected onto the object surface simultaneously with the first and second customized patterns 327 and 329. Again, the position and pattern modifying knobs can be used to customize pattern 331 as illustrated in FIG. 19.
Once all of the desired customized patterns are projected onto the object surface, the system user can select complete button 372 (see again FIG. 18) to complete the pattern specifying process. At any point after at least a first pattern is projected onto an object surface, the system user can edit or delete the pattern in at least some embodiments. To this end, referring once again to FIGS. 18 and 19, assume that the three patterns 327, 329 and 331 of FIG. 19 are currently projected onto an object surface. Here, if a system user wants to delete pattern 327, the user can simply select the delete pattern button 368 in FIG. 18 which will cause a cursor to be projected along with the patterns 327, 329 and 331 onto the object surface. With a cursor projected onto the surface, the user can simply use the position knobs 346 and 348 to position the cursor on the pattern to be deleted and can then select the select pattern button 370 to select the pattern to be deleted. Upon deletion, the projector assembly 315 removes the selected pattern from the projected light pattern. Similarly, referring again to FIGS. 18 and 19, to edit pattern 329, the system user may simply select the edit pattern button 366 in FIG. 18 causing the projector assembly 315 to project a cursor onto the object surface simultaneously with the current patterns. Next, the user can manipulate knobs 346 and 348 to move the cursor to a location associated with pattern 329 and the user can then select the select pattern button 370 to select the pattern 329. After pattern 329 is selected, the user can use the position and pattern modifying knobs to modify the position or shape of pattern 329 as described above.
After at least one pattern has been customized as described above, the system user may use the function selection features 374 to select the various functions to be associated with one or more of the patterns projected onto the object surface. Exemplary function selection features may include, for example, features enabling a user to indicate a dimension measurement function, a counting function, a spacing function, an angle measurement function, an area measurement function, a curve measurement function, an inspection function, a code or symbol reading function, etc. In at least some embodiments, the function selection features may be mechanical including a knob or the like and may also use the projected image on the object surface as a feedback tool for communicating with the operator during function selection and the process of associating different functions with different object features corresponding to the projected light patterns.
Where device 314 can be used to specify and associate functions with light patterns or object features earmarked via light patterns, in at least some embodiments device 314 will communicate the specified function or functions to the machine vision system. In some cases, as seen in FIG. 17, device 314 will have a vision processor link 317 for communicating with the vision system. Link 317 may be a mechanical connection such as a cable or the like that plugs into a port on the vision system or, in some cases, may include a wireless transmitter where the vision system includes a wireless receiver. Link 317 may also be used to control device 314 during normal run time operation to control FOV illumination.
Referring now to FIG. 20, a process 390 that may be performed by the processor 311 as shown in FIG. 17 in conjunction with the projector assembly 315 for customizing one or more light patterns projected onto an object surface is illustrated. Referring also to FIGS. 17 and 18, at block 392, the processor 311 is caused to enter a commissioning mode. Commissioning may be commenced by simply selecting the add pattern button 364 on interface 328 (see again FIG. 18). At block 394, a system user selects a default or predetermined pattern using select knob 340 thereby causing the projector assembly 315 to project the currently selected pattern onto the object surface (see top half of FIG. 18). At block 396, processor 311 determines whether or not a pattern change command has been received. In FIG. 18, a user can change the pattern by rotating knob 340. If the knob 340 is rotated, control passes to block 398 where the new pattern that has been selected is projected onto the object surface. If no pattern change command is received at block 396, control passes to block 400 where processor 311 determines whether or not a pattern move command is received.
In FIG. 18, position knobs 346 and 348 are used to generate pattern move commands. If a pattern move command is received, control passes block 402 where the projector assembly projects the pattern at a different location specified by the move command after which control passes back up to block 396. If no pattern move command is received, processor 311 next determines whether or not a pattern add command has been received at block 404. In FIG. 18, a user generates a pattern add command by selecting button 364. If button 364 is selected, at block 404, control passes to block 406 where processor 311 continues to project the currently projected pattern and during the commissioning procedure unless deleted also stores the currently projected pattern. After block 406, control passes back up to block 394 where the pattern selected by knob 340 (see FIG. 18) is projected as a second light pattern along with the patterns stored at block 406.
Referring still to FIGS. 18 and 20, at block 404, if an add pattern command has not been received, control passes to block 408 where processor 311 determines whether or not a pattern delete command has been received. Referring again to FIG. 18, a user generates a pattern delete command by selecting button 368 in the present example. Where a pattern delete command is received, control passes to block 410 where processor 311 causes projector assembly 315 to project a cursor on the object surface along with the previously defined light patterns. Processor 311 then monitors for a pattern select command (see button 370 in FIG. 18) and when a select command is received, processor 311 deletes the selected pattern at block 314 causing projector assembly 315 to stop projecting the selected pattern after which control passes back to block 404. At block 408, if a delete command is not received, control passes to block 416.
Referring still to FIGS. 18 and 20, at block 416, processor 311 monitors for an edit command. In FIG. 18, a user generates an edit command by selecting button 366. If an edit command is received, control passes to block 418 where processor 311 causes projector assembly 315 to project a cursor onto the object surface. At block 420, processor 311 monitors for a select command and, when one of the projected patterns is selected, control passes to block 422 where, in some embodiments, the selected pattern is highlighted in some fashion (e.g., may be changed to a brighter color). After block 422, control passes back up to block 396 as illustrated. At block 420, if a pattern select command is not received, control passes back to block 418 where the process continues to loop until a pattern is selected.
Referring yet again to FIGS. 18 and 20, if a pattern edit command is not received at block 416, control passes to block 424. At block 424, processor 311 monitors for a complete command (see button 372 in FIG. 18). Where a complete command has not been received, control passes from block 324 back up to block 394 where the process above continues to monitor for different types of commands. At block 324, once a complete command has been received, control passes to block 426 where the specified pattern or patterns are stored for subsequent use.
Referring now to FIGS. 18 and 21, after block 426 in FIG. 20, control passes to block 432 in FIG. 21 where processor 311 monitors for a function select command. Once the function select command has been received at block 432, control passes to block 436 where, in at least some embodiments, processor 311 enables a selection of stored patterns to be associated with functions. Thus, for instance, where the function is an area measurement, the processor 311 may generate a cursor on the object surface along with the defined customized light patterns and allow the user to select one of the patterns for which an area measurement process is to be performed. As another example, when the function is an edge find function, processor 311 may provide a cursor enabling a user to select one of the projected light patterns in which an edge is to be located. As one other example, where the function is to measure the distance between two edges, processor 311 may cause projector assembly 315 to project a cursor or the like enabling a user to select two areas in which different edges are to be identified for the purpose of measuring the distance between the edges. As still one other example, the function may involve adjustment of illumination parameters in subsequent images based on at least one aspect of a projected target pattern. For instance, one or more patterns may be used to indicate areas to be used to adjust illumination brightness, illumination duration or illumination effect. For example, where a brightness characteristic is associated with a pattern, when a next image is obtained of the field of view, the processor may be programmed to detect the level of brightness within the region associated with the pattern and adjust the brightness to a desired level.
In at least some embodiments, pattern-function status may be indicated by changing one or more non-shape characteristics of a selected light pattern. For instance, a light pattern that has yet to be associated with a function may simply be projected as a filled in light pattern while patterns already associated with specific functions may be shown as solid lines circumscribing pattern shapes. In other embodiments specific functions may be indicated by specific light pattern characteristics. For instance, a pattern associated with an area measurement function may be indicated by a solid line circumscribing the pattern, a pattern associated with a curve measurement function may be indicated by a dashed line circumscribing the pattern, patterns associated with a distance measurement function may be indicated by a dotted line circumscribing the pattern, etc. Here, when a cursor is moved over a pattern associated with a function, the processor may control the projector to project text indicating the function into the field of view. For instance, when a cursor is placed over a pattern associated with an area measurement function, the phrase “AREA MEASUREMENT” may be projected into the field of view. Other non-shape pattern characteristics that may be used to indicate different functions include line thickness, line curvature, a blinking or other active effect, different pattern colors, etc.
In still other embodiments non-shape pattern characteristics may be used to set and subsequently indicate other machine vision processing functions, aspects of processing functions or processing parameters. For instance, where a part specification specifies that a hole in a part has to have a specific area and that there is a specific acceptable threshold, the acceptance threshold value may be settable via the interface where the selected threshold can be indicated by changing the color of the light pattern associated with the area measurement function. For example, an acceptance threshold may be associated with a color scale that changes from red to yellow, from yellow to green and from green to blue.
At block 438, processor 311 associates different patterns within the projected pattern set with functions, aspects of the functions and processing parameters selected by the system user and stores the patterns, functions, aspects and parameters. In the alternative, processor 311 may communicate with a vision system processor to indicate functions associated with regions specified by the different light patterns causing the vision system processor to store the associations.
Referring again to FIG. 20, when a complete command is received at block 424, camera 312 (see again FIG. 16) may be caused to obtain an image of the FOV 324 while the light pattern is generated on the object surface and the vision system processor may be programmed to examine the obtained image and identify light patterns within the image thereby identifying regions of interest in the FOV. In the alternative, where the exact spatial relationship between device 314 and camera FOV 324 are known, device 314 may be able to provide data specifying a currently projected light pattern to the vision system processor so that the vision processor can identify the light pattern within the FOV without obtaining an image.
In at least some embodiments it is contemplated that an interface, like interface or manual input assembly 328 described above that is integrally formed with a projector assembly, may be cumbersome to use as the user may be at a relatively poor position when using the interface 328 for viewing the pattern generated by device 314. For this reason, in at least some embodiments, it is contemplated that the aiming device may instead be provided with a wireless receiver and a remote control type interface that can communicate with the receiver via Bluetooth, RF, or any other wireless protocol, may be provided. To this end, see FIG. 22 where a wireless interface 428 including a wireless transmitter 442 is shown. In FIG. 22, aiming device 414 includes a wireless receiver 440. See also FIG. 23 that shows an exemplary wireless interface 428. In this embodiment, the position and shape modifying knobs of FIG. 18 have been replaced by a touch pad 450 which senses a user's touch and movement along the surface of the pad 450 for indicating different activities as described hereafter. Interface 428, like interface 328, includes an add pattern button 452, an edit pattern button 454, a delete pattern button 456, a select pattern button 458 and a complete button 460 as well as function selection features collectively identified by numeral 462.
In this embodiment, it is contemplated that the projector assembly 315 (see again FIG. 17), in addition to projecting patterns to be customized during the commissioning procedure, may also project various interface tools onto the object surface. To this end, see FIGS. 24 through 27. In FIG. 24, when a commissioning procedure is commenced, projector assembly 315 may be controlled to project the illustrated image 475 including instructions 474 indicating how to select a first predefined pattern to be projected onto an object surface for customization as well as predefined pattern selection tools including pattern icons, two of which are collectively identified in FIG. 24 by numeral 451 and another identified by numeral 453 and a highlighting box shown in phantom at 455. Here, referring also to FIG. 23, the system may be designed so that a user can scroll through the predefined light patterns 451, 453 using pad 450 causing the highlighting box 455 to move from one pattern to the next until the desired pattern is highlighted. At this point, a user can push select pattern button 458 (see FIG. 23). When select pattern button 460 is selected, refer to FIG. 25, the selected pattern is projected by assembly 315 onto the object surface and a new set of instructions 477 are projected. In FIG. 25, the projected pattern is labeled 457. Using the pad 450, the projected pattern 457 can be moved as indicated in phantom at 459. In the present example, when the pad 450 is pressed twice, assembly 315 projects another image 479 shown in FIG. 26 allowing the user to select a pattern modifying function by moving a highlighting box 481 among different options using touch pad 450. When the rotate pattern modifying function 478 shown in FIG. 26 is selected, projector assembly 315 projects the image 491 shown in FIG. 27 and allows the user to rotate the pattern as indicated in phantom at 461 using pad 450. Thus, the projected image can be used to provide feedback to a system user, for tool selection and as a feedback tool to show the current locations and geometric features of projected patterns.
It has been recognized that personal hand held devices such as palm type devices, smart phones and organizers, pad type devices, etc., have been developed which can be used as remote controls to interface with other types of devices. In some embodiments, it is contemplated that a personal electronic device may be used as an interface for controlling an aiming device like device 414 shown and described above with respect to FIG. 22. To this end, see FIG. 28 which shows a personal electronic device 500 that includes, among other components, a large flat touch screen 504 and a wireless transceiver 502. Here, interface features similar to the features described above with respect to device 428 in FIG. 23 may be provided via screen 504 and the device 500 may be programmed such that it operates in a fashion similar to that described above with respect to device 428. To this end, various input buttons 506 are provided as screen selectable icons on screen 504 and a touch pad 508 may be provided as a separate space 508 on surface 504.
In still other embodiments where a vision system processor links with an aiming device (e.g., 314 in FIG. 16), it is contemplated that the system processor and aiming device processor 311 may cooperate to automatically identify regions of interest within the camera's FOV and to generate an initial set of light patterns that can be projected onto an object surface to be accepted, rejected or modified as desired by a system user. For instance, referring to FIG. 16, camera 312 may, upon commencement of commissioning, obtain an image of an object 320 and examine the image to identify features that may be of interest including edges, screw heads, curves, etc. Where a feature that may be of interest is identified, the vision system processor may be programmed to cause aiming device 314 to generate an initial light pattern which highlights the feature. For instance, a line type pattern may be generated to indicate a straight edge. With one or more patterns projected onto an object surface, the system user can then use the interface 328 to add, delete or edit the patterns to meet the user's needs.
One or more specific embodiments of the present invention have been described above. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
Thus, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the following appended claims. For example, while certain types of interface devices and assemblies are described above including buttons, touch pads and knobs, other types are contemplated including a joy-stick, roller wheels, roller spheres, etc. As another example, while the process described in FIG. 20 only allows a user to associate a function and/or function parameters with a light pattern after all light patterns have been specified, in other embodiments functions/parameters may be associated with patterns at any time after at least one light pattern has been specified. Thus, for instance, after two light patterns corresponding to object edges have been defined, a dimension measuring function may be specified for the edge pair prior to specifying other light patterns of interest. As yet one other example, in at least some cases a vision system processor linked to the aiming device may be programmed to cooperate with the aiming device to help refine light patterns and hence FOV regions of interest to optimize a system. For instance, where a user defines a light pattern specifying a region of interest within a FOV to be examined, upon obtaining an image including the pattern, the vision system processor may control the aiming device to refine the pattern.
In the case of systems that enable a user to deform or modify an aiming pattern, the system may be pre-programmed to associate specific functions or predefined processes with specific patterns, and to thereafter perform the associated functions or processes during run time operations after commissioning is complete. For instance, one projected shape may be associated with a bar code reading function while another is associated with an edge detection function.
Similarly, in at least some cases, a system may be programmed to only perform a single function and to perform the single function only in regions that have been indicated via a projected light pattern. For instance, in some cases a system may be programmed to perform bar code reading in regions of a FOV that have been indicated by a deformable light pattern. As another instance, a system may be programmed to search for object edges in specific regions of a FOV indicated by a deformable light pattern.
To apprise the public of the scope of this invention, the following claims are made: