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.
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.
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.
So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts, briefly summarized above, may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that there are other equally effective embodiments.
For clarity, identical reference numbers have been used, where applicable, to designate identical elements that are common between figures. It is contemplated that features of one embodiment may be incorporated in other embodiments without further recitation.
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.
Generally, the quality of the output of processes performed by CNC processing system 100 is dependent on accurate positioning of an end effector 145 of CNC positioner 130 relative to workpiece 101. For example, when a process is performed on multiple patches on a surface of workpiece 101, 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 system 100 includes a first closed-loop control system that enables precise positioning of end effector 145 for each patch that is processed on a surface of workpiece 101. As a result, each time that end effector 145 is 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 system 100 includes 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 effector 145). 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 tracker 110 measures the three-dimensional position of various optical targets 111 positioned within CNC processing system 100 and on workpiece 101. Generally, laser tracker 110 measures each three-dimensional position with a laser beam and angular encoders. Laser tracker 110 can be any technically feasible laser tracker device known in the art, many of which are commercially available. In operation, for each optical target 111 positioned within CNC processing system 100 and/or on workpiece 101, laser tracker 110 directs a laser beam to the optical target 111, receives an optical signal (such as a return beam) from the optical target 111, determines the three-dimensional position of the optical target 111 based on the return beam, and generates position information for the optical target 111. The position information for each optical target 111 located within CNC processing system 100 and mounted on workpiece 101 is then provided to controller 150 as real-time position feedback.
In some embodiments, some or all of optical targets 111 are spherically mounted retroflectors (SMRs). An SMR is designed to reflect a laser beam back to laser tracker 110 with 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 tracker 110 via the corner cube reflector. Specifically, an incident laser beam on an SMR from laser tracker 110 is directed to the center of the SMR and is reflected back to laser tracker 110 along a path that is parallel to but slightly offset from the incident laser beam. This offset is used by a position detector in laser tracker 110 to determine the location of the center of the SMR in three-dimensional space.
To determination whether end effector 145 and workpiece 101 are positioned appropriately for a portion of the surface of workpiece 101 to be processed by end effector 101, the position of end effector 145 in three-dimensional space and the position of workpiece 101 in three-dimensional space are both needed to a high level of precision. Thus, in general, CNC processing system 100 includes at least one optical target 111 on end effector 145 and one optical target 111 on a surface of workpiece 101. In some embodiments, to more precisely determine the position of end effector 145 and workpiece 101 relative to table 120 and various axes and arms of positioner 130, CNC processing system 100 includes additional optical targets 111. For instance, in some embodiments, an optical target 111 is mounted on each of a base 131 of positioner 130, some or all arms of positioner 130, and/or a movable stage 122 of table 120. In such embodiments, not only can the relative position in three-dimensional space between end effector 145 and workpiece 101 be determined, but also the relative position in three-dimensional space between end effector 145 and the various axes of positioner 130 and movable stage 121. Such position information enables controller 150 to adjust one or more axes of position 130 and/or movable stage 121 so that the position of end effector 145 (and/or movable stage 121) 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 effector 145 (and/or movable stage 121).
Table 120 supports workpiece 101 during processing and, in the embodiment illustrated in
CNC positioner 130 is a multi-axis positioning apparatus, such as a polar axis machine, that locates and orients end effector 145 in two or three dimensions with respect to workpiece 101. For example, in embodiments in which end effector 145 includes a laser-engraving head, CNC positioner 130 sequentially positions the laser-engraving head at different positions over surfaces of workpiece 101. Thus, in such embodiments, discrete engraving regions (patches) on one or more surfaces of workpiece 101 can undergo laser engraving and have a final pattern formed thereon, such as a texture or other surface geometry.
In the embodiment illustrated in
End effector 145 is configured to perform one or more processes on workpiece 101, 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 effector 145 includes one or more motorized tools that are controlled based on machine control instructions for a specific process to be performed on workpiece 101. Alternatively or additionally, in some embodiments, end effector 145 includes a laser-engraving head.
In embodiments in which CNC processing system 100 is configured for performing a laser-engraving process, CNC positioner 130 includes optical and/or photonic fibers (not shown) that optically couple laser sources (not shown) to a laser-engraving head included in end effector 145. 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 workpiece 101.
Controller 150 controls the operations of CNC processing system 100. In some embodiments, controller 150 receives user inputs and/or a 3D model for a particular workpiece 101 via a human-machine interface (not shown). In some embodiments, controller 150 is 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 system 100.
According to various embodiments, controller 150 adjusts a programmed position and/or orientation of end effector 145 to a final processing position and/or orientation based on real-time position feedback from laser tracker 110. Specifically, in some embodiments, controller 150 causes CNC positioner 130 to move end effector 145 to an initial processing position and orientation for processing a particular patch (or engraving region) on a surface of workpiece 101. CNC positioner 130 moves and orients end effector 145 to 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 positioner 130. Controller 150 then receives position information from laser tracker 110 for end effector 145 and workpiece 101. In some embodiments, controller 150 receives additional position information from laser tracker 110 as well, such as position information associated with movable stage 121, base 131, and/or various arms of CNC position 130. Based on the received position information, controller 150 then determines an offset between the initial processing position and a target processing position for the end effector and, based on the offset, causes CNC positioner 130 to move end effector 145 to a final processing position. One such embodiment is described below in conjunction with
As shown, a computer-implemented method 200 begins at step 201, where controller 150 selects an engraving region on a surface of workpiece 101 for laser processing. For example, when workpiece 101 includes one or more regions to be processed that are too large to undergo laser engraving without repositioning of end effector 145, each such surface is processed in multiple engraving regions. Thus, in step 201, controller 150 selects one such engraving regions.
In step 202, controller 150 causes CNC positioner 130 to move end effector 145 to an initial processing position and orientation for processing the selected engraving region. As noted above, in some embodiments, CNC positioner 130 moves and orients end effector 145 to 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 positioner 130 and/or movable stage 121. Thus, in such embodiments, CNC positioner 130 moves end effector 145 and workpiece 101 to the initial processing position via open-loop control (e.g., without position feedback).
In step 203, controller 150 receives position information from laser tracker 110. Generally, the position information is based on optical signals received by laser tracker 110 from optical targets 111. In some embodiments, the position information is associated with end effector 145 and workpiece 101. In some embodiments, the position information received in step 203 may further include position information associated with other elements of CNC processing system 100, such as movable stage 122 and/or one or more arms or joints of CNC positioner 130.
In step 204, controller 150 determines an offset between the initial processing position and a target processing position. For example, in some embodiments, controller 150 determines the offset based the on position information received in step 203. One such embodiment is illustrated in
Ideally, CNC positioner 130 is programmed to precisely move end effector 145 to target processing position 310 in step 202 of
As shown, initial processing position 310 is offset from target processing position 320 by an offset 321 in an X-direction and by an offset 322 in a Y-direction. Typically, initial processing position 310 can also be offset from target processing position 320 by an offset (not shown) in a Z-direction. Thus, the offset determined in step 205 of initial processing position 310 from target processing position 320 can include a component in the X-direction, the Y-direction, and/or the Z-direction. Further, in some embodiments, the offset determined in step 205 can further include a rotational component.
According to various embodiments, controller 150 determines offset 321, offset 322, the offset in the Z-direction, and any applicable rotational offset based on position information from laser tracker 110. For example, such position information can be based on one or more optical signals from optical targets 311 disposed on workpiece 101, optical targets disposed on end effector 145, optical targets disposed on movable stage 121, and/or optical targets disposed on various elements of CNC positioner 130.
Returning to
In step 206, controller 150 cause end effector to perform the appropriate laser-engraving process on engraving region 301. Alternatively, in some embodiments, prior to performing the appropriate laser-engraving process in step 206, controller 150 performs additional operations that enable micron-level alignment between engraving region 301 and previously processed engraving regions on surface 302 of workpiece 101. These operations modify one or more process parameter values for an engraving head included in end effector 145, such as focal shifter position and/or galvo-mirror position via a closed-loop control system. Such embodiments are described below in conjunction with
In step 207, controller 150 determines whether there are any remaining engraving regions to be processed on a surface of workpiece 101. If yes, method 200 returns to step 201; if no, method 200 terminates.
Method 200 can 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 with
As shown, laser-engraving apparatus 400 includes laser-engraving head 410, a digital camera 420, a laser source 430, and a controller 450. Each of digital camera 420 and laser source 430 is optically coupled to laser-engraving head 410, for example via optical cables and/or photonic cables (not shown).
Laser-engraving head 410 performs a laser-engraving process on an engraving region 402 of a surface of a workpiece 401 by directing laser pulses onto engraving region 402 according to a specified process. Laser-engraving head 410 performs the laser-engraving process when laser-engraving head 410 is suitably positioned and oriented relative to workpiece 401, for example using method 200 of
Focus shifter 411, 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 source 430, thereby compensating for changes in a distance 403 between laser-engraving head 410 and a surface 404 of engraving region 402 during three-dimensional scanning operations. Dichroic mirror 414 directs laser pulses from laser source 430 along an optical path 405 from laser source 430 to focus shifter 411, and allows light returning along optical path 405 from engraving region 402 to leave optical path 405 and reach digital camera 420. The one or more additional optical elements 415 can include any additional lenses, mirrors, fibers, and/or waveguides that facilitate or enable operation of optical path 405.
Digital camera 420 can be any digital image capture system capable of generating image information, such as digital images, of a portion of surface 404 of workpiece 401. In some embodiments, the portion of surface 404 that is imaged by digital camera 420 corresponds to the field of operation of laser-engraving head 410, and in other embodiments, the portion of surface 404 that is imaged by digital camera 420 can extend beyond the field of operation of laser-engraving head 410. In either case, images generated by digital camera 420 of the portion of surface 404 provide a “beam's-eye view” of at least the field of operation of laser engraving head 410. Thus, real-time position feedback associated with surface 404 can be provided to controller 450.
In some embodiments, digital camera 420 includes computer vision logic that can detect one or more features on surface 404, based on image information included in a digital image of the field of operation of laser-engraving head 410. 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 surface 404 and/or workpiece 401; or an edge of a previously processed engraving region on surface 404. In some embodiments, such computer vision logic can be incorporated in controller 450 instead of digital camera 420.
Laser source 430 is a laser source suitable for use by laser-engraving head 410 in a laser-engraving process. For example, in an embodiment, laser source 430 is 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 source 430 is 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.
Controller 450 controls the operations of laser-engraving head 410. In some embodiments, some or all of the functionality described herein for controller 450 can be included in controller 150 of
As shown, a computer-implemented method 500 begins at step 501, where laser-engraving-head 410 is moved to a programmed processing position for a particular engraving region 402 on surface 404 of workpiece 401. For example, in some embodiments, laser-engraving head 410 is suitably positioned and oriented at the programmed processing position relative to workpiece 401 using method 200 of
Returning to
Returning to
In the embodiment illustrated in
Additionally or alternatively, in some embodiments, the offset between actual engraving region 642 and target engraving region 632 can further include an offset in the Z-direction. Such an offset is not visible in
In some embodiments, controller 450 determines actual engraving region 642 based on image information provided by digital camera 420. Alternatively or additionally, in some embodiments, controller 450 determines actual engraving region 642 based on laser-engraving head 410 performing an initial portion of the laser-engraving process on specific engraving region 602 and receiving image information from digital camera 420 showing the results of the initial portion of the laser-engraving process. Thus, in one such embodiment, controller 450 causes laser-engraving head 410 to direct laser pulses to a portion of actual engraving region 642, such as a portion of an edge of actual engraving region 642, one or more corners of actual engraving region 642, one or more linear paths within actual engraving region 642, and the like. Image information showing the locations of such laser pulses on surface 404 can then indicate the size, shape, and/or location of actual engraving region 642.
In step 504, controller 450 determines the offset between actual engraving region 642 and target engraving region 632. In some embodiments, controller 450 determines the offset based on position information associated with actual engraving region 642 and target engraving region 632. As described above, such position information can be determined based on image information provided to controller 450 by digital camera 420. 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 step 505, controller 450 selects one or more new process parameter values for laser-engraving head 410 to reduce the offset determined in step 504. Examples of such process parameter values include values for focal shifter position and/or galvo-mirror position. Thus, in such embodiments, travel of first mirror 412 and/or second mirror 413 is modified so that the laser-engraving process is performed within target engraving region 632 instead of actual engraving region 642. Alternatively or additionally, a position of focus shifter 411 is modified so that the laser-engraving process is performed within target engraving region 632 instead of actual engraving region 642. It is noted that in step 505, new values are selected for process parameters that affect the locations on surface 404 to which laser pulses are directed. By contrast, values for process parameters for laser-engraving head 410 that affect the resultant surface or functionalization of surface 404 remain unchanged, such as laser power, laser pulse frequency, and the like. Thus, the new values selected in step 505 do not change how surface 404 is modified by laser-engraving head 410, but instead change which locations on surface 404 are actually modified by laser-engraving head 410 during step 506.
In some embodiments, an iterative approach is employed in step 505 to select the one or more new process parameter values. In such embodiments, controller 450 determines a first set of one or more new process parameter values for laser-engraving head 410, causes laser-engraving head 410 to perform a small portion or an initial portion of the laser-engraving process on specific engraving region 602, and receives updated image information for surface 404. Controller 450 then confirms whether the new process parameter values for laser-engraving head 410 sufficiently reduce the offset determined in step 504 and repeats the process if necessary.
In step 506, controller 450 causes laser-engraving head 410 to perform the laser-engraving process on surface 404 using the one or more new process parameter values. Because laser-engraving head 410 uses the one or more new process parameter values, the region of surface 404 that undergoes the laser-engraving process coincides substantially or entirely with target engraving region 632 rather than actual engraving region 642. Thus, the use of the one or more process parameter values alter the locations on surface 404 that are actually modified by laser-engraving head 410.
In some embodiments, controller selects one or more new process parameter values during step 506, so that the laser-engraving process coincides substantially or entirely with target engraving region 632 rather than actual engraving region 642. In such embodiments, image information of surface 404 that is provided by digital camera 420 provides real-time feedback for the laser-engraving process while the laser-engraving process in being performed on specific engraving region 602. Thus, in such embodiments, controller 450 can modify a number of laser pulses included in a row of laser pulses when a remainder portion of target engraving region 632 differs from a remainder portion of laser pulses in the row. For example, when controller 450 determines 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 head 410 to extend the travel of first mirror 412 and/or second mirror 413 and/or cause additional pulses to the region to be processed.
As shown, computing device 700 includes, without limitation, an interconnect (bus) 740 that connects a processing unit 750, an input/output (I/O) device interface 760 coupled to input/output (I/O) devices 780, memory 710, a storage 730, and a network interface 770. Processing unit 750 may 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 unit 750 may be any technically feasible hardware unit capable of processing data and/or executing software applications, including processes associated with computer-implemented method 300. Further, in the context of this disclosure, the computing elements shown in computing device 700 may 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 devices 780 may 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 device 781. Additionally, I/O devices 780 may 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 devices 780 may be configured to receive various types of input from an end-user of computing device 700, and to also provide various types of output to the end-user of computing device 700, 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 devices 780 are configured to couple computing device 700 to a network 705.
Memory 710 may include a random access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof. Processing unit 750, I/O device interface 760, and network interface 770 are configured to read data from and write data to memory 710. Memory 710 includes various software programs that can be executed by processor 750 and application data associated with said software programs, including computer-implemented method 200 and/or computer-implemented method 500.
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 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.
2. The computer-implemented method of clause 1, wherein the at least one process parameter value comprises a value associated with rotating a first galvonometer motor included in the laser-engraving head, a value associated with rotating a second galvonometer motor included in the laser-engraving head, or a value associated with adjusting a focal shifter lens included in the laser-engraving head.
3. The computer-implemented method of clauses 1 or 2, wherein determining the location of the target engraving region comprises: receiving image information for at least one feature on a workpiece surface; and determining the location of the target engraving region based on a location of the at least one feature.
4. The computer-implemented method of any of clauses 1-3, wherein the at least one feature comprises an inscribed line formed on the workpiece surface, a machined feature formed on the workpiece surface, an edge of the workpiece surface, or an edge of a previously processed engraving region on the workpiece surface.
5. The computer-implemented method of any of clauses 1-4, wherein the location of the target engraving region is determined based on image information from a digital camera that is optically coupled to the laser-engraving head.
6. The computer-implemented method of any of clauses 1-5, wherein determining the location of the actual engraving region comprises:
while the laser-engraving head is disposed at the first position, performing at least one initial laser-engraving operation on a portion of the workpiece surface; and
receiving image information for the portion of the workpiece surface.
7. The computer-implemented method of any of clauses 1-6, wherein the portion of the workpiece surface corresponds to a portion of the actual engraving region.
8. The computer-implemented method of any of clauses 1-7, wherein the at least one initial laser-engraving operation comprises directing at least one laser pulse onto the portion of the workpiece surface.
9. The computer-implemented method of any of clauses 1-8, wherein the at least one initial laser-engraving operation comprises directing multiple laser pulses along a linear path within the actual engraving region.
10. The computer-implemented method of any of clauses 1-9, wherein the at least one initial laser-engraving operation comprises directing a first laser pulse to a first corner of the actual engraving region and a second laser pulse to a second corner of the actual engraving region.
11. The computer-implemented method of any of clauses 1-10, wherein the offset is based on at least one of an offset in an X-direction, an offset in a Y-direction, or an offset in a Z-direction.
12. In some embodiments, an apparatus comprises: a focal shifter lens that directs a laser beam along an optical path to an engraving region on a workpiece surface; a first mirror that is coupled to a first galvonometer motor and directs the laser beam along the optical path to the focal shifter lens; a second mirror that is coupled to a second galvonometer motor and directs the laser beam along the optical path to the first mirror; and a digital camera that receives light from the engraving region of the workpiece via at least a portion of the optical path.
13. The apparatus of clause 12, further comprising a laser source that is optically coupled to the second mirror and directs the laser beam along the optical path.
14. The apparatus of clauses 12 or 13, wherein the focal shifter lens, the first mirror, and the second mirror direct the laser beam to a portion of the engraving region that is within a field of operation of the apparatus.
15. The apparatus of any of clauses 12-14, wherein the digital camera is optically coupled to the first mirror and the second mirror.
16. The apparatus of any of clauses 12-15, wherein the apparatus comprises an end effector of a computer numerical controlled system.
17. The apparatus of any of clauses 12-16, further comprising a controller that executes instructions and performs the steps of: while the apparatus is disposed at a first position associated with the engraving region, determining a location of a target engraving region; while the apparatus 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 the actual engraving region; modifying at least one process parameter value for the apparatus to generate a modified parameter value; and while the apparatus is disposed at the first position, causing the apparatus to perform one or more laser engraving operations based on the modified parameter value.
18. The apparatus of any of clauses 12-17, wherein the location of the target engraving region is determined based on image information from the digital camera.
19. The apparatus of any of clauses 12-18, wherein determining the location of the actual engraving region comprises: while the apparatus is disposed at the first position, performing at least one initial laser-engraving operation on a portion of the workpiece surface; and receiving image information for the portion of the workpiece surface from the digital camera.
20. The apparatus of any of clauses 12-19, wherein the offset is based on at least one of an offset in an X-direction, an offset in a Y-direction, or an offset in a Z-direction.
Any and all combinations of any of the claim elements recited in any of the claims and/or any elements described in this application, in any fashion, fall within the contemplated scope of the present invention and protection.
The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
Aspects of the present embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module,” a “system,” or a “computer.” In addition, any hardware and/or software technique, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or set of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine. The instructions, when executed via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such processors may be, without limitation, general purpose processors, special-purpose processors, application-specific processors, or field-programmable gate arrays.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the preceding is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
This application claims priority benefit of the United States Provisional Patent Application titled, “REAL-TIME MONITORING AND ADAPTING OF LASER ENGRAVING PROCESSES” filed on Jan. 31, 2022 and having Ser. No. 63/305,139. The subject matter of this related application is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63305139 | Jan 2022 | US |