BACKGROUND
Much research and manufacturing today requires precision metrology, very accurate measurement and inspection of mass produced and custom components, components in wind turbines, jet engines, combustion gas turbines, nuclear reactors, ships, automobiles, other aviation components, medical devices and prosthetics, 3D printers, plastics, fiber optics, other optics for telescopes, microscopes, cameras, and so on. The list is long, and the problems are large. In inspecting an airframe, for example, an inspection checks the diameter and circularity of each of thousands of holes at different depths to ensure that each hole is perpendicular to a surface, circular in cross section as opposed to elliptical, not conical, not hourglass-shaped, and so on. Such inspections are performed by human quality assurance inspectors, who inspect large groups of holes at one time, extremely laboriously.
When a drill bit or mill head becomes chipped or otherwise damaged, its current hole and all its potentially hundreds or thousands of subsequent holes are out of tolerance, none of which are identified in prior art until inspection. In aircraft manufacturing and other applications in which thousands, or even millions, of holes may be drilled in a single day, a damaged drill is to be identified as soon as possible. Such damage may take the form of a chipped or bent drill bit or a mis-aligned drill, which could cause the drilled hole to not be perpendicular to the drilled surface. A damaged drill, if not quickly identified, risks thousands of drilled holes out of tolerance, necessitating re-drilling of the holes, or worse, replacement of the drilled structure.
Prior art attempts at the high precision measurement that could, for example, quickly identify a damaged drill or machine tool, include focal microscopy for fringe pattern analysis, that is image analysis by comparison with a pre-image of a correct part, all difficult to deploy and not very accurate. Other prior art includes capacitive probes such as described for example in U.S. 2012/0288336. Such capacitive probes, however, take measurements in only one direction at a time, requiring multiple measurements to assess a part, never assembling a complete image of the inside of a part. Moreover, a capacitive probe must fit tightly into or onto a part to be measured, aligned closely to the center axis of the hole, and for calibration purposes, must have the same probe-to-hole-side separation at all times—because its capacitance is calibrated according to the thickness of the layer of air between the probe and a component to be scanned or measured. When such a capacitive probe identifies a problem with a part, and the part is redrilled or remilled to a larger size, the capacitive probe must be swapped out to a larger diameter probe in order to remeasure the part.
Prior art optical scanners that otherwise might be able, for example, to quickly identify a damaged drill or machine tool, typically are too bulky to move with respect to a part under inspection. Such optical scanners are typically mounted on a fixture with a scanned part in a jig that moves with respect to the scanner. This fixed physical orientation between the optical scanner and a part to be scanned or measured means that there are always aspects of the part that cannot be reached, measured, scanned, or imaged by such a prior art optical scanner. This limitation of prior art has given rise to so-called multi-sensor metrology devices that include both optical scan capability and also tactile sensors that attempt to measure portions of a part that optical scan illumination cannot reach—all in an attempt to build a scanner that can scan a part accurately and completely. One manufacturer of metrology equipment, for example, combines three types of sensor probes, a light section sensor, a shape-from-focus (SFF) sensor, and a tactile sensor, all of which are said to work in unison to achieve optimum measurement, even in areas where scan illumination cannot reach. There continues in the industry some real need for an optical scanner with better reach.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 sets forth a line drawing that illustrates example apparatus for identification of a damaged tool.
FIG. 2 sets forth a table containing an example of database storage of measurements of a manufactured part derived from scanned images of the part.
FIG. 3 sets forth a flow chart illustrating an example method of identifying a damaged tool.
FIGS. 4-6 set forth line drawings and block diagrams of example apparatus for optical scanning
FIGS. 7A, 7B, 7C, 8A, and 8B illustrate several examples of line forming apparatus.
FIGS. 9A and 9B illustrate further example apparatus for optical scanning.
FIGS. 10A-10E set forth five line drawings of example apparatus for optical scanning
FIG. 11 sets forth a flow chart illustrating an example method of optical scanning.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
Example apparatus for identification of a damaged tool according to embodiments of the present invention are described with reference to the accompanying drawings, beginning with FIG. 1. FIG. 1 sets forth a line drawing and block diagram of example apparatus for identification of a damaged tool that includes an optical scanner (118) that ‘scans’ an object, in this example, a manufactured part (202), including scanning both the interior (301) and the exterior (300) of such an object. The scanner (118) is composed of an optical probe (106) mounted upon an optical scanner body (103). The scanner contains a source of scan illumination, an LED, a laser, or the like, as well as optical apparatus that projects scan illumination onto a scanned object, component, or part. The scan illumination can be projected radially (134) or in the form of a fan (111). The scanner contains a lens that gathers and conducts to an optical sensor (112) scan illumination reflected from the part. In embodiments, the same optical probe can scan aspects of objects of differing size, different hole diameters, different cavity depths, different exterior dimensions, all with the same probe. Scanner structure and function, briefly introduced in this paragraph, is described in detail below in this specification.
An object to be scanned is represented in this example of FIG. 1 as a manufactured component or part (202) having an exterior surface (300) and an interior (301) formed as a drilled or machined cavity or hole with a countersink. This part (202) makes an appropriate example of an object to be optically scanned and measured to detect a damaged tool, because in embodiments it will be a common practical fact in detecting damaged tools that the ‘part’ machined by a damaged tool is in fact a hole drilled by a damaged drill bit. The terms ‘scan,’ ‘scanned’, ‘scanning,’ and the like, as used here, refer to illuminating a scanned object with scan illumination that is very bright with respect to ambient light levels—so that one or more partial images of the scanned object, portions of the scanned object brightly illuminated by scan illumination, are captured through probe optics and an optical sensor. Apparatus for optical scanning utilize such partial images to measure certain characteristics or attributes of a scanned object or part and, at least in some embodiments, also to construct from the partial images a larger or more complete image of a scanned object or part, including, for example, a 3D image of part or all of such a part, interior or exterior.
Optical scanners according to many embodiments of the present invention have the capability of acquiring by imaging and profilometry a “full service profile” of a scanned object. Such a full service profile optionally includes both a high precision 3D scan and also a high precision surface profile of an object. The high accuracy 3D scan achieves microresolution regarding volumetric aspects of an object, that is, linear measurement along volumetric aspects, length, width, circumference, diameter, cavity or hole depths, and so on, with precision on the order of micrometers. The surface profile is effected as optical profilometry, measurements of roughness or smoothness of surfaces, through focus detection, intensity detection, differential detection, Fourier profilometry, or the like, also typically with precision on the order of micrometers.
In the example of FIG. 1, the manufactured part (202) has been machined by a damaged tool (160). The part was ‘machined’ in the sense that the part was cut, shaped, or finished by a machine that manipulated the tool (160), for example, by an automated mill, a computer numerical control (‘CNC’) system, a hand held drill or hand operated mill, a robotically controlled actuator, or the like. When the tool (160) was used to machine the part (202), the fact that the tool was damaged had not yet been detected, but the tool was sufficiently defective as to render the part defective also. The part as machined will not meet its design or manufacturing specifications.
After it is machined, as a usual step in manufacturing, the part is tested for quality, for compliance with specifications, and the test includes an optical scan of the part. The optical scanner (118) scans the part by capturing images (304) of the manufactured part through the scanner's optical sensor (112). The scanner (103), or more particularly, the scanner's optical sensor, is coupled (152) for data communication to one or more data processors (154), and, as each image is captured by the sensor, the processor retrieves each image through the coupling (152). The coupling (152) is an internal data bus such as a processor's front side bus or the like, and, because the processor may be located remotely from the scanner, the coupling (152) can be an RS-232 connection, a Universal Serial Bus (‘USB’), or even a data communications network such as an internet or the like.
From the captured images, the processor determines measurements (148) of the part, and from the measurements, the processor determines that the tool is damaged. In this example, the processor is (150) coupled for data communications to a database (170) that stores the measurements (148) in association with a profile of the part. Coupling (150) can be implemented, for example, as a Fibre Channel, an Infiniband fabric, a Serial ATA connection, a PCI Express bus, and so on. An association among data elements in the database is established and maintained by a part identifier or ‘part ID’ (142) that implements a foreign key that links all the stored information about the part. The part's ‘profile’ is composed of elements of the part's design and manufacturing specifications, including attributes (144) of the part to be measured, specified values (146) of the attributes, and tolerances (147), that is, amounts by which a measured value of an attribute are allowed to vary and still pass inspection. In addition, failure of a measured value to fall within tolerance is an indication of tool damage. In at least some embodiments having high speed and good coordination among the scanner, one or more processors, and data storage, a determination that the tool is damaged is effected in ‘real time,’ that is, immediately after the damaged tool machines the part and before the damaged tool machines another part.
Set forth just below is an example schema of a database for storing measurements of a part in a profile. Each paragraph in the schema represents a database record type having a record name followed by a description of the record. Each record includes several fields each of which is composed of a field name, indented under the record name, and a description of the data to be stored in the field. This example schema is organized into records with fields. The following example schema is focused on profiles for drilled holes in manufacturing aircraft, but readers will recognize the adaptability of such a database structure to any or all manufactured parts. The example schema:
- TopLevelAircraftPartMatch—each record matches a specific part to a specific aircraft
- Index_id—unique entry ID, foreign key relating all records in a profile
- AircraftSerialNumber—unique ID for an aircraft
- PartNumber—component ID within an aircraft
- PartSerialNumber—system-wide ID for the component
- AircraftHolePartMatch—matches holes to specific parts, related one-to-many with TopLevelAircraftPartMatch
- Index_id—same
- PartSerialNumber—same
- Hole_id—uniquely identifying a hole in the part to be scanned
- HoleClass—assigned hole identifier linking the design specifications
- HoleSliceMatch—each record represents a single captured image, these records are related many-to-one with AircraftHolePartMatch
- Index_id—same
- Hole_id—same as in AircraftHolePartMatch
- Slice_id—unique identifier of a single capture of a scan image
- ImageStore—the image data itself
- TimeStamp—time of capture of the image represented by this record
- SliceData—each record represents a point from a slice from processing ImageStore, related one-to-many with HoleSliceMatch
- Index_id—same
- Point_id—identifies a point in part space as an element of a slice, a point in an image
- X—x coordinate of the point in bore space
- Y—y coordinate of the point in bore space
- Z—z coordinate of the point in bore space
- IntensityFlag—Boolean indication of the presence of intensity values of scan illumination read from an image sensor that are outside a deviation window for a slice, possible indications of surface abnormalities, burrs, cracks, or the like.
- SliceComputedData—each record represents a slice built up from point data, these records are related one-to-one with HoleSliceMatch and many-to-one with SliceData
- Index_id—same
- Slice_id—same as in HoleSliceMatch
- Z—hole depth of a slice
- Diameter—computed diameter for hole slice
- CenterX—x coordinate in bore space of the center of a slice
- CenterY—y coordinate in bore space of the center of a slice
- SizeOfLargestFlaggedPointCluster—maximum measured scan line thickness
- DeviationFlag—Boolean indication whether scan slice meets specification
- HoleComputedData—each record represents profile data for an entire hole as built up from slice data, these records are related one-to-one with AircraftHolePartMatch and many-to-one with SliceComputedData
- Index_id—same
- Hole_id—same as in AircraftHolePartMatch
- CounterSinkAngle—measured countersink slope from surface to top of hole
- CSA_Pass—Boolean indication whether countersink angle meets specification
- CS_Depth—countersink measured depth
- CSD_Pass—Boolean indication whether countersink depth meets specification
- Diameter—measured specification for hole diameter
- DiameterPass—Boolean indication whether measured diameter meets specification
- DeviationAlert—Boolean indication of usefulness of slice data for hole calculations
- TimeStamp—time when this data was computed for a hole
- AverageCircularity—average of values from slices of a hole
- Concentricity—computed with respect to top surface neighboring a hole
- Perpendicularity—maximum deviation from vertical axis among slices of a hole
- GripLength—total depth of bore from outer surface to bottom or rear
- Fastenerinstall—each record represents profile data for a fastener for a hole, these records are related one-to-one with AircraftHolePartMatch
- Index_id—same
- Hole_id—same
- PointCloudStore—reflection data from fan illumination, similar to ImageStore
- HeadFlushness—height of top of fastener from surrounding surface
- HeadAngleToSurface—slope from top of fastener to surrounding surface
- HeadDepth—depth of top of fastener under surrounding surface, when applicable
- InstallPass—Boolean indication whether fastener meets specification
- HoleSpec—each record represents a set of design specifications for a hole, these records may be related one-to-many with HoleComputedData because many holes can use the same design specifications
- Index_id—same
- HoleClass—same
- Diameter—design specified diameter
- Tolerance+—design+limit
- Tolerance−—design−limit
- CSFlag—Boolean indication of the presence of a countersink
- CSDepth—design countersink depth, if applicable
- CSAngle—design countersink angle, if applicable
- CBFlag—Boolean indication of the presence of a counterbore
- CBDepth—design counterbore depth, if applicable
- CBDiameter—design counterbore diameter, if applicable
- GripLength—total depth of bore from outer surface to bottom or rear
- Perpendicularity—design perpendicularity
- Circularity—design circularity
- MultiMaterialFlag—Boolean indication of the presence of a multi material stack
- MaterialTransition1—material stack transition location 1, if applicable
- MaterialTransition2—material stack transition location 2, if applicable
- MaterialTransition3—material stack transition location 3, if applicable
The scanner in the example of FIG. 1 is characterized by a coordinate system (200) that defines a Cartesian space with respect to the scanner, referred to here as “scanner space.” Scanner space is defined when the scanner is manufactured with the origin (151) of the defining coordinates having a known orientation to the optical sensor (112) and all pixels of the sensor having known locations in scanner space. The manufactured part (202) also is characterized by a coordinate system (198) that defines a Cartesian space, called ‘part space,’ whose origin is defined by a set of tracking reflectors or fiducials (124) that are mounted (330) in a position that is fixed with respect to the part (202). In optical tracking, the scanner uses the fiducials (124) and tracking illumination (328) to optically track, as the scanner moves during a scan, the orientation of scanner space with respect to part space. In addition, each pixel that is illuminated as part of an image is located at a known point in scanner space and is illuminated by scan illumination reflected from a point in part space.
As an aspect of determining measurements of the part, one or more of the processors establishes, for each scanned image, a set of values of a transforming tensor (100), that is, a tensor that expresses the relationship between part space and scanner space. Such a tensor can be expressed, for example, as Tensor 1.
The T values in Tensor 1 express the translation of scanner space with respect to part space, and the R value express the rotation of scanner space with respect to part space. Having the tensor values, the processor then transforms locations in scanner space of imaging pixels from each scanned image to corresponding locations of scanned points in part space. This transform of points in scanner space to points in part space is carried out according to Equation 1.
Equation 1 transforms by matrix multiplication with Tensor 1 a vector x,y,z representation of a point in scanner space into a vector representing a point x′,y′,z′ in part space. Readers will recognize this as a multiplication of one vertical matrix x,y,z,1 by a square matrix, resulting in another vertical matrix x′,y′,z′,1. The vertical matices in this example represent pixel locations in scanner space and reflection point locations in part space and therefore are characterized as vectors. The square matrix effectively implements a linear transformation, rotating and translating scanner space with respect to part space—and therefore is characterized as a tensor.
Although the position of the scanner in part space has been described as optically tracked, optical tracking is not the only way to track a scanner. A part can, for example be mounted in a fixed position with respect to one or more tactile fiducials that define part space, and an optical probe can be moved by robotic transport, CNC machine, or the like, to physically touch, with a certain orientation, a tactile fiducial, establishing an initial orientation of scanner space with respect to part space. Then the transport can track by dead reckoning the motion of the motion of the probe with respect to its initial orientation and populate a transform tensor for each captured image with values derived from dead reckoning of the motion of the scanner and probe. Alternatively, a tactile probe can be switched into deployment position on an end effector of a robotic transport, a CNC machine, or the like, the initial orientation of scanner space with respect to part space can be established by a touch of the tactile probe to a tactile fiducial defining part space, and the transport can switch the probe into deployment and track probe motion by dead reckoning. Now this specification has described three ways to track probe motion. No doubt persons of skill in the art will think of other ways, and all such ways are well within the scope of the present invention.
Having derived the scan point locations x′,y′,z′ in part space, the processor then determines measurements of the part. The point locations in part space are points in a traditional Cartesian space, and the part's attributes, which after all are disposed within part space, therefore can be determined through techniques of analytic geometry, least squares analysis, regression analysis, Tikhonov regularization, the Lasso method, minimum mean square error (Bayesian estimator), best linear unbiased estimator (BLUE), best linear unbiased prediction (BLUP), and the like. For further explanation, consider an example of measurement in part space with analytic geometry—for the particular example of a radial scan of the interior surface of a drilled hole for which each partial image forms a circle, in effect, 2D cross sections of the hole. For each image, a processor identifies the center of the image, which is carried out by taking a centroid or first moment of weighted averages of intensity values of reflected scan illumination for each point in the image, in both the X and Y directions, and taking the resulting x.y tuple as the center of the image. Then the processor draws radially from the center to edges of the image a relatively large number of radii, for example, a thousand radii, and selects from each such radius the brightest point on the radius, the set of brightest points being most likely to image the interior surface of the hole. The processor then carries out an initial regression analysis to derive a formula for the circle represented by the one thousand brightest points disposed in part space on radii from the center of the image. The processor then removes from the point set all bright points falling more than a predetermined threshold distance from the derived circle; for accuracy at this stage, a large proportion, perhaps even a majority, of the bright points may be removed, leaving perhaps a few hundred in the set, given the example of starting with a thousand. The processor then performs another regression analysis to derive a best fit formula for a circle, which gives diameter and also is used for comparison with actual part space point locations to measure circularity, perpendicularity, and so on.
For further explanation, FIG. 2 sets forth an illustration of an example of a database record that can be used for detection of a damaged tool according to embodiments of the present invention. The example record in FIG. 2 lists the profile attributes of a part to be measured by optical scan, Height, Width, Depth, and so on. The example also includes the design value for each attribute as the Profile Values expressed in millimeters as well as design tolerance values, the Profile Tolerance Values, expressed in micrometers. The example of FIG. 2 also includes actual measurement value, Measurements, expressed also in millimeters.
A data processor operating according to embodiments of the present invention would determine from the measurements of a part as reported in the record of FIG. 2 that the tool that machined the part is damaged. The design specification for each attribute of a part in the record of FIG. 2 is the corresponding Profile Value±the corresponding Profile Tolerance Value. The measurements for Height, Width, Depth, Countersink Diameter, Countersink Depth, and Fastener Flushness are fine, well within specification. The specification for Diameter is 10 mm.±50 μm, but the measurement for Diameter is 12.005 mm, which show a variation from specification about 40 times larger than the tolerance value for Diameter. The Profile Value for Circularity is the design radius of the hole or cavity for which circularity is measured, a value of 5 mm in this example, and the corresponding tolerance value of ±25 μm is the allowed variation from a perfect circle with a 5 mm radius. The measurement for Circularity, however, 0.275 mm, represents a variation from specification more than ten 20 times larger than the tolerance value for Circularity. The Profile Value for Perpendicularity is listed as 0, indicating that the design specification for perpendicularity is a perfectly vertical axis through a hole or cavity in a part being measured, and the corresponding tolerance value of ±25 μm is the allowed variation of a measured axis from the design axis. The measurement for perpendicularity, however, 0.505 mm, represents a variation from specification more than 20 times larger than the tolerance value for Circularity. These example measurements for diameter, circularity, and perpendicularity of a hole or cavity in a part indicate that the tool that machined that part is damaged.
The example record of FIG. 2 shows profile data appearing in the same structure with measurement data, although readers of skill will recognize that profiles and measurements, often in embodiments, would be stored in separate records linked by a part ID as a foreign key. So, although the example of FIG. 2 is helpful for explanation, it is only for explanation, not for limitation. Other ways of storing in computer memory data that is used for detecting damaged tools will occur to those of skill in the art, and all such ways are well within the scope of the present invention.
For further explanation, FIG. 3 sets forth a flow chart illustrating an example method of identifying a damaged tool. The method of FIG. 3 begins with capturing (302), by an optical scanner (118), images (304) of a manufactured part (202) that has been machined by a damaged tool (160). The scanner (118) in the example of FIG. 3 is an optical scanner like the scanners described throughout this specification, that is, a scanner composed of an optical probe (106) mounted upon an optical scanner body (103) and containing one or more sources of scan illumination and optical apparatus that projects scan illumination (136) onto an object under scan and measurement. The scanner contains a lens that gathers and conducts to an optical sensor (112) scan illumination reflected from the part. Pixels (326) of the sensor are illuminated by the reflected scan illumination, and intensity values for the illumination striking the pixels are read by a computer processor (154) from the sensor and stored as images in a database (170) or other computer memory. This specification uses the apparatus illustrated in FIG. 1 also to explain the method of FIG. 3, so that reference numbers in the following discussion of the method of FIG. 3 refer to drawing elements both on FIG. 3 and also on FIG. 1.
The method of FIG. 3 also includes determining (303), from the captured images (304) by the data processor (154), measurements (148) of the part (202) and determining (324), by the data processor based upon the measurements, that the tool (160) is damaged. The process of determining (303) the measurements in the example of FIG. 3 includes establishing (306), based on scanner position tracking for each scanned image, transforming tensor values for a transforming tensor (100) that expresses a relationship between a coordinate system defining a part space (198) and a coordinate system defining a scanner space (200).
Determining (303) the measurements in the example of FIG. 3 also includes selecting bright pixels for further measurement processing. In embodiments, this typically includes selecting the brightest pixel for further processing. The scan illumination (136) is focused and very bright by comparison with ambient illumination. Pixels illuminated by reflected scan illumination are bright, while pixels illuminated only by reflections of ambient illumination are quite dark. Only the brightly illuminated pixels represent a desired image of the part under scan. The dark pixels are irrelevant for scan and measurement.
Determining (303) measurements in the example of FIG. 3 continues with identifying (310) a location (314) in scanner space for each of the selected bright pixels (308). Locations in scanner space, xyz coordinates, were determined when the scanner was manufactured and stored in a locations table (312) in association with an identifier, a pixel ID or, in this example, simply an integer pixel number. Identifying (310) a location in scanner space for each of the selected bright pixels (308), therefore, takes a lookup by pixel number in the Locations table (312) of coordinates (314) for each selected bright pixel (308).
Determining (303) the measurements in the example of FIG. 3 also includes transforming (318), according to the transforming tensor values (100), locations (320) in scanner space of scanner pixels of each image to corresponding locations of scanned points in part space. This transform (318) is carried out according to Equation 1 as set forth and explained above in this specification, and the resulting locations (320) of scanned points in part space are expressed as x′y′z′ coordinates. Determining (303) the measurements is then carried out by determining (322) measurements of the part based upon the locations (320) of the scanned points in part space.
For further explanation, FIG. 4 sets forth a line drawing and block diagram of example apparatus for optical scanning in detecting damaged tools according to embodiments of the present invention. The apparatus of FIG. 4 includes an optical probe (106), illustrated here in cross-section. In this specification, structures and locations of components of example scanning apparatus are described in some detail, and the locations of components of example scanning apparatus are sometimes described in this specification in terms of orientation with respect to a scanner body. Components are described as ‘distal’ when farther from the scanner body and ‘proximal’ when nearer.
The optical probe (106) in the example of FIG. 1 is capable of movement for optical scanning with respect to both the interior and the exterior of a scanned object (201, 202, 203). One or more scanned objects are represented in the example of FIG. 4 with three drawing elements (201, 202, 203). These three elements are oriented among the apparatus in FIG. 4 so that they could be extended and joined so that the three surfaces upon which scan illumination is project could be three surfaces of an interior of a scanned object. The three surfaces in other embodiments can represent external surfaces of three separate scanned objects.
The optical probe includes light conducting apparatus (119) disposed so as to conduct scan illumination (123) from a source (182) of scan illumination through the probe. The light conducting apparatus in this example is a tubular wall of the probe itself, composed of optical glass, quartz crystal, or the like, that conducts scan illumination from a source (182) of such illumination to line forming apparatus (224) or reflecting apparatus (226) in the probe. The scan illumination may be conducted from a source (182) to the probe wall (119) for transmission to a line former or reflector by, as in the example here, optical fiber (121), or through optical glass, a conical reflector, a reflaxicon, and in other ways as will occur to those of skill in the art. The sources (182) themselves may be implemented with LEDs (186), lasers (184), or with other sources of scan illumination as may occur to those of skill in the art.
The optical probe (106) in the example of FIG. 4 includes light reflecting apparatus (226), a ‘reflector,’ disposed so as to project scan illumination (123) radially (134) away from a longitudinal axis (190) of the probe with at least some of the scan illumination projected onto a scanned object (201, 202). In this example, some of the scan illumination is radially projected (134) and some of the scan illumination is projected in a fan (111) that forms a line (110) upon a scanned object. The reflector (226) can be implemented, for example, as a half-silvered mirror when the scan illumination (123) is all of a same or similar wavelength, so that the portion of the scan illumination that strikes the silvered portion of the mirror is reflected radially. In some embodiments of apparatus for optical scanning according to embodiments of the present invention, however, the scan illumination is of two wavelengths, and the reflector is composed of a layer of dichroic material that reflects one wavelength radially and passes through the other wavelength to line forming apparatus (224) that projects a fan of light into a line on a scanned object.
The example apparatus of FIG. 4 is said to project “at least some” of the radial scan illumination onto a scanned object. In many applications, because of the shape of the particular scanned object, only part of the radial illumination will strike a scanned object and be reflected (136) back into the probe for use in measurements or imaging. And that result is perfectly fine. So long as sufficient reflection (136) is present to support measurement or imaging, there is no need to require all of the radial illumination (134) to strike and reflect from the scanned object back into the probe.
The optical probe (106) in the example of FIG. 4 also includes optical line forming apparatus (224) disposed so as to project scan illumination as a line of scan illumination (110) with at least some of the scan illumination projected onto the scanned object. In some embodiments, scan illumination for optical line forming is collimated, or if not exactly collimated, at least collimated to the extent that most rays of scan illumination are traveling in generally the same direction when they encounter line forming apparatus. In the example of FIG. 4, the probe wall itself (119) and the frustration rings (204) work together by total internal frustration of light rays traveling at angles steep enough to refract through the outer edge of either the probe wall itself or the frustration rings. The frustration rings can be implemented, for example, with an optical epoxy resin whose index of refraction matches the index of refraction of the probe wall. In this way, rays of scan illumination traveling at angles of incidence low enough to reflect back into the probe wall are guided into the refraction rings and refracted out, leaving in the probe wall only those rays of scan illumination traveling in the same direction through the probe wall toward the line forming apparatus. As discussed in more detail below, the line forming apparatus itself can be implemented in a variety of ways, including, for example, Powell lenses, collimators integrated with Powell lenses, refractive lenses, with diffractive optics, and so on.
The optical probe (106) in the example of FIG. 4 also includes a lens (114) disposed so as to conduct, through the probe to an optical sensor (112), scan illumination (136, 137) reflected from a scanned object. The lens (114) is composed of several lens elements (115) and spacers (125) that fit the lens as a whole snuggly into a lens housing formed in this example by the probe wall itself (119). The lens elements (115) include elements L0 through L10, which are configured to effect two focal planes (104, 108). Lens elements L1-L10 effect a focal plane (104) that is disposed with respect to the probe so that the radial projection of scan illumination (134) is in focus where it strikes a scanned object (201, 202). Lens element L0 is an optical field-of-view expander that implements a wide-angle effect for a front view through the lens (114) as a whole. The wide-angle effect of L0 also disposes a second focal plane (108) distally from the front of the probe (106) so that a projected line (110) of scan illumination is in focus where a fan (111) of scan illumination strikes a scanned object (203). Lens elements L0-L10 conduct through the probe to an optical sensor (112) scan illumination (137) reflected from a line (110) of scan illumination projected upon a scanned object (203). Lens elements L1-L10 conduct through the probe to an optical sensor (112) scan illumination (136) reflected from a radial projection (134) of scan illumination upon a scanned object (201, 202). The optical sensor may be implemented as a charged coupled device (‘CCD’), as a complementary metal oxide semiconductor (CMOS′) sensor, as a charge injection device (‘CID’), and in other ways as will occur to those of skill in the art.
The example apparatus of FIG. 4 also includes an optical scanner body (103) with the probe (106) mounted upon the optical scanner body. The optical scanner body has mounted within it the source or sources (182) of scan illumination conductively coupled to the light conducting apparatus. In this example of course, the light conducting apparatus is implemented as the probe body (119), and the conductive coupling between the sources of illumination (182) and the light conducting apparatus (119) is effected with optical fiber (121).
In the example apparatus of FIG. 4, the optical sensor (112) is disposed with respect to the lens (114) so as to receive through the lens scan illumination (136, 137) reflected from a scanned object, and the optical sensor is disposed within the optical scanner body so as to capture, from the scan illumination reflected through the lens from the scanned object, an image of at least a portion of the scanned object. Again it is said ‘at least a portion.’ Many embodiments of scanning apparatus according to embodiments of the present invention evidence little concern that there is a complete image of a scanned object from any particular capture, because an image of any desired completeness is constructed in such embodiments from a sequence of partial images.
The example apparatus of FIG. 4 also includes a controller (156), coupled to the sensor (112) through data bus (155), with the controller configured to determine from scan illumination (136, 137) received through the lens (114) by the sensor (112) measurements of the scanned object (201, 202, 203). The controller (156) may be implemented as a Harvard architecture microcontroller with a control program in memory (168), a generally programmable Von Neumann architecture microprocessor with a control program in memory (168), field programmable gate array (‘FPGA’), complex programmable logic device (‘CPLD’), application-specific integrated circuit (‘ASIC’), a hard-wired network of asynchronous or synchronous logic, and otherwise as will occur to those of skill in the art.
The controller (156) is coupled through a memory bus (157) to computer memory (168), which in this example is used to store the controller's measurements (314) or captured images (315) of a scanned object. Measurements (314) of a scanned object can include for example:
- diameter, circularity, and perpendicularity of drilled or milled holes and other cavities,
- countersink dimensions, depth and diameter,
- fastener flushness with respect to a surface of a scanned object,
- dimensions of milled cavities having irregular internal structures,
- measurements indicating manufacturing defects in scanned objects, cracks, burrs, or the like, and
- measurements indicating defects in tools, drill bits, mill heads, and the like,
- and so on.
Regarding manufacturing defects, the controller in example embodiments is programmed to determine according to image processing algorithms the location of a light source and probe in an image, and the light source and probe are configured for an expected surface finish for material of which a scanned object is composed. If there is a significant deviation in surface finish indicating a crack or if there are burrs, reflected scan illumination does not appear as radially symmetric on the sensor. Rather it will have significant local variations in its appearance. That these variations are greater than a threshold is an indicator of a manufacturing defect such as a burr or crack. Burrs can also be identified from white light images of the entrance and exit of a drilled or milled cavity because the edge of the cavity will not appear smooth.
For further explanation, FIG. 5 sets forth a line drawing and block diagram of additional example apparatus for optical scanning useful in detecting damaged tools according to embodiments of the present invention. The example apparatus of FIG. 5 is very similar to the example apparatus of FIG. 4, except for the exclusion of optical line forming apparatus from the example of FIG. 5. Embodiments that provide radial projection of scan illumination with no provision for optical line forming provide substantial optical scanning and measurement capabilities that are, in some embodiments at least, less expensive to implement than apparatus that includes both line forming and radial projection.
The example apparatus of FIG. 5 includes an optical probe (106), again illustrated in cross-section. The optical probe is capable of movement for optical scanning with respect to both the interior and the exterior of a scanned object (201, 202). One or more scanned objects are represented here with two elements (201, 202). These two elements are illustrated in cross-section so that, extended in three dimensions and joined, they could represent an interior surface of a scanned object. Alternatively, the two surfaces could represent external surfaces of two separate scanned objects, all of which is explained in more detail below.
The optical probe includes light conducting apparatus (119) disposed so as to conduct scan illumination (123) from a source (182) of scan illumination through the probe. The light conducting apparatus in this example is a tubular wall of the probe itself, composed of optical glass, quartz crystal, or the like, that conducts scan illumination from a source (182) of such illumination to line reflecting apparatus (226) in the probe. The scan illumination may be conducted from a source (182) to the probe wall (119) for transmission to a line former or reflector by optical fiber, through optical glass, a conical reflector, a reflaxicon, and in other ways as will occur to those of skill in the art. The sources (182) themselves may be implemented with LEDs (186), lasers (184), or with other sources of scan illumination as may occur to those of skill in the art.
The optical probe (106) in the example of FIG. 5 includes light reflecting apparatus (226), a ‘reflector,’ disposed so as to project scan illumination (123) radially (134) away from a longitudinal axis (190) of the probe with at least some of the scan illumination projected onto a scanned object (201, 202). The reflector (226) can be implemented, for example, as a sectioned, silvered, optical conical mirror disposed within the probe so that scan illumination that strikes the mirror is reflected radially (134). The example apparatus of FIG. 5 is said to project “at least some” of the radial scan illumination onto a scanned object. In many applications, because of the shape of the particular scanned object, only part of the radial illumination will strike a scanned object and be reflected (136) back into the probe for use in measurements or imaging, a result that is perfectly fine. So long as sufficient reflection (136) is present to support measurement or imaging, there is no need to require all of the radial illumination (134) to strike and reflect from the scanned object back into the probe.
The optical probe (106) in the example of FIG. 5 also includes a lens (114) disposed so as to conduct, through the probe to an optical sensor (112), scan illumination (136) reflected from a scanned object. The lens (114) is composed of several lens elements (115) and spacers (125) that fit the lens as a whole snuggly into a lens housing formed in this example by the probe wall itself (119). The lens elements (115) include elements L1 through L10, which are configured to effect a focal plane (104) that is disposed with respect to the probe so that the radial projection of scan illumination (134) is in focus where it strikes a scanned object (201, 202). Lens elements L1-L10 conduct through the probe to an optical sensor (112) scan illumination (136) reflected from a radial projection (134) of scan illumination upon a scanned object (201, 202).
In the example apparatus of FIG. 5, the optical sensor (112) is disposed with respect to the lens (114) so as to receive through the lens scan illumination (136) reflected from a scanned object, and the optical sensor is disposed so as to capture, from the scan illumination reflected through the lens from the scanned object, an image of at least a portion of the scanned object. The example apparatus of FIG. 5 also includes a controller (156), coupled to the sensor (112) through data bus (155), with the controller configured to determine from scan illumination (136) received through the lens (114) by the sensor (112) measurements of the scanned object (201, 202). The controller (156) is coupled through a memory bus (157) to computer memory (168), which is used to store the controller's measurement or captured images of a scanned object.
For further explanation, FIG. 6 sets forth a line drawing and block diagram of additional example apparatus for optical scanning useful in detecting damaged tools according to embodiments of the present invention. The example apparatus of FIG. 6 is very similar to the example apparatus of FIG. 4, except for the exclusion of radial reflection apparatus from the example of FIG. 6. Embodiments that provide distal line projection of scan illumination with no provision for radial projection provide substantial optical scanning and measurement capabilities that are, in some embodiments at least, less expensive to implement than apparatus that includes both line forming and radial projection.
The example apparatus of FIG. 6 includes an optical probe (106), again illustrated in cross-section. The optical probe is capable of movement for optical scanning with respect to both the interior and exterior of a scanned object (203). A scanned object is represented here with one drawing element (203). This element is oriented in FIG. 6 so that it could represent any surface, oriented either on the exterior of a scanned object or as an interior surface, any surface that can be reached by projected scan illumination (111).
The optical probe includes light conducting apparatus (119) disposed so as to conduct scan illumination (123) from a source (182) of scan illumination through the probe. The light conducting apparatus in this example is a tubular wall of the probe itself, composed of optical glass, quartz crystal, or the like, that conducts scan illumination from a source (182) of such illumination to line forming apparatus (224) in the probe. The scan illumination may be conducted from a source (182) to the probe wall (119) for transmission to a line former by optical fiber, optical glass, a conical reflector, a reflaxicon, and in other ways as will occur to those of skill in the art. The sources (182) themselves may be implemented with LEDs (186), lasers (184), or with other sources of scan illumination as may occur to those of skill in the art.
The optical probe (106) in the example of FIG. 6 also includes optical line forming apparatus (224) disposed so as to project scan illumination as a line of scan illumination (110) with at least some of the scan illumination projected onto the scanned object. In some embodiments, scan illumination for optical line forming is collimated, or if not exactly collimated, at least collimated to the extent that most rays of scan illumination are traveling in generally the same direction when they encounter line forming apparatus. In the example of FIG. 6, the probe wall itself (119) and the frustration rings (204) work together by total internal frustration of light rays traveling at angles steep enough to refract through the outer edge of either the probe wall itself or the frustration rings. The frustration rings can be implemented, for example, with an optical epoxy resin whose index of refraction matches the index of refraction of the probe wall. In this way, rays of scan illumination traveling at angles of incidence low enough to reflect back into the probe wall are guided into the refraction rings and refracted out, leaving in the probe wall only those rays of scan illumination traveling in the same direction through the probe wall toward the line forming apparatus. As discussed in more detail below, the line forming apparatus itself can be implemented in a variety of ways, including, for example, Powell lenses, collimators integrated with Powell lenses, refractive lenses, with diffractive optics, and so on.
The optical probe (106) in the example of FIG. 6 also includes a lens (114) disposed so as to conduct, through the probe to an optical sensor (112), scan illumination (137) reflected from a scanned object. The lens (114) is composed of several lens elements (115) and spacers (125) that fit the lens as a whole snuggly into a lens housing formed in this example by the probe wall itself (119). The lens elements (115) include elements L0 through L10. Lens element L0 is an optical field-of-view expander that implements a wide-angle effect for a front view through the lens (114) as a whole.
The wide-angle effect of L0 also disposes a focal plane (108) distally from the front of the probe (106) so that a projected line (110) of scan illumination is in focus where a fan (111) of scan illumination strikes a scanned object (203). Lens elements L0-L10 conduct through the probe to an optical sensor (112) scan illumination (137) reflected from a line (110) of scan illumination projected upon a scanned object (203).
In the example apparatus of FIG. 6, the optical sensor (112) is disposed with respect to the lens (114) so as to receive through the lens scan illumination (137) reflected from a scanned object, and the optical sensor is disposed with respect to the lens so as to capture, from the scan illumination reflected through the lens from the scanned object, an image of at least a portion of the scanned object. The example apparatus of FIG. 6 also includes a controller (156), coupled to the sensor (112) through data bus (155), with the controller configured to determine from scan illumination (137) received through the lens (114) by the sensor (112) measurements of the scanned object (203). The controller (156) is coupled through a memory bus (157) to computer memory (168), which is used to store the controller's measurements or captured images of a scanned object.
For further explanation of line forming apparatus, FIGS. 7A, 7B, and 7C set forth illustrations of several examples of line forming apparatus. The example apparatus of FIG. 7A includes a Powell lens (116) that forms scan illumination (123) into a fan (111) of illumination that forms a line (110) upon striking a scanned object. A Powell lens, named for its inventor Dr. Ian Powell, is an optical lens formed with an aspheric roof that effects spherical aberration sufficient to distribute scan illumination evenly along a line. The scan illumination (123), as used with the Powell lens in the example of FIG. 7A, is assumed to be either laser light or light that is otherwise collimated upon leaving its source (182). The line (110) for ease of illustration is show here as geometrically straight, although readers will recognize that in fact the actual shape of the line in practical application often will not be perfectly straight, but will conform to the shape of the surface upon which it is projected.
The apparatus in the example of FIG. 7B includes a Powell lens (116) integrated with a collimator (124) that together form scan illumination (123) into a fan (111) of illumination that forms a line (110) upon striking a scanned object. The scan illumination (123), as used with the Powell lens and the collimator in the example of FIG. 1B, is LED light or at least light that is not otherwise collimated when it leaves its source (182). The collimator (124) includes a positive or refractive lens (126) and an aperture (128) situated at a focal point (117) of the lens proximal to the light source, so that rays of light traversing the aperture are refracted by the lens into collimated rays.
The apparatus in the example of FIG. 7C includes a positive or refractive lens (126) that, when illuminated with collimated scan illumination (123), forms the scan illumination into a fan (111) of illumination that forms a line (110) upon striking a scanned object. The scan illumination (123) in this example is laser light or light that is otherwise collimated when or after it leaves its source (182). The lens (126) in this example projects the collimated illumination (123) through a focal point (117) distal from the light source (182) so that rays of light traversing the lens are refracted into a fan (111) that forms a line (110) upon a scanned object.
For further explanation, FIGS. 8A and 8B set forth illustrations of further example line forming apparatus. FIG. 8A is a detailed callout of the optical probe of FIG. 8B. The example apparatus of FIGS. 5A and 5B includes a diffractive optic lens (136) that, when illuminated by light (123) from a source of illumination (182) projects scan illumination as a fan (111) disposed at a predetermined angle (140) with respect to a longitudinal axis (190) of an optical probe (106) in which the lens (136) is installed. The angle (140) is determined according to known optical properties of the lens (136), and the longitudinal axis (190) is any axis that is disposed generally in parallel to any center axis of the probe (106).
For further explanation, FIG. 9A sets forth a line drawing of example apparatus for optical scanning, useful in detecting damaged tools, that includes an optical probe (106) capable of motion for optical scanning with respect to both the interior (301) and the exterior (300) of a scanned object (202). The example apparatus of FIG. 9A includes an optical scanner body (102) with the optical probe (106) mounted upon the optical scanner body. The optical scanner body (102) is configured to be hand held so that the probe (106) is capable of movement by hand for optical scanning with respect to the scanned object, including both movement within the interior (301) of the scanned object (202) and movement with respect to the exterior (300) of the scanned object.
For further explanation, FIG. 9B sets forth a line drawing of example apparatus for optical scanning that includes an optical probe (106) capable of motion for optical scanning with respect to both the interior (301) and the exterior (300) of a scanned object (202). The example apparatus of FIG. 9B includes an optical scanner body (103) with the optical probe (106) mounted upon the optical scanner body. The optical scanner body (103) is configured for mounting upon an end effector (101) of a robotic transport (162) so that the probe is capable of movement by the robotic transport for optical scanning with respect to the scanned object, including both movement within the interior (301) of the scanned object (202) and movement with respect to the exterior (300) of the scanned object. The term ‘robotic’ suggests full automation, computerized control with little or no direct human control, but the term ‘robotic’ is used here only for explanation of example embodiments, not for limitation. Even systems considered highly robotic or computer numerically controlled often involve at least some human control for mounting parts in jigs or fixtures, establishing fiducials for coordinate systems, initial positioning of an otherwise automated scanner, and so on. In fact, among embodiments, positioning and movement of an optical scanner can be accomplished by any apparatus or system composed of any combination of manual, automated, semi-automated, or robotic transport.
For further explanation, FIGS. 10A-10E set forth five line drawings of example apparatus for optical scanning, useful in detecting damaged tools, each of which includes an optical probe (106) capable of motion for optical scanning with respect to both the interior (301) and the exterior (300) of a scanned object (202). Each of the example apparatus FIGS. 7A-7E includes an optical scanner body (103) with the optical probe (106) mounted upon the optical scanner body. The optical scanner body (103) in each of FIGS. 7A-7E is configured for mounting upon an end effector of a robotic transport or a jig or fixture so that the probe is capable of movement by the transport, jig, or fixture for optical scanning with respect to a scanned object (202), including both movement within the interior (301) of the scanned object and movement with respect to the exterior (300) of the scanned object. Readers will appreciate by now that the scanner body and probe also could be hand held and moved by hand.
In the example of FIG. 10A, the scanner body (103) and probe (106) are positioned so that surfaces of the scanned object (202) are illuminated with radial illumination (134) from the probe. When the probe is moved across the top of the scanned object, radial illumination strikes both the exterior (300) and interior (301) of the scanned object in a direction that enables measurement characteristics of interior aspect of the scanned object. In this example, the interior is formed as a hole that is drilled or milled into the scanned object, and the measurements are countersink depth (206) and total depth (218) of the hole.
In the example of FIG. 10B, the scanner body (103) and probe (106) are positioned so that surfaces of the scanned object are illuminated with a fan (111) of scan illumination that forms a line (110) when it encounters the scanned object, not a perfectly straight line, but a line that conforms to the surface it strikes. When the probe is moved across the top of the scanned object (202), the fan of illumination strikes both the exterior (300) and the interior (301) of the scanned object in a direction that enables measurement of characteristics of a hole that is drilled or milled into the scanned object, in this example, a measurement of countersink diameter (208).
In the example of FIG. 10C, the scanner body (103) and probe (106) are positioned so that surfaces of the scanned object (202) are illuminated with a fan (111) of scan illumination that forms a line (110) when it encounters the scanned object. When the probe is moved across the top of the scanned object, the fan of illumination strikes the exterior of the scanned object, including the top surface of a fastener (216) that is disposed within the a hole drilled or milled into the scanned object. The probe moves in a direction that enables measurement of characteristics of the scanned object, in this example, a measurement of the flushness (210) of the fastener with respect to a top surface of the scanned object.
In the example of FIG. 10D, the scanner body (103) and probe (106) are positioned so that interior surfaces of the scanned object are illuminated with radial illumination (134) from the probe. When the probe is moved within the interior of the scanned object (202), radial illumination strikes interior surfaces of the scanned object in a direction that enables measurement of characteristics of the interior. In this example, the measurements are diameter and circularity (212) of a hole that is drilled or milled into the scanned object.
In the example of FIG. 10E, the scanner body (103) and probe (106) are positioned so that interior surfaces of the scanned object are illuminated with radial illumination (134) from the probe. When the probe is moved within the interior of the scanned object, radial illumination strikes interior surfaces of the scanned object in a direction that enables measurement of a characteristic of the interior. In this example, the measurement is perpendicularity (214) of a hole that is drilled or milled into the scanned object.
For further explanation, FIG. 11 sets forth a flow chart illustrating an example method, useful in detecting damaged tools, of optical scanning with an optical probe (106) that is capable of motion for optical scanning with respect to both the interior and the exterior of a scanned object. In the method of FIG. 11, the optical probe (106) is mounted upon an optical scanner body (103) that houses an optical sensor and one or more sources of scan illumination. This specification uses the apparatus illustrated in FIG. 4 also to explain the method of FIG. 11, so that reference numbers in the following discussion refer to drawing elements both on FIG. 11 and also on FIG. 4.
The method of FIG. 11 includes moving (252) the probe to optically scan both the interior (301) and the exterior (300) of a scanned object (202). Moving the probe can be effected by moving (254) the probe by a robotic transport or by hand (256). Robotic transports include numerically controlled machines as well as devices for computer aided manufacturing. A probe moved by hand can be hand held or held in a jig while the jig is operated by hand.
The method of FIG. 11 includes conducting (258) scan illumination (111, 134), by light conducting apparatus (119) disposed within the probe (106), from a source (182) of scan illumination through the probe. The method of FIG. 11 also includes projecting (260) scan illumination, by light reflecting apparatus (226) disposed within the probe, radially (134) away from a longitudinal axis (190) of the probe with at least some of the scan illumination projected onto the scanned object.
The method of FIG. 11 also includes projecting (262) scan illumination, by optical line forming apparatus (224) disposed within the probe, as a line (110) of scan illumination with at least some of the scan illumination projected onto the scanned object. Projecting (262) scan illumination as a line can be carried out by projecting scan illumination as a fan (111) of scan illumination that projects a line (110) when it encounters a surface of a scanned object, interior or exterior. Projecting (262) scan illumination as a line can also be carried out by projecting scan illumination as a fan (111) of scan illumination disposed at a predetermined angle (140 on FIGS. 5A and 5B) with respect to a longitudinal axis (190) of the probe. Projecting scan illumination as a line can be implemented through a Powell lens, a collimating optical element integrated with a Powell lens, a diffractive optic lens, a refractive optic lens, and no doubt in other ways that will occur to those of skill in the art, all of which are well within the scope of the present invention.
The method of FIG. 11 also includes conducting (264) by a lens (114) disposed within the probe (106), through the probe to an optical sensor (112), scan illumination (136, 137) reflected from the scanned object. The method of FIG. 11 also includes receiving (266), by the optical sensor (112) through the lens (114), scan illumination (136, 137) reflected from the scanned object. The method of FIG. 11 also includes determining (268), by a controller (156) operatively coupled to the optical sensor (112) from the received scan illumination (136, 137), measurements (314) of the scanned object. The method of FIG. 11 also includes capturing (270), by an optical sensor (112) disposed within an optical scanner body with the probe mounted upon the scanner body, from scan illumination (136, 137) reflected through the lens (114) from the scanned object (201, 202, 203), one or more images (315) of at least a portion of the scanned object.
Example embodiments of the present invention are described largely in the context of fully functional apparatus that detects damaged tools by optical scan and measurement of machined parts. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed upon computer readable storage media for use with any suitable data processing system. Such computer readable storage media may be any storage medium for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of such media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art. Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a computer program product. Persons skilled in the art will recognize also that, although some of the example embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention. The flowcharts and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of computer apparatus, methods, and computer program products according to various embodiments of the present invention.
It will be understood from the foregoing description that modifications and changes may be made in various embodiments of the present invention without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present invention is limited only by the language of the following claims.