The vision system provides the controlling agent with specific information about the current state of the inspection. The aspects of the scene that are needed for this type of control are:
The above items are accomplished using standard 2-D image processing algorithms. By assuming control of the environment, we can select the background color and texture, the lighting conditions, and some of the physical touch probe's visual characteristics to make the part distinctive in a scene. After doing so, we can use simple thresholding to locate the part and probe in an image. The part is assumed to be present in the scene, and have no intersection with the image's border. The probe is assumed to intersect the border and have a distinctly different intensity than the part.
Edge detection, via a zero-crossing algorithm, is used to detect the visual discontinuities of a part. An edge response may be considered to be a contour if it satisfies two conditions: 1) each response must exceed a previously specified minimum value and 2) the length of each edge must exceed a previously specified minimum pixel count.
Edges are followed iteratively. An edge is followed until its response falls below the minimum or we arrive at our starting position, in which case the contour is known to be closed. If a branch in the contour is encountered, the branch location is saved and following continues. We attempt to follow all branches looking for a closed contour. Branches are considered to be part of a contour because they may represent an actual feature of the part and should be inspected. These contours are stored as ``chains''.
Contours which form closed curves are considered to be portions of a mechanical feature's boundary (see assumptions below). Those which form open curves may be attributed to occlusion of one geometric feature by another or the probe or lighting problems such as shadows or reflections. We attempt to avoid occlusions by selecting views appropriately and lighting problems by providing a diffuse light source and a part with a dull finish.
2-d vision is also used to determine the relationship between these contours. This relationship is determined by region growing. This allows us to construct the aforementioned part string.
Once all this information has been determined, computing the proximity of the probe tip to a feature allows us to determine the state of the inspection. Example states include: