TECHNIQUES FOR CLOSED-LOOP CONTROL OF A LASER-ENGRAVING PROCESS

A computer-implemented method for positioning a workpiece for a computer numerical controlled (CNC) process includes: causing a positioner to move an end effector to an initial position; receiving first position information associated with a first optical signal transmitted from a first optical target coupled to the workpiece; receiving second position information associated with a second optical signal transmitted from a second optical target coupled to the end effector; determining an offset between the initial position and a target position for the end effector based on the first position information and the second position information; and causing the positioner to move the end effector to a final position based on the offset.

BACKGROUND

Field of the Various Embodiments

The various embodiments relate generally to laser engraving and computer numerical control (CNC) processing and, more specifically, to techniques for closed-loop control of a laser-engraving process.

Description of the Related Art

Computer numerical control (CNC) processing systems, such as CNC machining systems, three-dimensional printers, and laser-engraving machines, are designed to process workpieces with precision and repeatability. Manufacturing techniques employing CNC processing systems oftentimes can be highly automated, which advantageously enables large volumes of uniform products to be produced, even when those products have complex, three-dimensional surfaces.

For a CNC processing system to operate properly, a given workpiece usually has to be positioned accurately and aligned precisely within the CNC processing system. For example, for a laser-engraving machine to generate certain specific surface textures or pattern geometries, a workpiece or mold sometimes has to be positioned on the work surface of the laser-engraving machine with sub-millimeter accuracy. Otherwise, when the actual location of a workpiece deviates too much from the target location, the overall laser-engraving process is oftentimes adversely affected.

To engrave a surface texture or pattern geometry on a workpiece surface via laser engraving, a laser-engraving head is employed that includes a mirror positioning system capable of directing a laser beam with high speed, precision, and repeatability. The mirror positioning system usually is configured to scan the laser beam in two different dimensions in order to reach any location within a given engraving region or “patch.” Because the area of a typical patch is relatively small, laser-engraving an entire workpiece surface usually involves processing numerous patches, where the laser-engraving head is repositioned each time a different patch is processed. Small inaccuracies in positioning the laser-engraving head at the start of any given patch can result in discontinuities in the rows of laser pulses that are used to engrave the entirety of a workpiece surface, thereby creating gaps in between various patches or areas in which two patches overlap. When these edge discontinuities are of sufficient size, for example on the order of a few microns or more, the discontinuities can form visible artifacts along the boundaries between the different patches on the workpiece surface. These types of visible artifacts are highly undesirable and, in some instances, can even negatively impact the intended properties of a laser-engraved surface. Accordingly, in an ideal laser-engraving process, the laser-engraving head is positioned and oriented relative to each patch with sufficient precision such that edge discontinuities between adjacent patches are avoided.

In an effort to minimize edge discontinuities, conventional laser-engraving systems are normally programmed to perform precise motions along or about various machine axes to properly position and orient the engraving head with respect to each patch on a workpiece surface. One drawback of conventional laser-engraving systems, though, is that conventional systems typically implement laser-engraving processes via open-loop control techniques, whereby the programmed motions of the various machine axes are independent of the actual position of the engraving head. As a result, conventional laser-engraving systems cannot adjust the programmed motions of the relevant machine axes in response to the engraving head or the workpiece deviating from a planned or programmed position. In practice, laser-engraving systems are oftentimes subject to thermal elongation, elastic deformation, and encoder delays that may not be accounted for in the programmed motions of a particular laser-engraving process, thereby resulting in workpiece position errors. In addition, the size, shape, and/or location of a workpiece can deviate from target values, which can also contribute to workpiece position errors. Because conventional laser-engraving systems cannot compensate in real-time for these types of position errors, edge discontinuities between adjacent patches can and do occur.

As the foregoing illustrates, what is needed in the art are more effective techniques for positioning an engraving head relative to a workpiece during a laser-engraving process.

SUMMARY

A computer-implemented method for positioning a workpiece for a computer numerical controlled (CNC) process includes: causing a positioner to move an end effector to an initial position; receiving first position information associated with a first optical signal transmitted from a first optical target coupled to the workpiece; receiving second position information associated with a second optical signal transmitted from a second optical target coupled to the end effector; determining an offset between the initial position and a target position for the end effector based on the first position information and the second position information; and causing the positioner to move the end effector to a final position based on the offset.

At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable a laser-engraving system to adjust the position of a laser-engraving head from a programmed position to a new position prior to processing a given patch on the surface of a workpiece. By compensating for position errors that are determined based on real-time position information, the effects of thermal elongation, elastic deformation, and encoder delays in the laser-engraving system can be reduced, which helps avoid edge discontinuities between adjacent patches when laser engraving the overall workpiece surface. These technical advantages provide one or more technological advancements over prior art approaches.

A computer-implemented method for performing laser engraving operations on a target engraving region includes: causing a positioner to move a laser-engraving head to a first position; while the laser-engraving head is disposed at the first position, determining a location of the target engraving region; while the laser-engraving head is disposed at the first position, determining a location of an actual engraving region; determining an offset based on the location of the target engraving region and the location of actual engraving region; modifying at least one process parameter value for an engraving head to generate a modified parameter value; and while the laser-engraving head is disposed at the first position, causing the laser-engraving head to perform one or more laser engraving operations based on the modified parameter value.

At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable a laser-engraving system to adjust the position of an actual engraving region of a laser-engraving head to better align with previously processed patches on a surface of a workpiece. More particularly, with the disclosed techniques, the position of the actual engraving region of the laser-engraving head is adjusted based on location information for the previously processed patches that is collected via an inline camera. Such real-time feedback helps mitigate or prevent micron-scale discontinuities between the actual engraving region and the previously processed patches during laser engraving. These technical advantages provide one or more technological advancements over prior art approaches.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to one of skill in the art that the inventive concepts may be practiced without one or more of these specific details.

Real-Time Control of End Effector Position

FIG.1illustrates a CNC processing system100configured to implement one or more aspects of the various embodiments. CNC processing system100can be any computer-controlled workpiece processing system, such as a machining system (mill, lathe, drill, and/or the like), an array of multiple such machining systems, a three-dimensional (3D) printer, a laser-engraving machine, and the like. As such, CNC processing system100is configured to perform one or more precise and repeatable processes on a workpiece101, including material removal, surface texturization and/or functionalization, and coating application, among others. In the embodiment illustrated inFIG.1, CNC processing system100includes a laser tracker110, a table120, a CNC positioner130and a controller150.

Generally, the quality of the output of processes performed by CNC processing system100is dependent on accurate positioning of an end effector145of CNC positioner130relative to workpiece101. For example, when a process is performed on multiple patches on a surface of workpiece101, such as a laser-engraving process, micron-level accuracy in the selection of each patch can be beneficial to the quality of output. According to various embodiments, CNC processing system100includes a first closed-loop control system that enables precise positioning of end effector145for each patch that is processed on a surface of workpiece101. As a result, each time that end effector145is repositioned, edge discontinuities between adjacent patches can be minimized, such as gaps between adjacent patches and areas in which two patches overlap. Further, according to various embodiments, CNC processing system100includes a second closed-loop control system that enables micron-scale adjustments to the position of each patch processed by a laser-engraving head (e.g., end effector145). Specifically, the second closed-loop control system adjusts an actual engraving region associated with a particular patch to better align with a target engraving region for the particular patch and/or with previously processed patches. In such embodiments, the second closed-loop control system adjusts the size, shape, and/or location of the actual engraving region for the particular patch by modifying one or more process parameter values for the engraving head, such as focal shifter position and/or galvo-mirror position. Thus, the second closed-loop control system adjusts the actual engraving region to align with the target engraving region without repositioning the laser-engraving head.

Laser tracker110measures the three-dimensional position of various optical targets111positioned within CNC processing system100and on workpiece101. Generally, laser tracker110measures each three-dimensional position with a laser beam and angular encoders. Laser tracker110can be any technically feasible laser tracker device known in the art, many of which are commercially available. In operation, for each optical target111positioned within CNC processing system100and/or on workpiece101, laser tracker110directs a laser beam to the optical target111, receives an optical signal (such as a return beam) from the optical target111, determines the three-dimensional position of the optical target111based on the return beam, and generates position information for the optical target111. The position information for each optical target111located within CNC processing system100and mounted on workpiece101is then provided to controller150as real-time position feedback.

In some embodiments, some or all of optical targets111are spherically mounted retroflectors (SMRs). An SMR is designed to reflect a laser beam back to laser tracker110with very little interference or distortion, and generally includes an outer shell (or “ball”) and one or more corner cube reflectors that have a reflective coating. As is well-known in the art, an SMR communicates position information to laser tracker110via the corner cube reflector. Specifically, an incident laser beam on an SMR from laser tracker110is directed to the center of the SMR and is reflected back to laser tracker110along a path that is parallel to but slightly offset from the incident laser beam. This offset is used by a position detector in laser tracker110to determine the location of the center of the SMR in three-dimensional space.

To determination whether end effector145and workpiece101are positioned appropriately for a portion of the surface of workpiece101to be processed by end effector101, the position of end effector145in three-dimensional space and the position of workpiece101in three-dimensional space are both needed to a high level of precision. Thus, in general, CNC processing system100includes at least one optical target111on end effector145and one optical target111on a surface of workpiece101. In some embodiments, to more precisely determine the position of end effector145and workpiece101relative to table120and various axes and arms of positioner130, CNC processing system100includes additional optical targets111. For instance, in some embodiments, an optical target111is mounted on each of a base131of positioner130, some or all arms of positioner130, and/or a movable stage122of table120. In such embodiments, not only can the relative position in three-dimensional space between end effector145and workpiece101be determined, but also the relative position in three-dimensional space between end effector145and the various axes of positioner130and movable stage121. Such position information enables controller150to adjust one or more axes of position130and/or movable stage121so that the position of end effector145(and/or movable stage121) is changed from an initial, programmed position to a position that causes an actual engraving region to more closely align with a targeted engraving region. Thus, such position information provides real-time position feedback that facilitates adjustments to the position of end effector145(and/or movable stage121).

Table120supports workpiece101during processing and, in the embodiment illustrated inFIG.1, includes a base121and a movable stage122on which workpiece101is disposed. In some embodiments, movable stage122provides motion of workpiece101relative to positioner130along a single axis124. In other embodiments, movable stage122provides motion of workpiece101relative to positioner130along a multiple axes, such as an XY or XYZ stage. As shown, in some embodiments, multiple optical targets111can be mounted to movable stage122and/or workpiece101. In such embodiments, more accurate three-dimensional position information for movable stage122can be collected when the multiple optical targets111are positioned on opposite ends of movable stage122. Similarly, in such embodiments, more accurate three-dimensional position information for workpiece101can be collected when the multiple optical targets111mounted on workpiece101are positioned on opposite ends of workpiece101.

CNC positioner130is a multi-axis positioning apparatus, such as a polar axis machine, that locates and orients end effector145in two or three dimensions with respect to workpiece101. For example, in embodiments in which end effector145includes a laser-engraving head, CNC positioner130sequentially positions the laser-engraving head at different positions over surfaces of workpiece101. Thus, in such embodiments, discrete engraving regions (patches) on one or more surfaces of workpiece101can undergo laser engraving and have a final pattern formed thereon, such as a texture or other surface geometry.

In the embodiment illustrated inFIG.1, CNC positioner130includes base131, a first axis132, a second axis133, a third axis134and a fourth axis135. In some embodiments, CNC positioner130can further include a fifth and sixth axis (not shown for clarity). CNC positioner130further includes a first arm141that is coupled to base131via first axis132, a second arm142that is coupled to first arm141via second axis133, a third arm143that is coupled to second arm142via third axis134, a fourth arm144that is coupled to third arm143via fourth axis135, and end effector145, which is coupled to fourth arm144. In other embodiments, laser-engraving system100includes more or fewer arms and/or joints than those shown inFIG.1. Further, in some embodiments, CNC positioner130can have any other technically feasible multi-axis configuration, such as a Cartesian robot configuration. In some embodiments, base131is fixed in position relative to workpiece101, for example to a supporting surface (not shown). In other embodiments, base131is configured to move relative to workpiece100, for example in two or three dimensions.

End effector145is configured to perform one or more processes on workpiece101, such as material removal (e.g., milling, drilling, and/or lathe operations), surface texturization and/or surface functionalization (e.g., via laser ablation), and the like. For example, in some embodiments, end effector145includes one or more motorized tools that are controlled based on machine control instructions for a specific process to be performed on workpiece101. Alternatively or additionally, in some embodiments, end effector145includes a laser-engraving head.

In embodiments in which CNC processing system100is configured for performing a laser-engraving process, CNC positioner130includes optical and/or photonic fibers (not shown) that optically couple laser sources (not shown) to a laser-engraving head included in end effector145. In such embodiments, the laser-engraving head typically includes or is coupled to a laser source for generating suitable laser pulses. In addition, the laser-engraving head typically includes a mirror positioning system and laser optics to direct the laser pulses to specific locations within an engraving region on a surface of workpiece101.

Controller150controls the operations of CNC processing system100. In some embodiments, controller150receives user inputs and/or a 3D model for a particular workpiece101via a human-machine interface (not shown). In some embodiments, controller150is further configured to generate and execute a sequential program of machine control instructions (e.g., G-code and/or M-code) based on the 3D model. Alternatively or additionally, in some embodiments, the 3D model includes a suitable sequential program of machine control instructions that are generated via computer-aided design (CAD) or computer-aided manufacturing (CAM) software by a computing device external to CNC processing system100.

According to various embodiments, controller150adjusts a programmed position and/or orientation of end effector145to a final processing position and/or orientation based on real-time position feedback from laser tracker110. Specifically, in some embodiments, controller150causes CNC positioner130to move end effector145to an initial processing position and orientation for processing a particular patch (or engraving region) on a surface of workpiece101. CNC positioner130moves and orients end effector145to the initial processing position using an open-loop control system that dictates specific programmed motions of some or all of the joints and arms of CNC positioner130. Controller150then receives position information from laser tracker110for end effector145and workpiece101. In some embodiments, controller150receives additional position information from laser tracker110as well, such as position information associated with movable stage121, base131, and/or various arms of CNC position130. Based on the received position information, controller150then determines an offset between the initial processing position and a target processing position for the end effector and, based on the offset, causes CNC positioner130to move end effector145to a final processing position. One such embodiment is described below in conjunction withFIG.2.

FIG.2sets forth a flowchart of method steps for positioning a workpiece within a CNC processing system, according to various embodiments. Although the method steps are described in conjunction with the systems ofFIG.1, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the embodiments.

As shown, a computer-implemented method200begins at step201, where controller150selects an engraving region on a surface of workpiece101for laser processing. For example, when workpiece101includes one or more regions to be processed that are too large to undergo laser engraving without repositioning of end effector145, each such surface is processed in multiple engraving regions. Thus, in step201, controller150selects one such engraving regions.

In step202, controller150causes CNC positioner130to move end effector145to an initial processing position and orientation for processing the selected engraving region. As noted above, in some embodiments, CNC positioner130moves and orients end effector145to the initial processing position using an open-loop control system based on specific programmed motions for some or all of the joints and arms of CNC positioner130and/or movable stage121. Thus, in such embodiments, CNC positioner130moves end effector145and workpiece101to the initial processing position via open-loop control (e.g., without position feedback).

In step203, controller150receives position information from laser tracker110. Generally, the position information is based on optical signals received by laser tracker110from optical targets111. In some embodiments, the position information is associated with end effector145and workpiece101. In some embodiments, the position information received in step203may further include position information associated with other elements of CNC processing system100, such as movable stage122and/or one or more arms or joints of CNC positioner130.

In step204, controller150determines an offset between the initial processing position and a target processing position. For example, in some embodiments, controller150determines the offset based the on position information received in step203. One such embodiment is illustrated inFIG.3.

FIG.3is a more detailed illustration of workpiece101, according to various embodiments.FIG.3is a plan view of workpiece101showing a target processing position310for end effector145and an initial processing position320of end effector145. Target processing position310indicates an ideal location for end effector145to be located relative to workpiece101so that a particular engraving region301(cross-hatched area) on surface302of workpiece101is suitably processed by end effector145. By contrast, initial processing position320of end effector145indicates the actual position of end effector145upon completion of step202inFIG.2. That is, initial processing position320indicates the actual position of end effector145after end effector145has been positioned for processing of engraving region301via open loop, pre-programmed motions of CNC positioner130. It is noted that each of target processing position310and initial processing position320is a position located in three-dimensional space relative to workpiece101and engraving region301, but for clarity, each of target processing position310and initial processing position320is illustrated in two dimensions.

Ideally, CNC positioner130is programmed to precisely move end effector145to target processing position310in step202ofFIG.2. In practice, the various rigid components of CNC processing system100are subject to thermal elongation and elastic deformation, and the joints and actuators of CNC processing system are subject to encoder delays and bearing wear. Further, these factors can vary depending on a particular pose and/or temperature of CNC positioner130. Consequently, these factors generally cannot be accurately accounted for in the programmed motions of CNC positioner130. As a result, the pre-programmed motions of CNC positioner130typically result in end effector145being located at initial processing position320prior to processing of engraving region301, instead of at target processing position310.

As shown, initial processing position310is offset from target processing position320by an offset321in an X-direction and by an offset322in a Y-direction. Typically, initial processing position310can also be offset from target processing position320by an offset (not shown) in a Z-direction. Thus, the offset determined in step205of initial processing position310from target processing position320can include a component in the X-direction, the Y-direction, and/or the Z-direction. Further, in some embodiments, the offset determined in step205can further include a rotational component.

According to various embodiments, controller150determines offset321, offset322, the offset in the Z-direction, and any applicable rotational offset based on position information from laser tracker110. For example, such position information can be based on one or more optical signals from optical targets311disposed on workpiece101, optical targets disposed on end effector145, optical targets disposed on movable stage121, and/or optical targets disposed on various elements of CNC positioner130.

Returning toFIG.2, in step205, controller150causes CNC positioner130to reposition end effector145to reduce or eliminate the offset determined in step205. In some embodiments, controller150determines appropriate motions of CNC positioner and/or movable stage122to reduce or eliminate the offset determined in step205, causes CNC positioner130to perform the motions, then causes end effector145to perform the appropriate processing of the selected engraving region. In other embodiments, an iterative approach is employed, in which controller150determines a first set of motions of CNC positioner and/or movable stage, causes CNC positioner130to perform the first set of motions, then repeats steps203and204. That is, in each iteration of steps203and204, controller150determines the resultant offset between the current processing position of end effector145and target processing processing position310based on position information received from laser tracker110. In such embodiments, when the resultant offset is below a threshold value, controller150causes end effector145to perform the appropriate processing of the selected engraving region. Otherwise, steps203and204are again repeated.

In step206, controller150cause end effector to perform the appropriate laser-engraving process on engraving region301. Alternatively, in some embodiments, prior to performing the appropriate laser-engraving process in step206, controller150performs additional operations that enable micron-level alignment between engraving region301and previously processed engraving regions on surface302of workpiece101. These operations modify one or more process parameter values for an engraving head included in end effector145, such as focal shifter position and/or galvo-mirror position via a closed-loop control system. Such embodiments are described below in conjunction withFIGS.4-6D.

In step207, controller150determines whether there are any remaining engraving regions to be processed on a surface of workpiece101. If yes, method200returns to step201; if no, method200terminates.

Micron-Scale Adjustment of Laser-Engraving Process

Method200can be employed to reposition an end effector in a CNC processing system to compensate for factors that cannot be accurately accounted for in the programmed motions of the CNC processing system. As a result, the different patches on a workpiece that are processed by the CNC processing system can be aligned with an accuracy that corresponds to the control tolerances of the positioner of the CNC processing system. However, certain processes require micron-level alignment of each patch to avoid visible edge discontinuities, and no CNC processing system positioner can be controlled to such high tolerances. According to various embodiments, a closed-loop control system enables micron-scale adjustments to the position and/or shape of each patch processed by a laser-engraving head, so that such edge discontinuities can be reduced or eliminated. One such embodiment is described below in conjunction withFIGS.4and5.

FIG.4is a schematic illustration of a laser-engraving apparatus400, according to various embodiments. Laser-engraving apparatus400can be incorporated into end effector145ofFIG.1, or can be employed as an end effector in any other suitably configured CNC processing system. According to various embodiments, for a particular engraving region, laser-engraving apparatus400adjusts the size, shape, and/or location of an actual engraving region by modifying one or more process parameter values for a laser-engraving head410. Examples of such process parameter values include values for focal shifter position and/or galvo-mirror position. The size, shape, and/or location of the actual engraving region is adjusted based on the size, shape, and location of a target engraving region, which is determined via real-time feedback that indicates position information for previously processed engraving regions. Thus, the actual engraving region can be precisely aligned with previously processed engraving regions, and the formation of edge discontinuities on a workpiece surface can be reduced or eliminated.

As shown, laser-engraving apparatus400includes laser-engraving head410, a digital camera420, a laser source430, and a controller450. Each of digital camera420and laser source430is optically coupled to laser-engraving head410, for example via optical cables and/or photonic cables (not shown).

Laser-engraving head410performs a laser-engraving process on an engraving region402of a surface of a workpiece401by directing laser pulses onto engraving region402according to a specified process. Laser-engraving head410performs the laser-engraving process when laser-engraving head410is suitably positioned and oriented relative to workpiece401, for example using method200ofFIG.2. Generally, laser-engraving head410includes a focus shifter411and a mirror positioning system and other laser optics that direct laser pulses to specific locations within engraving region402. In the embodiment illustrated inFIG.4, laser-engraving head410includes focus shifter411, a first mirror412that is actuated by a galvanometer motor412A, a second mirror413that is actuated by a galvanometer motor413A, a dichroic mirror414, and one or more additional optical elements415. Thus, in the embodiment illustrated inFIG.4, laser-engraving head410includes a 2-axis deflection unit that deflects a laser beam in two directions and enables the laser beam to be directed to precise locations within a two-dimensional area, referred to herein as the field of operation of laser-engraving head410. Specifically, the 2-axis deflection unit is configured with two galvanometer scanners (first mirror412and galvanometer motor412A and second mirror413and galvanometer motor413A) that each deflect the laser beam along a different direction within the field of operation of laser-engraving head410.

Focus shifter411, also referred to as a “dynamic focal module,” is a well-known optical device configured to change a focal length of a laser beam received from laser source430, thereby compensating for changes in a distance403between laser-engraving head410and a surface404of engraving region402during three-dimensional scanning operations. Dichroic mirror414directs laser pulses from laser source430along an optical path405from laser source430to focus shifter411, and allows light returning along optical path405from engraving region402to leave optical path405and reach digital camera420. The one or more additional optical elements415can include any additional lenses, mirrors, fibers, and/or waveguides that facilitate or enable operation of optical path405.

Digital camera420can be any digital image capture system capable of generating image information, such as digital images, of a portion of surface404of workpiece401. In some embodiments, the portion of surface404that is imaged by digital camera420corresponds to the field of operation of laser-engraving head410, and in other embodiments, the portion of surface404that is imaged by digital camera420can extend beyond the field of operation of laser-engraving head410. In either case, images generated by digital camera420of the portion of surface404provide a “beam's-eye view” of at least the field of operation of laser engraving head410. Thus, real-time position feedback associated with surface404can be provided to controller450.

In some embodiments, digital camera420includes computer vision logic that can detect one or more features on surface404, based on image information included in a digital image of the field of operation of laser-engraving head410. Examples of such features include, without limitation: an inscribed line formed on the workpiece surface, for example from a previous manufacturing operation; a machined feature formed on the workpiece surface, such as a drilled hole, a radius, a corner, or an edge; an edge of surface404and/or workpiece401; or an edge of a previously processed engraving region on surface404. In some embodiments, such computer vision logic can be incorporated in controller450instead of digital camera420.

Laser source430is a laser source suitable for use by laser-engraving head410in a laser-engraving process. For example, in an embodiment, laser source430is one of a longer pulse-width laser source, such as a nanosecond pulse-width laser, a shorter pulse-width laser source, such as a picosecond pulse-width laser, or a still shorter pulse-width laser source, such as a femtosecond pulse-width laser. Further, laser source430is capable of generating a laser beam of a specified laser power (e.g., 100 W, 75 W, 50 W, and/or the like) and having specified spot size for a particular laser-engraving process.

Controller450controls the operations of laser-engraving head410. In some embodiments, some or all of the functionality described herein for controller450can be included in controller150ofFIG.1. According to various embodiments, controller450enables micron-scale adjustments to the position of each engraving region402that is processed by laser-engraving head410, such that each particular engraving region402better aligns with a corresponding target engraving region for that particular engraving region402and/or with previously processed engraving regions (not shown) on surface404. Specifically, in some embodiments, controller450receives digital images of or image information associated with surface404from digital camera420, and then determines the size, shape, and/or location of a target engraving region on surface404based on the digital images or image information. Controller450then determines an actual engraving region of laser-engraving head410based on the current position of laser-engraving head410, and then determines an offset between the target engraving region and the actual engraving region. Based on the offset, controller450modifies one or more process parameter values for laser-engraving head410, such that the offset between the target engraving region and the actual engraving region is reduced or eliminated. One such embodiment is described below in conjunction withFIGS.5and6.

FIG.5sets forth a flowchart of method steps for adjusting parameter values in a laser-engraving process, according to various embodiments. Although the method steps are described in conjunction with the systems ofFIGS.1and4, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the embodiments.

As shown, a computer-implemented method500begins at step501, where laser-engraving-head410is moved to a programmed processing position for a particular engraving region402on surface404of workpiece401. For example, in some embodiments, laser-engraving head410is suitably positioned and oriented at the programmed processing position relative to workpiece401using method200ofFIG.2. One embodiment of a particular engraving region402on surface404when laser-engraving-head410is disposed at a programmed processing position is described below in conjunction withFIGS.6A and6B.

FIG.6Ais a more detailed illustration of a specific engraving region602on surface404of workpiece401, according to various embodiments.FIG.6Ais a plan view (or beam's-eye-view) of workpiece401showing a portion of surface404that includes specific engraving region602and multiple adjacent engraving regions. The multiple adjacent engraving regions include processed engraving regions612and unprocessed engraving regions622. Thus, processed engraving regions612are depicted with a laser-engraved pattern that has been generated previously by laser-engraving head410(shown inFIG.4), while unprocessed engraving regions622are depicted as untreated surfaces.

FIG.6Bis a more detailed illustration of specific engraving region602and a field of operation651of laser-engraving head410, according to various embodiments. Field of operation651indicates a region of surface404of workpiece401within which laser-engraving head410can direct laser pulses (and therefore perform a laser-engraving process) when laser-engraving head410is disposed at the programmed processing position associated with specific engraving region602. As noted previously, for certain CNC processes, such as laser-engraving processes, micron-level alignment may be required of each engraving region on surface404to avoid visible edge discontinuities between processed engraving regions612. Further, the control tolerances of the positioners of CNC processing systems cannot meet such high tolerances when positioning an end effector, such as laser-engraving head410. Thus, as shown inFIG.6B, positioning laser-engraving head410at the programmed processing position associated with specific engraving region602generally results in field of operation651being poorly aligned with adjacent engraving regions, such as processed engraving regions612and unprocessed engraving regions622.

Returning toFIG.5, in step502, while engraving-head410is disposed at the programmed processing position, controller450determines a target engraving region for selected engraving region602(shown inFIGS.6A-6D). One embodiment of a target engraving region for selected engraving region602is described below in conjunction withFIG.6C.

FIG.6Cis a more detailed illustration of specific engraving region602and an associated target engraving region632(cross-hatched), according to various embodiments. For reference, field of operation651is also shown inFIG.6C. Target engraving region632indicates an ideal region of surface404within which laser-engraving head410direct laser pulses (and therefore performs a laser-engraving process) when specific engraving region602is engraved by laser-engraving head410. According to various embodiments, controller450determines target engraving region632based on one or more features on surface404that are disposed within a field of view of digital camera420or within field of operation651. In such embodiments, the positions of such features are determined by controller450, based on image information collected by digital camera420when laser-engraving head410is disposed at the programmed processing position for specific engraving region602. Examples of such features include an inscribed line605formed on404, a machined feature606formed on surface404, an edge607of workpiece401, and an edge608of a previously processed engraving region on surface404. Thus, controller450can determine target engraving region632based on the actual positions of processed engraving regions612and other datum features. Consequently, when one or more of processed engraving regions612are mispositioned on surface404, controller450can determine the boundaries of target engraving region632, so that little or no edge discontinuities are formed between specific engraving region602and processed engraving regions612.

Returning toFIG.5, in step503, while engraving-head410is disposed at the programmed processing position, controller450determines an actual engraving region for selected engraving region602that is associated with the programmed processing position. One embodiment of an actual engraving region associated with the programmed processing position for selected engraving region602is described below in conjunction withFIG.6D.

FIG.6Dis a more detailed illustration of specific engraving region602and an associated actual engraving region642(cross-hatched), according to various embodiments. For reference, field of operation651and target engraving region632are also shown inFIG.6D. Actual engraving region642indicates a region of surface404within which laser-engraving head410direct laser pulses when specific engraving region602is engraved while engraving-head410is disposed at the programmed processing position. Because field of operation651is poorly aligned with adjacent engraving regions, actual engraving region642is also poorly aligned with adjacent engraving regions. Therefore, because target engraving region632can be based at least in part on the positions of adjacent engraving regions (e.g., processed engraving regions612and unprocessed engraving regions622), there is generally an offset between actual engraving region642and target engraving region632.

In the embodiment illustrated inFIG.6D, the offset can include a first offset661in the X-direction and a second offset662in the Y-direction. As shown, first offset661and second offset662result in an overlap region652between actual engraving region642and processed engraving regions612, which can create visible edges discontinuities between processed engraving regions612and specific engraving region602. Similarly, first offset661and second offset662result in a gap between actual engraving region642and unprocessed engraving regions622. After unprocessed engraving regions622are laser-engraved, such a gap can create visible edges discontinuities between unprocessed engraving regions622and specific engraving region602.

Additionally or alternatively, in some embodiments, the offset between actual engraving region642and target engraving region632can further include an offset in the Z-direction. Such an offset is not visible inFIG.6D, because the Z-direction is into the page. In such embodiments, when the programmed position of laser-engraving head410is too close to surface404, actual engraving region642is generally smaller than target engraving region632, and when the programmed of laser-engraving head410is too far from surface404, actual engraving region642is generally larger than target engraving region632.

In some embodiments, controller450determines actual engraving region642based on image information provided by digital camera420. Alternatively or additionally, in some embodiments, controller450determines actual engraving region642based on laser-engraving head410performing an initial portion of the laser-engraving process on specific engraving region602and receiving image information from digital camera420showing the results of the initial portion of the laser-engraving process. Thus, in one such embodiment, controller450causes laser-engraving head410to direct laser pulses to a portion of actual engraving region642, such as a portion of an edge of actual engraving region642, one or more corners of actual engraving region642, one or more linear paths within actual engraving region642, and the like. Image information showing the locations of such laser pulses on surface404can then indicate the size, shape, and/or location of actual engraving region642.

In step504, controller450determines the offset between actual engraving region642and target engraving region632. In some embodiments, controller450determines the offset based on position information associated with actual engraving region642and target engraving region632. As described above, such position information can be determined based on image information provided to controller450by digital camera420. Further, the offset can include an offset in the X-direction, an offset in the Y-direction, and/or an offset in the Z-direction.

In step505, controller450selects one or more new process parameter values for laser-engraving head410to reduce the offset determined in step504. Examples of such process parameter values include values for focal shifter position and/or galvo-mirror position. Thus, in such embodiments, travel of first mirror412and/or second mirror413is modified so that the laser-engraving process is performed within target engraving region632instead of actual engraving region642. Alternatively or additionally, a position of focus shifter411is modified so that the laser-engraving process is performed within target engraving region632instead of actual engraving region642. It is noted that in step505, new values are selected for process parameters that affect the locations on surface404to which laser pulses are directed. By contrast, values for process parameters for laser-engraving head410that affect the resultant surface or functionalization of surface404remain unchanged, such as laser power, laser pulse frequency, and the like. Thus, the new values selected in step505do not change how surface404is modified by laser-engraving head410, but instead change which locations on surface404are actually modified by laser-engraving head410during step506.

In some embodiments, an iterative approach is employed in step505to select the one or more new process parameter values. In such embodiments, controller450determines a first set of one or more new process parameter values for laser-engraving head410, causes laser-engraving head410to perform a small portion or an initial portion of the laser-engraving process on specific engraving region602, and receives updated image information for surface404. Controller450then confirms whether the new process parameter values for laser-engraving head410sufficiently reduce the offset determined in step504and repeats the process if necessary.

In step506, controller450causes laser-engraving head410to perform the laser-engraving process on surface404using the one or more new process parameter values. Because laser-engraving head410uses the one or more new process parameter values, the region of surface404that undergoes the laser-engraving process coincides substantially or entirely with target engraving region632rather than actual engraving region642. Thus, the use of the one or more process parameter values alter the locations on surface404that are actually modified by laser-engraving head410.

In some embodiments, controller selects one or more new process parameter values during step506, so that the laser-engraving process coincides substantially or entirely with target engraving region632rather than actual engraving region642. In such embodiments, image information of surface404that is provided by digital camera420provides real-time feedback for the laser-engraving process while the laser-engraving process in being performed on specific engraving region602. Thus, in such embodiments, controller450can modify a number of laser pulses included in a row of laser pulses when a remainder portion of target engraving region632differs from a remainder portion of laser pulses in the row. For example, when controller450determines that 10% of the length of a region to be processed remains to be processed while 5% of the total laser pulses for that region remain, controller can select process parameter values for laser-engraving head410to extend the travel of first mirror412and/or second mirror413and/or cause additional pulses to the region to be processed.

Exemplary Computing Device

FIG.7is a block diagram of a computing device700configured to implement one or more aspects of the various embodiments. Thus, computing device700can be a computing device associated with CNC processing system100, controller150, and/or controller450. Computing device700may be a desktop computer, a laptop computer, a tablet computer, or any other type of computing device configured to receive input, process data, generate control signals, and display images. Computing device700is configured to perform operations associated with computer-implemented method200, computer-implemented method500, and/or other suitable software applications, which can reside in a memory710. It is noted that the computing device described herein is illustrative and that any other technically feasible configurations fall within the scope of the present disclosure.

As shown, computing device700includes, without limitation, an interconnect (bus)740that connects a processing unit750, an input/output (I/O) device interface760coupled to input/output (I/O) devices780, memory710, a storage730, and a network interface770. Processing unit750may be any suitable processor implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), any other type of processing unit, or a combination of different processing units, such as a CPU configured to operate in conjunction with a GPU. In general, processing unit750may be any technically feasible hardware unit capable of processing data and/or executing software applications, including processes associated with computer-implemented method300. Further, in the context of this disclosure, the computing elements shown in computing device700may correspond to a physical computing system (e.g., a system in a data center) or may be a virtual computing instance executing within a computing cloud.

I/O devices780may include devices capable of providing input, such as a keyboard, a mouse, a touch-sensitive screen, and so forth, as well as devices capable of providing output, such as a display device781. Additionally, I/O devices780may include devices capable of both receiving input and providing output, such as a touchscreen, a universal serial bus (USB) port, and so forth. I/O devices780may be configured to receive various types of input from an end-user of computing device700, and to also provide various types of output to the end-user of computing device700, such as one or more graphical user interfaces (GUI), displayed digital images, and/or digital videos. In some embodiments, one or more of I/O devices780are configured to couple computing device700to a network705.

Memory710may include a random access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof. Processing unit750, I/O device interface760, and network interface770are configured to read data from and write data to memory710. Memory710includes various software programs that can be executed by processor750and application data associated with said software programs, including computer-implemented method200and/or computer-implemented method500.

In sum, the various embodiments described herein provide techniques for preventing edge discontinuities between adjacent patches when laser engraving an overall workpiece surface. In some embodiments, a first closed-loop control system enables precise positioning of the end effector of a CNC processing system for each patch that is processed on a surface of a workpiece. In the embodiments, the feedback for the first closed-loop control system is based on real-time position information generated using optical targets positioned on the workpiece, the end effector, and movable elements of a positioner included in the CNC processing system. In some embodiments, a second closed-loop control system adjusts the size, shape, and/or location of an actual engraving region for a particular patch to better align the actual engraving region with a target engraving region for the particular patch and/or with previously processed patches. Based on image information generated with an in-line digital camera, the second closed loop control system modifies one or more process parameter values for the engraving head, such as focal shifter position and/or galvo-mirror position. In this way, the actual engraving region for the particular patch is better aligned with the target engraving region for the particular patch.

At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable a laser-engraving system to adjust the position of a laser-engraving head from a programmed position to a new position prior to processing a given patch on the surface of a workpiece. By compensating for position errors that are determined based on real-time position information, the effects of thermal elongation, elastic deformation, and encoder delays in the laser-engraving system can be reduced, which helps avoid edge discontinuities between adjacent patches when laser engraving the overall workpiece surface. These technical advantages provide one or more technological advancements over prior art approaches.

At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable a laser-engraving system to adjust the position of an actual engraving region of a laser-engraving head to better align with previously processed patches on a surface of a workpiece. More particularly, with the disclosed techniques, the position of the actual engraving region of the laser-engraving head is adjusted based on location information for the previously processed patches that is collected via an inline camera. Such real-time feedback helps mitigate or prevent micron-scale discontinuities between the actual engraving region and the previously processed patches during laser engraving. These technical advantages provide one or more technological advancements over prior art approaches.

1. In some embodiments, a computer-implemented method for positioning a workpiece for a computer numerical controlled (CNC) process includes: causing a positioner to move an end effector to an initial position; receiving first position information associated with a first optical signal transmitted from a first optical target coupled to the workpiece; receiving second position information associated with a second optical signal transmitted from a second optical target coupled to the end effector; determining an offset between the initial position and a target position for the end effector based on the first position information and the second position information; and causing the positioner to move the end effector to a final position based on the offset.

2. The computer-implemented method of clause 1, wherein the positioner moves the end effector to the final position prior to when the end effector performs a processing operation on the workpiece.

3. The computer-implemented method of clauses 1 or 2, wherein determining the offset between the initial position and the target position for the end effector comprises determining an actual position of the workpiece based on the first position information and an actual position of the end effector based on the second position information.

4. The computer-implemented method of any of clauses 1-3, further comprising determining the initial position of the end effector based on at least the second position information.

5. The computer-implemented method of any of clauses 1-4, further comprising determining the initial position of the end effector based on the second position information and third position information that is associated with a third optical signal transmitted from a third optical target coupled to the positioner.

6. The computer-implemented method of any of clauses 1-5, wherein the third optical target is coupled to one of a stationary base of the positioner or a movable arm of the positioner.

7. The computer-implemented method of any of clauses 1-6, wherein determining the initial position of the end effector is further based on fourth position information that is associated with a fourth optical signal transmitted from a fourth optical target coupled to the positioner.

8. The computer-implemented method of any of clauses 1-7, wherein determining the offset between the initial position and the target position of the end effector is further based on third position information associated with a third optical signal transmitted from a third optical target coupled to a movable stage on which the workpiece is disposed.

9. The computer-implemented method of any of clauses 1-8, wherein the third position information is associated with multiple optical targets coupled to the movable stage.

10. The computer-implemented method of any of clauses 1-9, further comprising, prior to determining the offset, causing a movable stage to move the workpiece to an initial workpiece processing position.

11. The computer-implemented method of any of clauses 1-10, further comprising causing the movable stage to move the workpiece to a final workpiece processing position based on the offset.

12. The computer-implemented method of any of clauses 1-12, further comprising causing the end effector to perform at least one processing operation on the workpiece while the workpiece is disposed at the final processing position.

13. The computer-implemented method of any of clauses 1-12, wherein the end effector is moved to the initial position via an open-loop control technique.

14. In some embodiments, a system includes: a positioner having an end effector; a laser tracker that determines first position information associated with a first optical signal transmitted from a first optical target coupled to a workpiece and second position information associated with a second optical signal transmitted from a second optical target coupled to the end effector; and a controller that executes instructions and performs the steps of: causing the positioner to move the end effector to an initial position; receiving the first position information from the laser tracker; receiving the second position information from the laser tracker; determining an offset between the initial position and a target position for the end effector based on the first position information and the second position information; and causing the positioner to move the end effector to a final processing position based on the offset.

15. The system of clause 14, wherein the end effector comprises a laser-engraving head.

16. The system of clauses 14 or 15, wherein the target position is associated with a specific engraving region on a surface of the workpiece that is processed when the laser-engraving head is in the target position.

17. The system of any of clauses 14-16, further comprising a movable stage that supports the workpiece and a third optical target that is coupled to the movable stage.

18. The system of any of clauses 14-17, wherein the controller determines the offset between the initial position and the target position of the end effector based on third position information associated with a third optical signal transmitted from the third optical target.

19. The system of any of clauses 14-18, further comprising causing the end effector to perform at least one processing operation on the workpiece while the workpiece is disposed at the final processing position.

20. The system of any of clauses 14-19, wherein the end effector is moved to the initial position via an open-loop control technique.