System and method for detecting and correcting laser cutting distortion
By simulating the cutting operation of the laser cutting machine and modifying the cutting sequence, G-code that avoids deformation was generated, thus solving the problem of edge deformation of laser-cut parts and achieving higher quality cutting results.
Patent Information
- Application Number
- CN202180023049.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-27
- Filing Date
- 2021-02-09
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2041-02-09
AI Technical Summary
During the laser cutting process, the edges of parts are prone to deformation, especially the final edge, leading to inaccurate and uneven cutting.
By simulating the laser cutting operation, potential deformation edges are detected in advance using thermal and mechanical models, and the cutting sequence is modified to avoid deformation. G-code to avoid deformation is generated to control the operation of the laser cutting machine.
It effectively reduces deformation at the edges of parts, ensures the accuracy and flatness of the cutting process, and improves the cutting quality.
Smart Images

Figure CN115297992B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates generally to laser cutting machines, and more particularly, to detection and correction of cutting edge distortion in laser cutting machines. BACKGROUND
[0002] Laser cutting is a technique that allows cutting of metallic and non-metallic materials by a laser. Although commonly used for industrial manufacturing applications, laser cutting has also started to be used by schools, small businesses, and hobbyists. Laser cutting works by directing the output of a high-power laser through optics that focus the laser beam down to a tiny spot, then moving the material under the beam (or the beam under the material) to cut the pattern of the material. Typically, a laser cutting machine, which includes a laser cutting head, is configured to implement the laser cutting technique. A conventional laser cutting machine follows instructions for a pattern to be cut out of a material. A focused laser beam is aimed at the material, which then melts, burns, vaporizes, or is blown away by a gas jet according to the instructions, thus leaving an edge with a high-quality surface finish. Laser cutting machines are used to cut sheet materials as well as structured and line materials.
[0003] Typically, the laser cutting head of a laser cutting machine translates along orthogonal axes within a bounded plane. Laser cutting heads are often used to cut parts from plastic and metal sheets of varying thicknesses. The control of the laser cutting head is typically performed by a controller (e.g., a computer numerical controller (CNC)) in the laser cutting machine based on programmed instructions.
[0004] The CNC follows a list of prescribed instructions called “G-code.” G-code is a generic name for the most widely used numerical control (NC) programming language. It is mainly used in computer-aided manufacturing to control automated machine tools such as CNCs. G-code is the language used to tell a computerized machine tool how to make something. The “how” is defined by the G-code instructions provided to the machine controller (industrial computer), which tells the motors where to move to, how fast to move, and what path to follow.
[0005] During the laser cutting process, thermal and mechanical interactions occur between the material and the laser cutting machine controlled by its parameters and G-code. A heat-affected zone (HAZ) is created in the region of the material that has not yet melted but whose microstructure and mechanical properties are affected by the heat generated during laser cutting. The heat-affected zone can cause undesirable effects. For example, in some cases, laser cutting of sheet metal results in distortion of the cutting edge.
[0006] Therefore, there is a need to develop a system for a laser cutting machine that provides distortion-free parts through laser cutting operations. SUMMARY
[0007] Some embodiments aim to prevent deformation of parts cut from a sheet of material by a laser cutting machine. Additionally or alternatively, some embodiments aim to address the cause of potential deformation and reduce the occurrence of such deformation prior to performing a laser cutting operation.
[0008] Some embodiments are based on the observation that in some cases, the edges of parts cut from a sheet of material are deformed. For example, rather than having straight edges planned for cutting, a part can have edges that bow outward from the shape of the part, thus exhibiting a "wobble" behavior when the part is placed on a flat surface with the deformed edges. For example, as a part is cut from a sheet of material, heat from the laser cutting process spreads into the part itself as well as the remaining material between the parts. In some cases, the material between the parts can be long and thin, referred to herein as struts. When heat is trapped in the thin struts between the parts, the parts experience thermal expansion, and this expansion can cause the sheet being cut to move, resulting in the cut parts having deformed edges.
[0009] To this end, potential deformed edges of parts cut from a sheet of material are pre-detected by simulating a laser cutting operation (i.e., performing a laser cutting operation on a virtual system using instructions associated with actually cutting the parts).
[0010] Some embodiments are based on the observation that not all edges of a part can exhibit such bowing deformation, but rather typically only the final edges cut for each part do. For example, if a part has a square shape, a laser cutting machine cuts the part from a sheet of material by cutting a sequence of four straight edges (one for each side of the square). It was observed that only the final edge cut to complete the cutting of the part can have such deformation. Cutting the other three edges did not observe bowing deformation. To this end, in some embodiments, based on instructions associated with cutting parts from a sheet of material, only the final cut edges for each part are considered as potential deformation candidates.
[0011] It was also observed that at least two conditions need to be met for potentially causing deformation. The first condition is that deformation occurs for a part edge that is cut last to complete the cutting of the part shape. The second condition is that the cutting of this final edge should be performed next to a previously cut part. Furthermore, some embodiments are based on the recognition that only cuts that satisfy both conditions can potentially cause bowing deformation.
[0012] Some embodiments are based on the recognition, supported by some experiments, that bow deformation results from subtle differences in heat propagation during laser cutting. For example, thermal simulations of laser cutting processes indicate that the deformation effect along the edges of cut parts is mainly due to heat accumulation that occurs when heat is trapped between two parts that are processed sequentially in time. Moreover, the deformation effect mainly occurs in cases where the area between the parts that are processed sequentially forms a thin strut, for example, when the ratio of the shared edge length (i.e., the common area of adjacent edges of the parts) to the distance between the parts is greater than a threshold value. The value of this threshold depends on the properties of the material to be cut and the shared edge length. However, typically the parts to be cut are placed densely on the work plate, so in many cases the strut is thin enough to cause deformation.
[0013] Moreover, it was observed that as the cutting of a part approaches its end, the cut can form a thin strut with a previously cut part, and the heat deposited in the sheet of material by the current laser cutting process cannot escape through the previously cut and is trapped inside the thin strut. This trapped heat causes thermal expansion of the thin strut. Since this is the last cut on the part, only the expanded thin strut supports the position of the part being cut, so the strut and the part can slightly move relative to the original coordinate system used by the laser cutting head. In this case, the laser cutting is not in the correct position, resulting in deformation of the part.
[0014] Some embodiments are based on the recognition that since the bow deformation is caused by thermal expansion under the conditions created by the cutting sequence, the problem of potential bow deformation can be reduced by changing the cutting order. For example, in some cases, the deformation can be eliminated by changing the cutting direction so that the final edge to be cut is not along a thin strut caused by an adjacent edge of a previously cut part. For laser cutting, the programming instructions (i.e., G-code) specify the cutting order. To this end, some embodiments either address the cause of the deformation during the original design of the G-code data, or for previously constructed G-code, detect the cutting sequence in the incoming G-code data that potentially causes the deformation, and modify the cutting order in the detected sequence to reduce the likelihood of deformation.
[0015] Some embodiments are based on the understanding that when the parts have a rectangular shape and are aligned on the sheet of material, the formation of a thin strut between two parts can be easily detected. However, this is not always the case in many laser cutting applications. Therefore, there is a need to detect potential deformation for cutting parts of arbitrary shape arranged in an arbitrary pattern on the sheet of material.
[0016] In some embodiments, morphological dilation image processing techniques are utilized to detect deformations. A morphological dilation operation results in the generation of a dilated shape around the contour of a part to which the morphological dilation operation is applied. In some embodiments, a potential detection of a current part is detected when at least a portion of the final edge of the part intersects a dilated shape of a previous part scheduled to be cut prior to the current part. In effect, morphological dilation simplifies the detection of thin struts that would result in potential arcuate deformations of parts of arbitrary shape.
[0017] Additionally or alternatively, some embodiments are based on the understanding that thin struts that would result in potential arcuate deformations do not necessarily form only between two parts, but can form between one part and a combination of previous cut parts. To address this issue, some embodiments maintain a binary image of the material sheet, where the pixels of the binary image corresponding to the location of a previous cut part dilated by a morphological dilation kernel have one value, and all other pixels have a different value. This binary image allows for the detection of potential deformations when at least a portion of the final edge of a current part is within the boundaries of the previous cut space. Additionally, after processing a current part, some embodiments add the morphological dilation of the current part to the previous cut space of the binary image by flipping the value of the pixels corresponding to the morphological dilation of the current part. In this way, the binary image is formed for testing the next part for potential deformations.
[0018] In this way, various embodiments test the cutting order of the parts and the cutting data of the edges of the individual parts for potential deformations, and modify / select the cutting order of the edges of different parts that avoid potential deformations. Embodiments generate G-code with the cutting order of the edges of a current part selected to avoid potential deformations and send the generated G-code via a wired or wireless channel to control a laser cutting machine.
[0019] The presently disclosed embodiments are further described with reference to the drawings. The illustrated drawings are not necessarily drawn to scale, emphasis instead being placed upon illustrating the principles of the presently disclosed embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0020] [ FIG. 1A ] FIG. 1A A block diagram of an exemplary laser cutting machine 118 controlled according to the principles employed by some embodiments is shown.
[0021] [ FIG. 1B ] FIG. 1B An example of a material sheet 142 to be cut by a laser cutting machine 118 according to some embodiments is shown.
[0022] [ FIG. 2 ] FIG. 2schematic showing a part being cut according to some embodiments, showing potential deformation of the part edges during its cutting.
[0023] [ FIG. 3 ] FIG. 3 schematic showing a method of generating G-code for controlling the operation of a laser cutting machine to cut a part from a sheet of material to avoid potential deformation of the part according to some embodiments.
[0024] [ FIG. 4A ] FIG. 4A schematic showing modification and selection of a cutting sequence to avoid potential deformation according to one embodiment.
[0025] [ FIG. 4B ] FIG. 4B schematic showing modification and selection of a cutting sequence to avoid potential deformation according to another embodiment.
[0026] [ FIG. 4C ] FIG. 4C schematic showing modification and selection of a cutting sequence to avoid potential deformation according to another embodiment.
[0027] [ FIG. 5A ] FIG. 5A block diagram showing a method of generating G-code to avoid potential deformation from cutting data specified in input G-code according to one embodiment.
[0028] [ FIG. 5B ] FIG. 5B block diagram showing a method of generating G-code to avoid potential deformation from design data specifying the geometry of a part to be cut by a laser cutting machine according to one embodiment.
[0029] [ FIG. 5C ] FIG. 5C schematic showing different examples of final edges used by different embodiments.
[0030] [ FIG. 5D ] FIG. 5D schematic showing different examples of final edges used by different embodiments.
[0031] [ FIG. 5E ] FIG. 5E schematic showing different examples of final edges used by different embodiments.
[0032] [ FIG. 5F ] FIG. 5F schematic showing different examples of final edges used by different embodiments.
[0033] [ FIG. 6A ] FIG. 6AA diagram illustrating a schematic of a shape inflation detection of edges susceptible to deformation, in accordance with some embodiments.
[0034] [ FIG. 6B ] FIG. 6B A diagram illustrating a schematic of a shape inflation detection of edges susceptible to deformation, in accordance with some embodiments.
[0035] [ FIG. 7A ] FIG. 7A A diagram illustrating a mapped image used by some embodiments to simplify detection of potential deformation.
[0036] [ FIG. 7B ] FIG. 7B A diagram illustrating a mapped image used by some embodiments to simplify detection of potential deformation.
[0037] [ FIG. 8 ] FIG. 8 A block diagram illustrating a system 800 that generates G-code that avoids deformation of a part cut from a sheet of material by a laser cutting machine, in accordance with some embodiments.
[0038] [ FIG. 9A ] FIG. 9A A diagram illustrating a schematic of transmitting the generated G-code to a plurality of external devices, in accordance with some embodiments.
[0039] [ FIG. 9B ] FIG. 9B A diagram illustrating a schematic of integrating a system 800 that generates G-code that avoids potential deformation in a cloud computing infrastructure, in accordance with some embodiments. DETAILED DESCRIPTION
[0040] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure can be practiced without these specific details. In other instances, devices and methods are shown in block diagram form in order to avoid obscuring the present disclosure.
[0041] As used in this specification and claims, the terms "for example," "e.g.," and "such as," and the verbs "comprising," "having," "including," and their other verb forms, are each meant to encompass the items listed thereafter, and additional items. The term "based on" means at least partially based on. Furthermore, to the extent that the term "comprising" is used in the description or the claims, it is always intended to be open-ended. Likewise, the term "consisting essentially of will be construed to allow for the presence of additional components, so long as the additional components do not materially alter the basic and novel characteristics of the claimed composition or method. Any
[0042] FIG. 1AA block diagram of an exemplary laser cutting machine 118 controlled according to principles employed by some embodiments is shown. In this example, the laser cutting machine 118 includes a laser resonator 128 that generates a laser beam 138 used to cut a part from a sheet of material 142. In addition, the laser cutting machine 118 includes an optical output coupler 130 and a lens 132 to focus the laser beam 138 output from the laser resonator 128. The laser cutting machine 118 also includes a motor 134 (also referred to as an actuator), a controller 136, and a laser cutting head 140. In some embodiments, the controller 136 is a computer numerical controller (CNC).
[0043] The controller 136 controls the operation of the laser cutting machine 118 according to the G-code 110, which specifies commands for the laser cutting machine 118 to cut a part from a sheet of material. The controller 136 is configured to receive the G-code 110 and execute the received G-code to control the motor 134 to position the laser cutting head 140 and to control the on / off state of the laser resonator 128 itself. In certain embodiments, the operations can include controlling the orientation of the laser cutting head 140 according to the G-code to cut a part from the sheet of material 142. In other embodiments, controlling the operation of the laser cutting machine 118 includes controlling the cutting rate, the alignment of the nozzle relative to the laser head 140 of the laser cutting machine 118, etc.
[0044] In various embodiments, the G-code 110 is generated with the selection of the cutting order of the edges of the parts so as to avoid potential distortions caused by heat trapped in the struts formed between cuts of different parts. Various embodiments pre-generate the G-code 110 to address the causes of potential distortions and reduce the occurrence of such distortions prior to performing the laser cutting operation. To this end, potential distorted edges of the parts cut from the sheet of material are pre-detected by simulating the laser cutting operation (e.g., by executing the laser cutting operation on a virtual system using the instructions associated with the actual cutting of the parts). Such testing can be performed by the processor of the laser cutting machine 118 prior to cutting and / or by a remote machine communicatively connected to the laser cutting machine 118.
[0045] FIG. 1BAn example is shown of a material sheet 142 to be cut by a laser cutting machine 118, in accordance with some embodiments. During a laser cutting operation, the material sheet 142 is associated with at least three types of parts, for example: one or more parts that have already been cut from the material sheet 142 as “prior parts 146”; a part that is currently being cut from the material sheet 142 as “current part 144”; and one or more parts that are to be cut from the material sheet 142 after the current part 144 as “next parts 148”. In some embodiments, the final edge of the current part 144, the adjacent edge of the prior parts 146, and the adjacent edge of the next parts 148 are straight edges. In some other embodiments, the current part 144 has a rounded rectangular shape with edges formed by straight segments connected by arcs.
[0046] Some embodiments are based on the observation that, in some cases, edges of parts cut from a material sheet deform. For example, rather than having straight edges planned for cutting, a part can have an edge that bows outward from the shape of the part, thus exhibiting a “wobble” behavior when the part is placed on a flat surface with that deformed edge. For example, as a part is cut from a material, heat from the laser cutting process spreads into the part itself as well as into the remaining material between parts. In some cases, the material between parts can be long and thin, referred to herein as a strut. When heat gets trapped in the thin strut between parts, the part experiences thermal expansion and this expansion can cause the sheet being cut to move, resulting in a cut part having a deformed edge that can cause wobble motion when the part is placed along the deformed edge along a flat surface.
[0047] Some embodiments are based on the observation guided by a thermal model and a mechanical model that not all edges of a part can exhibit this bowing deformation, but typically only the final edge cut for each part. For example, if a part has a square shape, a laser cutting machine cuts this part from a material sheet by a sequence of cutting four straight edges (one for each side of the square). It was observed that only the final edge cut to complete the cutting of the part can have this deformation. No bowing deformation was observed for cutting the other three edges. For this reason, in some embodiments, based on instructions associated with cutting a part from a material sheet, only the final cut edge for each part is considered as a potential deformation candidate.
[0048] It was also observed that at least two conditions need to be met for a deformation to potentially occur. The first condition is that a deformation occurs for a part edge that is cut last to complete the cutting of the part shape. The second condition is that the cutting of this final edge should be next to a previously cut part. In addition, some embodiments are based on the recognition that only cuts that satisfy both conditions can potentially result in a bowing deformation.
[0049] FIG. 2A schematic diagram showing a part being cut according to principles employed by some embodiments, which can result in potential deformation of the part's edges during its cutting. In this example, the current part 144 is being cut after a previous part 146 according to a predetermined cutting order of the parts. The cutting order of the parts is included in cutting data, which can be generated in advance or just prior to cutting. One example of cutting data is provided in the G-code that specifies the cutting operation of the laser cutting machine 118. Additionally or alternatively, the cutting data can be determined by a computer-aided manufacturing (CAM) program that processes a computer-aided design (CAD) file that specifies the geometry of the parts to be cut by the laser cutting machine. Various embodiments test the cutting data for potential deformation prior to cutting and generate G-code from the cutting data that avoids the potential deformation.
[0050] In addition to the cutting order of the parts, the cutting data can also include a cutting order of the edges of the individual parts. In the example of FIG. 2, the cutting order of the edges of the part 144 is counterclockwise 208 from the starting point 210. According to this cutting order, edge 212 is cut first, then edge 214, then edge 216, and then edge 202. Thus, in this example, edge 202 is the final edge of the current part 144 that is scheduled to be cut last in the cutting of the part 144. FIG. 2
[0051] In this example, the final edge 202 is adjacent to edge 204 of the previous cut part 146 that forms the thin strut 206. If laser cutting is performed according to the cutting order of this example, the laser cutting operation will deposit heat in the material sheet 142 at the same time that the previous part 146 is being cut from the material sheet 142. The deposited heat propagates further in the material sheet 142 from the edge 204 of the previously cut part 146. The same process occurs during the cutting of the part 144, but in this case, when the deposited heat from the final edge 202 propagates in the direction of the part 146, the heat is stopped by the air gap caused by the nearby edge 204 of the part 146, such that the heat is trapped in the thin strut 206, thus the temperature of the thin strut 206 increases and the strut experiences the physical force of thermal expansion. During the cutting of the final edge 202, the only attachment of the current part 144 to the material sheet 142 is through the thin strut 206 that is under thermal expansion stress. This stress can deform the thin strut 206, causing the part 144 to move, resulting in the laser cutting machine tracing a slightly unintended path on the sheet 142 for the last cut 202, thus causing deformation of this edge 202. Thus, due to the heat trapped in the strut 206 during the laser cutting operation, the final edge 202 shifts to edge 202a of the current part 144, which results in an arcuate deformation in the edge of the current part 144 (i.e., edge 202a). For clarity, FIG. 2 The gradual bowing is shown from end to end, but this gradual bowing is not always the case. Sometimes the distortion is more concentrated on the final cut edge.
[0052] Some embodiments are based on the recognition that since the bowing distortion is caused by thermal expansion under the conditions created by the cutting sequence, the problem of potential bowing distortion can be reduced by changing the cutting order. For example, in some cases, the distortion can be eliminated by changing the cutting direction so that the final edge to be cut does not follow a thin strut caused by an adjacent edge of a previously cut part. For laser cutting, the programming instructions (i.e., G-code) specify the cutting order. To this end, some embodiments either address the cause of the distortion during the original design of the G-code data, or for previously constructed G-code, detect the cutting sequence in the incoming G-code data that potentially causes the distortion, and modify the cutting order in the detected sequence to reduce the likelihood of distortion.
[0053] FIG. 3 A flowchart showing a method of generating G-code for controlling the operation of a laser cutting machine to cut parts from a sheet of material according to some embodiments that avoids potential distortion of the parts. The method uses a processor coupled with stored instructions implementing the method. The instructions, when executed by the processor, perform the steps of the method.
[0054] Upon receiving the cutting data 310 specifying the cutting order of the parts and the cutting order of the edges of the individual parts, the method tests the parts, i.e., the cutting data of the individual parts, for potential distortion caused by the cutting according to the cutting data. For example, the method tests the parts in sequence according to the cutting order of the parts received in the cutting data 310. To test the current part 320 specified by the cutting order of the part, when the final edge of the current part is adjacent to an edge of a previously cut part that was cut before the current part according to the cutting order of the part, the method detects 330 potential distortion of the final edge of the current part according to the cutting order of the edges of the current part. If potential distortion is detected, the method modifies 340 the cutting order of the edges of the current part and selects 350 the modified cutting order for which the final edge is not adjacent to any edge of any previously cut part, so that the selected cutting order does not cause potential distortion of the cutting of the current part. If no potential distortion is detected, the original cutting order of the part can be selected 350.
[0055] If the current part is not the last part to be cut according to the cutting order of the parts, the next part is processed to detect potential deformation. Otherwise, the method generates 360 G-code having the cutting order of the edges of the current part selected to avoid potential deformation, and transmits the generated G-code via a wired or wireless channel to control the laser cutting machine. Thus, when the laser cutting machine cuts the parts according to the G-code generated according to some embodiments, potential deformation caused by heat trapped in thin pillars can be avoided.
[0056] Different embodiments can modify the cutting order in the same or different ways. For example, some embodiments modify the cutting order of the edges of the current part from a clockwise order to a counterclockwise order or from a counterclockwise order to a clockwise order. Additionally or alternatively, some embodiments modify the cutting order of the edges of the current part by changing the location of the initial starting point from which the edges of the current part are cut.
[0057] FIG. 4A A schematic diagram illustrating modification and selection of a cutting order to avoid potential deformation according to one embodiment is shown. FIG. 4A A part 402 having a cutting order is shown, which defines a final edge 408 by specifying an initial cutting starting point 406 (i.e., the upper right corner of the part 402) and a cutting order 410 in a counterclockwise direction. In this example, the cutting order of the edges of the part 402 is modified 401 to form a cutting order of a part 404. The part 404 results in a final edge 414 by specifying a modified initial cutting starting point 412 (i.e., the middle of the edges of the part 404) and a modified cutting order 416 in a clockwise direction.
[0058] FIG. 4B and FIG. 4C A schematic diagram illustrating modification and selection of a cutting order to avoid potential deformation according to another embodiment is shown. In FIG. 4B In this example, a previous part 422 having edges 424 is cut before a current part 432, where the current part 432 has an initial cutting starting point 418, a counterclockwise cutting direction 410, and a final edge 420 that forms a pillar 426 with the edges 424 of the previous part 422. FIG. 4C A schematic diagram illustrating modification of the cutting order of the part 432 to avoid forming the pillar 426 during final cutting is shown. In this example, the cutting order is modified by changing the initial cutting starting point 418 to the point 406 while preserving the counterclockwise cutting direction 410.
[0059] By way of example, reference is made to FIG. 4Bcutting sequence of the current part 432 specifies that the initial cut start point 418 of the current part 432 is in the lower left corner, and that the cutting sequence of the current part 432 is a counterclockwise sequence 410. Thus, the current part 432 is cut by the laser cutting machine 118 such that the final edge 420 of the current part 432 is adjacent to the edge 424 of the previous part 422. Because a thin strut 426 is formed in the sheet of material 142 between the final edge 420 and the adjacent edge 424 of the previously cut part 422, heat from the cutting edge 420 is unable to diffuse past the previously cut 424, the heat is trapped in the thin strut 426. The elevated temperature in the thin strut causes thermal expansion and stress in the thin strut 426. Because the current part 432 is attached to the sheet 142 only by the thin strut 426, the thermal expansion and stress in the thin strut 426 can cause movement of the part 432 such that the edge 420 traced on the surface of the sheet, although moved in a straight line by the laser cutting machine, has a bow deformation. Thus, a deformed current part 432 is obtained from the sheet of material 142. FIG. 4C The selection of different cutting sequences shown as examples above helps to avoid such deformations.
[0060] The cutting sequence of a part is part of the cutting data, which can be generated in advance or just before cutting. One example of cutting data is provided in G-code that specifies the cutting operation of the laser cutting machine 118. G-code is a programming language used to control computer-automated machine tools, such as routers, mills, and drills. Individual commands are typically composed of a letter followed by a number (e.g., G01) or a series of letter / number combinations (e.g., “G01 X205.Y330.”). In this example, the instruction provided in the G-code is to cut a linear path (G01) from the current position to the position X,Y = (205, 330) mm.
[0061] The G-code language can have hundreds of codes that specify different commands to control the operation of a laser cutting machine. Typically, the commands of the G-code include laser data that specifies the mode of operation of the laser cutting machine and cutting data. For example, the command “G00 X295.Y300.” commands the laser cutting machine to make a rapid scan, turn off the laser, to X,Y = (295, 300) mm. The command “M98 P9010” commands the laser to turn on and pierce the sheet. In this way, the cutting data of the G-code specifies the path of movement of the laser head of the cutting machine and the specific mode of operation when the laser head is in different positions to make the actual cuts.
[0062] Notably, G-code can have a complex structure designed to be executed by a processor. For example, in this example, the M98 portion of the G-code actually calls a subroutine to pierce the sheet material, the P9010 portion provides the address (e.g., in memory) of the routine. Thus, it is not always possible to understand the G-code commands to be executed by merely looking at the G-code. To this end, some embodiments execute a laser cutting simulator to simulate the motion of the laser head to determine the cutting order of the parts and the cutting order of the edges of the individual parts.
[0063] FIG. 5A A block diagram showing a method of generating G-code that avoids potential distortions from cutting data specified in input G-code is shown, according to one embodiment. This embodiment is advantageous for testing G-code generated by conventional G-code generators. The embodiment uses a processor 510 coupled with stored instructions implementing the method. The instructions, when executed by the processor, perform the steps of the method.
[0064] The embodiment uses an input interface to receive input G-code 520, which includes laser data and cutting data specifying the operating mode of a laser cutting machine. The embodiment: interprets (e.g., simulates) the input G-code to extract 502 the cutting data and laser data; modifies 504 the cutting order in the cutting data when potential distortions are detected; and recombines 506 the modified cutting data with the laser data to generate G-code that avoids potential distortions 505.
[0065] For example, in some implementations, the embodiment divides the G-code into three arrays of data. The first array stores commands related to the cutting data used for path analysis. The second array is a cell array storing G-code lines related to laser data that are not used for path analysis, but are kept for later construction of the modified cutting path. The third array stores pointers to the first and second arrays to record where the individual rows of the original G-code file are stored. The third array allows the modified first array to be recombined 506 with the unmodified second array to generate G-code that avoids potential distortions 505.
[0066] Additionally or alternatively, the cutting data can be determined from design data, for example, by a computer-aided manufacturing (CAM) program processing a computer-aided design (CAD) file specifying the geometry of a part to be cut by a laser cutting machine. Various embodiments test the cutting data for potential distortions and generate G-code from cutting data that avoids potential distortions.
[0067] FIG. 5BA block diagram illustrates a method for generating G-code that avoids potential deformation from design data specifying the geometry of a part to be cut by a laser cutting machine, according to one embodiment. This embodiment facilitates the use of various computer-aided manufacturing (CAM) programs to generate G-code that avoids potential deformation. This embodiment uses a processor 540 coupled to stored instructions that implement the method. These instructions execute the steps of the method when executed by the processor.
[0068] FIG. 5B Upon receiving design data 530 specifying the geometry of a part to be cut by a laser cutter, the implementation determines 532 the cutting order of the parts and sequentially generates G-codes 535 for each part to avoid potential deformation. For example, to generate a G-code for the current part, the implementation selects 536 the cutting order of the edges of the current part that will not cause potential deformation, considering different possible cutting orders for the edges of the current part with the specified geometry in the potential deformation test 534, and generates a G-code 535 based on the selected cutting order.
[0069] For example, in one implementation, the cutting sequence of the parts specifies that the cutting of the parts begins at one corner of the material sheet and continues towards the opposite corner on the opposite diagonal of the material sheet. To simplify the selection of the cutting sequence of the edges, the implementation generates G-code in which the final edge of each part is closer to the opposite diagonal corner of the material sheet than the original sheet corner. This ensures that the final cut never adjoins the edge of a previously cut edge.
[0070] FIG. 5C to FIG. 5F Different examples of the final edge used in different implementations are shown. Different implementations may use the same or different tests to identify the final edge that was last cut to complete the part. In all examples, the cutting direction is counter-clockwise 558°. For example, FIG. 5C This illustrates an example where all edges of a part are straight line segments identified by changing the cutting direction. In this example, the final edge is the final straight line segment 550 leading to the cut start point 555. Similarly, in FIG. 5D In the middle, the final edge is the final straight line segment 560 leading to the cutting starting point 565.
[0071] However, in different implementations, the parts can have arbitrary shapes, not just formed by straight line segments (such as...). FIG. 5E (in the middle), there are absolutely no straight line segments (such as...) FIG. 5F (in Chinese). FIG. 5E In some implementations, the final straight segment 570 before the cutting start point 577 is chosen as the final edge. These implementations assume that straight segments are often more conducive to forming thin pillars. However, alternatively, some implementations may combine the straight segment with segments of other shapes. For example, in one implementation, the final edge includes…FIG. 5E the arc 575 connecting the straight segments. In another implementation, only the arc 575 is considered a final edge. In another implementation, a predetermined portion of the perimeter of the part leading to the cut start point 585 (e.g., the last third or quarter of the perimeter) is considered a final edge 580.
[0072] Different implementations use different techniques to test whether a final edge is adjacent to a previously cut part that can cause potential deformation. For example, one implementation assumes that the parts for cutting are densely packed on a workboard, so if a final edge of a part is oriented toward a previously cut part, potential deformation is detected. Additionally or alternatively, some implementations test whether a final edge does indeed form a sufficiently thin strut with an edge of a previously cut part.
[0073] For example, returning to FIG. 2 When the distance between the final edge 202 of the current part 144 and the adjacent edge 204 of the previous part 146 is determined to be less than a predefined distance (i.e., a minimum distance), some implementations detect potential deformation. In some implementations, one implementation determines the length of the strut 206 along the parallel portion of the edge, and detects potential deformation when the length of the strut 206 along the parallel portion is at least twice as long as the width of the strut 206 defined by the minimum distance. This number can vary between different implementations based on one or a combination of cutting speed, thickness of the sheet of material 142, laser power, and type of material from which the sheet of material 142 is formed. The type of material is typically metal as they experience thermal expansion, but is not limited to metal, and can include paper, wood, acrylic, etc.
[0074] In some implementations, image processing techniques are utilized to detect deformation. Examples of image processing techniques are (but are not limited to) morphological and other image processing techniques capable of analyzing geometry. Morphology (also known as "mathematical morphology") is a theory and technique for analyzing and processing geometry based on set theory, lattice theory, topology, and random functions.
[0075] A morphological dilation operation results in a dilation shape being generated around the contour of a part to which the morphological dilation operation is applied. In some implementations, potential deformation of a current part is detected when at least a portion of the final edge of the part intersects the dilation shape of a previous part that is scheduled to be cut prior to the current part. In effect, morphological dilation simplifies the detection of thin struts that would cause potential bow deformation of a part of arbitrary shape.
[0076] FIG. 6A and FIG. 6B A diagram illustrating the use of morphological dilation to detect edges susceptible to deformation in accordance with some implementations is shown. Specifically, FIG. 6AA schematic diagram showing the application of morphological dilation to the previous part 646. This morphological dilation inflates the shape of the previous part 646 according to the kernel 612. FIG. 6B A schematic diagram showing the detection of a potential deformation when at least a portion of the final edge 602 of the current part 644 intersects the inflated shape 614 of the previously cut part 646.
[0077] A morphological dilation operation (also referred to as “morphological dilation”) is an operation that adds pixels to the boundaries of an object in an image to expand the outline of the object. The morphological dilation operation is based on two pieces of data as input: the input shape to be dilated and a set of coordinate points called a structuring element (also referred to as a “kernel”). The kernel is a closed shape, where the shape or radius of the kernel is a free parameter depending on, for example, the thermal and mechanical properties of the material sheet 142, the cutting speed of the laser cutting machine 118, the laser power, and the thickness of the material sheet 142.
[0078] Some embodiments select the kernel 612 for the morphological dilation operation based on one or a combination of the cutting speed, the thickness of the material sheet 142, the laser power, and the type of material forming the material sheet 142. For example, in some embodiments, a mapping algorithm is used to automatically select the kernel 612 from a set of allowed kernels, the input features of which include, but are not limited to, one or a combination of the material sheet 142, the laser power, and the type of material forming the material sheet 142. An example of these mapping algorithms is a machine learning classifier, such as a decision tree or a neural network.
[0079] Referring to FIG. 6A , one embodiment tests for potential deformations by first applying a morphological dilation operation to the previously cut part and second detecting the edges of the current part that are susceptible to deformation by noting when those edges intersect the inflated region. In the morphological dilation operation, the embodiment expands the outline of the previous part 646 by a sequence of kernels 612, such that a shape (i.e., the inflated shape 614) is created around the boundaries of the previous part 646 (as shown in FIG. 6B .
[0080] Further, the embodiment detects whether the inflated shape 614 intersects the current part 644. In the case where the inflated shape 614 is determined to intersect the current part 644, the embodiment flags one or more edges of the current part 644 that intersect the inflated shape 614 as potentially deformable edges. Specifically, the embodiment detects whether at least a portion of the final edge 602 of the current part 644 is within the boundaries of the inflated shape 614. In the case where a portion of the final edge 602 of the current part 644 is detected to be within the boundaries of the inflated shape 614 defined by the morphological dilation of the previous part 646, the embodiment detects a potential deformation and flags the final edge 602 as a potentially deformable edge for subsequent correction.
[0081] Additionally or alternatively, some embodiments are based on the understanding that a potential deformation by a thin strut does not necessarily have to be formed between two parts, but can be formed between one part and a combination of previously cut parts. To address this issue, some embodiments maintain a binary image of the material sheet, where the pixels of the binary image that correspond to the location of a previously cut part that is dilated by a morphological dilation kernel have one value, and all other pixels have a different value. This binary image allows for the detection of potential deformations when at least a portion of the final edge of the current part is within the boundary of the previously cut space. Additionally, after processing the current part, some embodiments add the morphological dilation of the current part to the set of previously cut pixels of the binary image by flipping the value of the pixels that correspond to the morphological dilation of the current part. In this way, the binary image is formed for testing the next part for potential deformations.
[0082] FIG. 7A and FIG. 7B A schematic diagram of a map image that some embodiments use to simplify the detection of potential deformations is shown. FIG. 7A A schematic diagram 702 is shown that represents a set of previously cut parts 706 that have been cut and a set of next parts 704 to be cut from the material sheet 142. The set of next parts 704 corresponds to the current part 144 and the next part 148. In addition, each set of previously cut parts corresponds to a previously cut part 146. FIG. 7B A schematic diagram is shown that represents a map image 708. The map image 708 includes a set of 0s 710 that represents the set of next parts 704 and a set of Is 712 that represents the set of previously cut parts 706 that have been cut. The set of 0s 710 corresponds to a set of "0" pixels, and the set of Is 712 corresponds to a set of "1" pixels.
[0083] The map image 708 can be a binary image that includes pixels that include the set of 0s 710 and the set of Is 712, where the "0" pixels can represent open material sheet for laser cutting, and the "1" pixels can represent a set of dilated previously cut parts that are parts that have been cut. Since the material sheet 142 includes multiple parts, these embodiments are configured to compare the parts to be cut near the previously cut parts in order to detect potential deformations.
[0084] To this end, after processing the current part 144, the embodiments add the morphological dilation of the current part 144 to the map image 708 by flipping the value of the pixels that correspond to the morphological dilation of the current part 144.
[0085] For example, in one embodiment, the value of the pixel corresponding to the current part 144 to be cut is "0". After the current part 144 is cut, the current part 144 is morphologically dilated in order to check for potential deformations in the next part 148 to be cut. The embodiment then changes the value of the pixel of the dilated current part 144 from "0" to "1" in the map image 708. Similarly, the embodiment updates the map image 708 based on the cutting of a part from the material sheet 142 by flipping the value of the pixel of the other dilated part from "0" to "1" as it is cut.
[0086] Some embodiments use a processor and a memory to create a map image 708 of a set of previous parts 706 (e.g., previous part 146) dilated by the kernel 612 for detecting potential deformations. More specifically, after a part is cut, the part is dilated by the kernel 612 based on the application of the morphological dilation operation. Further, the dilated part is added to the map image 708 in order to check for subsequent parts (set of next parts 704) that form a strut with respect to the dilated part.
[0087] Prior to performing a laser cutting operation, the map image 708 includes only a set of 0s 710. The "1" pixel can represent a previous cut space in the material sheet 142 after a previous part (e.g., previous part 146) is cut. Further, in order to flip the pixel from "0" to "1", the embodiment performs a logical OR operation between the map image 708 and the pixels of the dilated current part dilated by the kernel 612 of the morphological dilation operation. Thereafter, when a portion of the final edge 602 of the current part 144 intersects with the previous cut space (i.e., the "1" pixel), the embodiment detects a potential deformation. The intersection can be determined using a logical AND operation of the edge of the current part 144 and the map image 708. The embodiment maintains the map image 708 of the previous cut space based on the logical OR operation of the previous map image and the dilated current part. Further, the embodiment stores a new map image 708 based on the performance of the logical OR operation for detecting potential deformations in subsequent parts.
[0088] FIG. 8 A block diagram illustrating a system 800 for generating G-code that avoids deformation of parts cut from a material sheet by a laser cutting machine is shown, in accordance with some embodiments. Different embodiments use different combinations of the modules of the system 800.
[0089] The system 800 includes an input interface 802 configured to accept cutting data 826 from an external device (not shown) for cutting a part from a sheet of material by the laser cutting machine 118. In addition, the system 800 includes a network interface controller (NIC) 822 adapted to connect the system 800 to a network 824 through the bus 820. Through the network 824 (wirelessly or wired), the system 800 can receive the cutting data 826 and can store the cutting data 826 for use by the G-code generator module 808. The cutting data 826 can be a portion of programmed code (i.e., G-code) to be executed on the laser cutting machine 118 in order to cut a part from a sheet of material. In this case, the G-code generator module 808 outputs modified G-code. Additionally or alternatively, the cutting data 826 can be a portion of design information sufficient to generate G-code. For example, in one implementation, the cutting data 826 includes a computer-aided design (CAD) file such that the G-code generator module 808 executes a computer-aided manufacturing (CAM) program to generate G-code.
[0090] In some implementations, the system 800 is connected to an output interface 816 through the bus 820, which is adapted to connect the system 800 to the laser cutting machine 118 operable based on the G-code generated by the system 800. Thus, the laser cutting machine 118 is operatively coupled to the system 800 such that the laser cutting machine 118 performs operations according to the G-code received from the system 800. In some other implementations, the system 800 is operatively coupled to a plurality of laser cutting machines.
[0091] The system 800 includes a memory 806 that stores instructions executable by the processor 804. The processor 804 can be configured to execute the stored instructions in order to control the operation of the system 800. The processor 804 can be a single core processor, a multi-core processor, a graphics processing unit (GPU), a compute cluster, or any number of other configurations. The memory 806 can include random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory system. The memory 806 stores one or a combination of the modules of the system 800, such as: the G-code generator module 808 configured to generate G-code from modified input G-code; the cutting deformation detection module 810 configured to detect potential deformations; and the deformation preventer module 812 configured to test and select a cutting sequence that avoids potential deformations; the G-code simulator 809 configured to simulate the operation of the laser cutting machine 118 in order to extract a cutting sequence of a part and edges of the part; and the CAM module 811 configured to generate G-code from a CAD file by using the deformation detection module 810 and testing cutting sequences that avoid deformations.
[0092] In some implementations, the system 800 includes an output interface 816 configured to output the generated G-code that avoids potential distortion. The output interface 816 is adapted to connect the system 800 to the laser cutting machine 118. The laser cutting machine 118 receives the generated G-code from the system 800 and performs the laser cutting operation. More specifically, the actuators (i.e., the motors 134) of the laser cutting machine 118 perform the operations of the laser cutting machine 118 based on the G-code generated by the system 800.
[0093] In some implementations, the system 800 is integrated in the laser cutting machine 118 such that the laser cutting machine 118 is a standalone device that generates the modified G-code in order to cut the part from the sheet of material 142 without distortion. Additionally or alternatively, in some embodiments, the generated G-code is transmitted to the storage device 814 (e.g., a file server) via the network 824 in order to store the generated G-code such that the generated G-code can be accessed by other devices (e.g., laser cutting machines or any machine capable of performing a laser cutting operation based on G-code) without the need to communicate with the system 800.
[0094] FIG. 9A A schematic diagram illustrating the transmission of the generated G-code to a plurality of external devices is shown in accordance with some embodiments. In these embodiments, the system 800 is communicatively coupled to the file server 902, the plurality of laser cutting machines 904A, 904B, and 904C, and the cloud server 906 via the communication network 908.
[0095] Each of the plurality of laser cutting machines 904A-904C corresponds to the laser cutting machine 118. The communication network 908 corresponds to the network 824. Accordingly, the description of the plurality of laser cutting machines 904A-904C and the communication network 908 is omitted by the present disclosure for the sake of brevity.
[0096] In some embodiments, the system 800 can transmit the generated G-code to the file server 902 for further access by other devices (e.g., the plurality of laser cutting machines 904A-904C) from the file server 902. The file server 902 is a computer attached to a network (i.e., the network 908) where the file server 902 stores data received from one or more devices (i.e., the system 800) and provides the data to client computers (e.g., the laser cutting machine 118) using the File Transfer Protocol (FTP) or any other suitable communication protocol. The file server 902 can also store the modified G-code for a long period of time such that the modified G-code is accessed in the future for cutting parts having the same specifications.
[0097] In some additional or alternative implementations, the system 800 can send the generated G-code to a cloud server 906. The cloud server 906 is a virtual server running in a cloud computing environment, where cloud computing is the on-demand availability of computer system resources, specifically data storage, servers, software applications, and the like. More specifically, cloud computing provides different services to users via the Internet. Thus, the cloud server 906 stores the modified G-code received from the system 800 via the communication network 908 for future access of the modified G-code. Additionally or alternatively, the G-code is generated on the cloud server. For example, the cloud server 906 receives the cutting data, the original G-code, and / or the design data specifying the geometry of the part, generates the G-code that avoids potential distortions, and sends the generated G-code to a laser cutting machine or a storage.
[0098] FIG. 9B A schematic diagram showing integration of the system 800 that generates the G-code that avoids potential distortions in a cloud computing infrastructure, according to some implementations, is shown. In some implementations of these implementations, the cloud computing infrastructure 912 further includes a laser cutting machine 118 and a remote server 926 connected to each other via a cloud network 916. The cloud computing infrastructure 912 is a collection of hardware and software elements required to implement cloud computing. Cloud computing includes computing power, networking, and storage, as well as an interface for users to access their virtualized resources. Virtual resources mirror physical infrastructure, with components like servers, network switches, memory, and storage clusters. The cloud network 916 is a computer network that provides interconnection between cloud-enabled applications to provide access to virtualized resources. Further, the remote server 926 is configured to store the generated G-code of the system 800. In the cloud computing infrastructure 912, the laser cutting machine 118 can be configured to execute cloud-based applications such that the laser cutting machine 118 is configured to retrieve the generated G-code from the remote server 926 via the cloud network 916. Thus, the laser cutting machine 118 performs the laser cutting operation based on the G-code generated by the system 800 and retrieved from the remote server 926.
[0099] The above description of the example implementations is provided as illustrative only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the above description of the example implementations will provide those skilled in the art with a convenient road map for implementing one or more example implementations. Various changes can be made in the function and arrangement of elements, without departing from the spirit and scope of the disclosed subject matter as set forth in the appended claims.
[0100] In the above description, specific details are given to provide a thorough understanding of the embodiments. However, one skilled in the relevant art will recognize that the embodiments can be practiced without many of the specific details given. For example, the systems, processes, and other elements in the disclosed subject matter can be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques can be shown without detailed description in order to avoid obscuring the embodiments. Additionally, like reference numbers and designations in various drawings indicate like elements.
[0101] In addition, various embodiments can be described and illustrated as a process that is depicted as a flowchart, data flow diagram, structure diagram, or block diagram. Although a flowchart can describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations can be re-arranged. A process is terminated when its operations are completed, but could be terminated without waiting for the very end to occur. A process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0102] Furthermore, embodiments of the disclosed subject matter can be implemented, at least in part, manually or automatically. Manual or automatic implementation can occur concurrently or at separate times. Also, embodiments of the disclosed subject matter can be implemented via one or more machine, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks can be stored in a machine readable medium. Processors(s) can perform the necessary tasks.
[0103] In addition, various methods or processes outlined herein can be encoded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software can be written as (a) an object oriented programming language that utilizes classes, objects, and libraries, (b) utilizing a structured query language, (c) in hardware description languages, or (d) in any other programming language, scripting language, etc. Utilizing a structured query language (e.g., SQL), a relational database management system (RDBMS), a structured query language environment, or the like can be employed. Any of various object-oriented programming languages that
[0104] Embodiments of the disclosure can be embodied as a method, of which an example has been provided. The acts performed as part of the method can be ordered in any suitable way. Accordingly, embodiments can be constructed in which acts are performed in an order different than illustrated, which can include performing some acts simultaneously, even though shown as being performed sequentially in illustrative embodiments.
[0105] While the present disclosure has been described with reference to certain preferred embodiments, it will be understood that various other adjustments and modifications will be made by those skilled in the art. Accordingly, aspects of the appended claims encompass all such variations and modifications as falling within the true spirit and scope of the present disclosure.
Claims
1. A computer-based system for generating G-code to control the operation of a laser cutting machine to cut parts from a sheet of material, the system comprising: A processor configured to, upon receiving cutting data specifying the cutting order of parts and the cutting order of the edges of each part, test the parts for potential deformation caused by cutting based on the cutting data, wherein, in order to test the current part, the processor is configured to... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Modify the cutting order of the edges of the current part; A modified cutting order is selected such that the final edge is not adjacent to any edge of any previously cut part, so that the selected cutting order does not cause potential deformation when cutting the current part; and Generate G-code with a cutting order for the edges of the current part selected to avoid the potential deformation; and An output interface configured to transmit generated G-code via a wired or wireless channel to control the laser cutting machine. The system also includes: An input interface configured to receive input G-codes that specify the operating mode of the laser cutter and the cutting data. The processor is also configured to Interpret the input G-code to extract the cutting data and the laser data; Upon detecting the potential deformation, the cutting order in the cutting data is modified; and The modified cutting data is recombined with the laser data to generate the G-code that avoids the potential deformation.
2. The system according to claim 1, wherein, The cutting data specifies the command for the laser cutting machine to move the laser head to a designated position, wherein the processor executes a simulator stored in a memory operatively connected to the processor to simulate the movement of the laser head in order to determine the cutting sequence of the parts and the cutting sequence of the edges of each part.
3. The system according to claim 1, wherein, The processor changes the cutting order of the edges of the current part from clockwise to counterclockwise or from counterclockwise to clockwise.
4. The system according to claim 1, wherein, The processor modifies the cutting order of the edges of the current part by changing the position of the initial starting point for cutting the edges of the current part.
5. The system according to claim 1, The input interface is also configured to receive design data specifying the geometry of the part to be cut by the laser cutting machine, wherein, The processor is also configured to determine the cutting order of the parts, and is sequentially configured for each part including the current part as follows: Different cutting sequences for the edges of the current part with a specified geometry, for potential deformation testing; Select the cutting sequence of the edges of the current part that will not cause the potential deformation; and The G-code is generated according to the selected cutting order.
6. The system according to claim 1, wherein, The final edge of the current part is the last straight edge that is cut according to the cutting order of the edges of the current part.
7. A computer-based system for generating G-code to control the operation of a laser cutting machine to cut parts from a sheet of material, the system comprising: A processor configured to, upon receiving cutting data specifying the cutting order of parts and the cutting order of the edges of each part, test the parts for potential deformation caused by cutting based on the cutting data, wherein, in order to test the current part, the processor is configured to... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Modify the cutting order of the edges of the current part; A modified cutting order is selected such that the final edge is not adjacent to any edge of any previously cut part, so that the selected cutting order does not cause potential deformation when cutting the current part; and Generate G-code with a cutting order for the edges of the current part selected to avoid the potential deformation; and An output interface configured to transmit generated G-code via a wired or wireless channel to control the laser cutting machine. The processor detects the potential deformation when at least a portion of the final edge of the current part is within the boundary of a shape defined by the morphological expansion of the previously cut part. The core of the morphological expansion is selected based on one or a combination of the cutting speed, the thickness of the material sheet, the laser power, and the type of material forming the material sheet.
8. A computer-based system for generating G-code to control the operation of a laser cutting machine to cut parts from a sheet of material, the system comprising: A processor configured to, upon receiving cutting data specifying the cutting order of parts and the cutting order of the edges of each part, test the parts for potential deformation caused by cutting based on the cutting data, wherein, in order to test the current part, the processor is configured to... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Modify the cutting order of the edges of the current part; A modified cutting order is selected such that the final edge is not adjacent to any edge of any previously cut part, so that the selected cutting order does not cause potential deformation when cutting the current part; and Generate G-code with a cutting order for the edges of the current part selected to avoid the potential deformation; and An output interface configured to transmit generated G-code via a wired or wireless channel to control the laser cutting machine. The processor maintains a binary image of the material sheet, wherein pixels in the binary image corresponding to the position of the previously cut part expanded by the kernel through morphological dilation have a value, and all other pixels have different values, wherein the processor detects the potential deformation when at least a portion of the final edge of the current part is within the boundary of the previously cut space.
9. The system according to claim 8, wherein, After processing the current part, the processor adds the morphological dilation of the current part to the previously cut space of the binary image by flipping the value of the pixel corresponding to the morphological dilation of the current part.
10. A computer-based system for generating G-code to control the operation of a laser cutting machine to cut parts from a sheet of material, the system comprising: A processor configured to, upon receiving cutting data specifying the cutting order of parts and the cutting order of the edges of each part, test the parts for potential deformation caused by cutting based on the cutting data, wherein, in order to test the current part, the processor is configured to... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Modify the cutting order of the edges of the current part; A modified cutting order is selected such that the final edge is not adjacent to any edge of any previously cut part, so that the selected cutting order does not cause potential deformation when cutting the current part; and Generate G-code with a cutting order for the edges of the current part selected to avoid the potential deformation; and An output interface configured to transmit generated G-code via a wired or wireless channel to control the laser cutting machine. The cutting sequence specifies the cutting from the starting corner of the material sheet to the opposite corner on the diagonal of the material sheet, and wherein, in the generated G-code, the final edge cut for each part is closer to the opposite corner on the diagonal of the sheet than to the original corner on the sheet.
11. A laser cutting machine operatively connected to the system according to any one of claims 1, 7, 8, and 10, the laser cutting machine comprising: An actuator configured to perform the operation of the laser cutting machine according to the generated G-code.
12. A cloud computing infrastructure, comprising: The system, the laser cutter, the remote server, and the G-code generator according to any one of claims 1, 7, 8, and 10, wherein the system according to any one of claims 1, 7, 8, and 10 is configured to modify the G-code received from the G-code generator to generate the G-code that avoids the potential deformation and to store the generated G-code at the remote server, wherein the laser cutter is configured to retrieve the generated G-code from the remote server.
13. A cloud computing infrastructure, comprising: The system, the laser cutting machine, the remote server, and the G-code generator according to any one of claims 1, 7, 8, and 10, wherein the system according to any one of claims 1, 7, 8, and 10 is configured to select a cutting sequence for the edges of each part that does not cause the potential deformation, pass the selected cutting sequence to the G-code generator, and store the generated G-code at the remote server, wherein the laser cutting machine is configured to retrieve the generated G-code from the remote server.
14. A method for reducing deformation of parts cut from sheet material by a laser cutting machine, wherein, This method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor, perform the steps of the method, the method including the following steps: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The method also includes the following steps: Receive input G-codes that include laser data and cutting data specifying the operating mode of the laser cutting machine. The steps for testing the current part also include Interpret the input G-code to extract the cutting data and the laser data; Upon detecting the potential deformation, the cutting order in the cutting data is modified; and The modified cutting data is recombined with the laser data to generate the G-code that avoids the potential deformation.
15. The method according to claim 14, wherein, The memory maintains a binary image of the material sheet, wherein pixels in the binary image corresponding to the position of the previously cut part, which is expanded by the kernel through morphological expansion, have values different from those of other pixels, wherein the method detects the potential deformation when a portion of the final edge of the current part intersects the previously cut space.
16. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a processor to perform a method for reducing deformation of parts cut from a sheet of material by a laser cutting machine, the method comprising the steps of: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The method also includes the following steps: Receive input G-codes that include laser data and cutting data specifying the operating mode of the laser cutting machine. The steps for testing the current part also include Interpret the input G-code to extract the cutting data and the laser data; Upon detecting the potential deformation, the cutting order in the cutting data is modified; and The modified cutting data is recombined with the laser data to generate the G-code that avoids the potential deformation.
17. A method for reducing deformation of parts cut from sheet material by a laser cutting machine, wherein, This method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor, perform the steps of the method, the method including the following steps: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The method also includes the following steps: The potential deformation is detected when at least a portion of the final edge of the current part is within the boundary of the shape defined by the morphological expansion of the previously cut part; The core of the morphological expansion is selected based on one or a combination of the cutting speed, the thickness of the material sheet, the laser power, and the type of material forming the material sheet.
18. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a processor to perform a method for reducing deformation of parts cut from a sheet of material by a laser cutting machine, the method comprising the steps of: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The method also includes the following steps: The potential deformation is detected when at least a portion of the final edge of the current part is within the boundary of the shape defined by the morphological expansion of the previously cut part; The core of the morphological expansion is selected based on one or a combination of the cutting speed, the thickness of the material sheet, the laser power, and the type of material forming the material sheet.
19. A method for reducing deformation of parts cut from sheet material by a laser cutting machine, wherein, This method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor, perform the steps of the method, the method including the following steps: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The method also includes the following steps: Maintain a binary image of the material sheet, wherein pixels in the binary image corresponding to the position of the previously cut part expanded by the kernel through morphological expansion have a value, and all other pixels have different values, wherein the potential deformation is detected when at least a portion of the final edge of the current part is within the boundary of the previously cut space.
20. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a processor to perform a method for reducing deformation of parts cut from a sheet of material by a laser cutting machine, the method comprising the steps of: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The method also includes the following steps: Maintain a binary image of the material sheet, wherein pixels in the binary image corresponding to the position of the previously cut part expanded by the kernel through morphological expansion have a value, and all other pixels have different values, wherein the potential deformation is detected when at least a portion of the final edge of the current part is within the boundary of the previously cut space.
21. A method for reducing deformation of parts cut from sheet material by a laser cutting machine, wherein, This method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor, perform the steps of the method, the method including the following steps: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The cutting sequence specifies the cutting from the starting corner of the material sheet to the opposite corner on the diagonal of the material sheet, and wherein, in the generated G-code, the final edge cut for each part is closer to the opposite corner on the diagonal of the sheet than to the original corner on the sheet.
22. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a processor to perform a method for reducing deformation of parts cut from a sheet of material by a laser cutting machine, the method comprising the steps of: The parts are tested for potential deformation during cutting according to the cutting sequence of the parts and the cutting sequence of the edges of each part. The steps for testing the current part include... When the final edge of the current part is adjacent to the edge of a previously cut part that was cut before the current part according to the cutting order of the parts, a potential deformation of the final edge of the current part that was cut according to the cutting order of the current part is detected. Select the cutting order of the edges of the current part such that the final edge is not adjacent to any edge of any previously cut part; and Generate G-code with the selected cutting order of the said edges; and The generated G-code is transmitted via a wired or wireless channel to control the laser cutting machine. The cutting sequence specifies the cutting from the starting corner of the material sheet to the opposite corner on the diagonal of the material sheet, and wherein, in the generated G-code, the final edge cut for each part is closer to the opposite corner on the diagonal of the sheet than to the original corner on the sheet.
Citation Information
Patent Citations
Laser beam machine and laser beam machining method
JP2018126764A