BACKGROUND OF THE INVENTION
The current state of the art for shaping metal plates, such as those used in the naval shipbuilding industry to create ship hull, is a largely manual process that requires exceptionally skilled craftsmen with years of experience to complete. Even at the hands of experts, manually-shaped plates sometimes require additional metalworking if they fail to adhere to strict specifications. Using a torch, a worker will apply heat to a plate in a particular pattern and then cool the plate with a water hose in order to move stresses around in a plate to acquire the desired shape. In other cases, a press can be used by an operator to assist in shaping; however, press bending is typically incapable of outputting complex or curved plate shapes, such as those commonly joined together to form portions of the hull on or near the bow or keel of large naval vessels or Coast Guard cutters. In order to improve the technical field of shipbuilding by more accurately and efficiently crafting the metal sheet components used in naval shipbuilding, a solution is needed to at least partially automate the plate shaping process and ensure a high degree of accuracy against technical specifications.
SUMMARY
A high-level overview of various aspects of embodiments of the invention is provided here to provide an overview of the disclosure and to introduce a selection of concepts that are further described below in the detailed description section. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in isolation to determine the scope of the claimed subject matter.
In its broadest sense, the invention includes the use of a robotic-based automated thermal plate forming system to shape steel plates and verify a shaped plate's congruence with technical specifications. More specifically, the thermal plate forming system comprises several hardware components that are used to hold, shape, and monitor a metal plate, and path planning software that selects and implements thermal shaping operations. The plate forming system obtains and compares a current shape of the plate with a target shape, selects one or more heating patterns, and executes the selected one or more heating patterns by applying heat to a first surface of the plate and a liquid coolant to a second surface of the plate. After a certain number of heating patterns have been performed on the plate, an updated shape is obtained and compared and the process repeats until the plate is within prescribed tolerances of a target specification or target shape. The automation of shaping plates significantly decreases production time compared to conventional, manual shaping methods, and it is more precise—improving production efficiency of items with shaped metal components such as the hulls of naval vessels. That is, the present disclosure transforms unshaped or incompletely shaped metal plates into precision-shaped metal components used in naval shipbuilding.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Illustrative embodiments of the present invention are described in detail below with reference to the included drawing figures, wherein:
FIG. 1 illustrates an exemplary system used for automated plate shaping, implemented in accordance with embodiments of the present invention;
FIG. 2 illustrates an automated plate shaping and verification system, implemented in accordance with an embodiment of the present invention;
FIGS. 3A-3C illustrates plastic deformation suitable for use with aspects of the present disclosure;
FIGS. 4A-4C illustrate a mesh analysis suitable for use with aspects of the present disclosure;
FIGS. 5A-5D illustrate the effects of plastic deformation on a metal plate, for use with aspects of the present disclosure;
FIGS. 6A-6C illustrate line heating patterns for use with aspects of the present disclosure;
FIGS. 7A-7C illustrate triangle heating patters for use with aspects of the present disclosure;
FIGS. 8A-8C illustrate diamond heating patterns for use with aspects of the present disclosure; and
FIG. 9 is a flow chart representing method for use with automated plate shaping and verification, implemented in accordance with embodiments of the present invention.
DETAILED DESCRIPTION
Embodiments of the present invention relate generally to an automated plate shaping and verification system. A plate holding subsystem may comprise a table or series of jack stands to keep a work piece stable while it being heated and shaped. A robotic heating system may comprise a robotic arm capable of freely moving a heating component and one or more monitoring components about a top-facing first surface of the work piece. A quenching system may comprise a plurality of jets configured to spray a liquid coolant on a bottom-facing second surface of the work piece. A path planning subsystem compares a measured shape of the work piece with a target shape or target specification and selects one or more heating patterns to be performed on the work piece. A deformation database is used by the path planning subsystem in order to predict the effect of the one or more heating patterns to aid in the selection process prior to executing the one or more heating patterns on the work piece. A cycle of measuring the work piece, selecting one or more heating patterns, and heating the plate repeats until the work piece is within a predetermined tolerance of the target shape or specification.
Accordingly, a first aspect of the present disclosure is directed to a system for automated plate shaping and verification. The system comprises a heating element coupled to a robotic arm. The system additionally comprises one or more quenching components configured to expel a liquid coolant on to a metal work piece. The system additionally comprises one or more computer processing components configured to execute operations, wherein the operations comprise determining an amount of deviation between a present shape of the metal work piece and a target shape at each node of a plurality of nodes. The operations additionally comprise generating a plurality of candidate heating paths at a heating location, wherein the heating location comprises a node of the plurality of nodes having the greatest amount of deviation. The operations additionally comprise modeling an estimated deformation of the metal work piece for each of at least a portion of the plurality of candidate heating paths. The operations additionally comprise selecting a first candidate heating path based on the estimated deformation of the work piece as a result of the first candidate heating path, wherein the estimated deformation of the work piece caused by the first candidate heating path is estimated to transform the work piece from a present shape to a second shape. The operations additionally comprise causing the heating element to heat a first surface according to the first candidate heating path and deform the metal work piece.
In another aspect, a method is provided for automated plate shaping and verification. The method comprises determining an amount of deviation between a first shape of a metal work piece and a target shape at each node of a plurality of nodes. The method further comprises generating a plurality of candidate heating paths at a heating location, wherein the heating location comprises a node of the plurality of nodes having the greatest amount of deviation. The method further comprises modeling an estimated deformation of the metal work piece for each candidate heating path of the plurality of candidate heating paths. The method further comprises. The method further comprises selecting a first candidate heating path based on a determination that the estimated deformation caused by the first candidate heating path is estimated to transform the work piece from the first shape to a second shape. The method further comprises communicating an instruction to a robotic arm of an automated plate shaping system to heat a first surface of a metal work piece, using a heating component coupled to the robotic arm, according to the first candidate heating path.
In yet another aspect, one or more non-transitory computer readable media having computer-executable instructions stored thereon are provided that, when executed by one or more computer processing components, cause an automated shaping system to perform a method for shaping a metal work piece. The method comprises determining an amount of deviation between a first shape of a metal work piece and a target shape at each node of a plurality of nodes. The method further comprises generating a plurality of candidate heating paths at a heating location, wherein the heating location comprises a node of the plurality of nodes having the greatest amount of deviation. The method further comprises modeling an estimated deformation of the metal work piece for each of at least a portion of the plurality of candidate heating paths. The method further comprises selecting a first candidate heating path based on a determination that the estimated deformation caused by the first candidate heating path is estimated to transform the work piece from the first shape to a second shape. The method further comprises communicating an instruction to a robotic arm of an automated plate shaping system to heat a first surface of a metal work piece using a heating component coupled to the robotic arm, according to the first candidate heating path.
Embodiments of the technology described herein may be embodied as, among other things, a method, system, or computer-program product. Accordingly, the embodiments may take the form of a hardware embodiment, or an embodiment combining software and hardware. An embodiment takes the form of a computer-program product that includes computer-useable instructions embodied on one or more computer-readable media that may cause one or more computer processing components to perform particular operations or functions.
Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplate media readable by a database, a switch, and various other network devices. Network switches, routers, and related components are conventional in nature, as are means of communicating with the same. By way of example, and not limitation, computer-readable media comprises computer-storage media. Computer-storage media, or machine-readable media, include media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions, data structures, program modules, and other data representations. Computer-storage media include, but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD), holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, and other magnetic storage devices. These memory components can store data momentarily, temporarily, or permanently.
Turning now to FIG. 1, an illustration of an exemplary system for automated plate shaping and verification is shown. The automated plate shaping system 100 may comprise one or more subsystems that hold, shape, and monitor a metallic work piece 102. At a high level, the automated plate shaping system 100 comprises a heating subsystem, a plate holding subsystem, a quenching subsystem, and a path planning subsystem.
The heating subsystem 110 is configured to manipulate a heating component proximate to the work piece 102. The heating subsystem may operate by way of a multi-dimensional positioning system (e.g., a robotic arm or multi-axis overhead gantry system) that is generally configured to move the heating component to various portions of the work piece 102 without the need to manipulate the work piece 102. For example, the heating subsystem may operate by way of a robotic arm 114 that can be steered along a track 112 and which can be configured to operate with a desired number of degrees of freedom by implementing the robotic arm 114 with an appropriately corresponding number of axes of freedom (e.g., a six-axis robotic arm that is capable of operating with six degrees of freedom). Coupled to the robotic arm 114, the heating subsystem 110 comprises a heating component 116. In some aspects the heating element 116 may take the form of an induction heating system; however, any desirable means for heating a plate may be used, such as flame heating. In aspects where the heating element 116 takes the form of an induction heater, the heating element may comprise a water-cooled copper coil inner ring and a magnetic concentrator outer ring. The heating element 116 may be coupled to the robotic arm 114 via a standoff arm 115; the standoff arm 115 is configured to extend from or retract into a housing 117 in order to maintain a prescribed heating standoff distance 118 between the heating element 116 and a first surface 104 of the work piece 102.
The automated plate shaping system 100 may comprise one or measurement components to facilitate the accurate heating of the work piece 102 and to provide information necessary to verify compliance of the final shape of the work piece 102 with a target shape or specifications. In some aspects, the one or more measurement components may be coupled to the robotic arm 114 (with or without intermediary structure) and may comprise one or more 3D scanning components 120. The one or more 3D scanning components 120 may take the form of a 3D camera, a 2D camera, laser scanner, ultrasonic scanner, or any other similar component that is capable of accurately obtaining measurements of the work piece 102, including plate curvature or depth/heights at a plurality of Cartesian nodes. The one or more measurement components may additionally comprise a temperature sensor 122, such as an infrared or laser thermometer that is configured to provide temperature information to one or more controlling components. The one or more measurement components may additionally comprise a distance sensor 124, such as a laser distance sensor or the like, configured to ensure that the heating element 116 is positioned at the prescribed heating standoff distance 118 from the first surface 104 of the work piece 102.
The plate holding subsystem is generally configured to hold the work piece 102 in place while it is being shaped by the automated plate shaping system 100. The plate holding subsystem comprises a table 130 and a plurality of jack stands 131 (e.g., 3, 4, or more). The table 130 is sized according to the maximum desirable dimensions of work pieces (e.g., a table accommodating a maximally sized work piece of 12 feet by 6 feet may be 14 feet by 8 feet). The table 130 the plurality of jack stands 131, wherein each of the plurality of jack stands 131 are configured to extend outward (i.e., upward) from the table 130 or retract inward (i.e., downward) into the table 130 in order to provide stability to the work piece 102 as it is shaped. Each of the plurality of jack stands 131 may be manually operated wherein they can be extended or retracted, they may be automatically operated (e.g., using an embedded/integrated distance sensor in each jack of the plurality of jack stands 131) so as to automatically extend/retract to provide constant support to the work piece 102 as it changes shape, or they may semi-automatically operated (e.g., extending/retracting each jack of the plurality of jack stands 131 until a change in resistance is detected). In addition to housing the plurality of jack stands 131, the table 130 additionally houses at least a portion of the quenching subsystem.
The quenching subsystem is generally configured to cool the second surface 106 of the work piece 102 as it is being shaped by the automated plate shaping system 100. The quenching subsystem accomplishes cooling the second surface 106 by applying a liquid coolant (e.g., water) directly to the second surface 106 of the work piece 102. In some aspects, the quenching subsystem comprises one or more coolant applicators 132, an applicator piping 134, supply piping 136, supply 138, drain 140, and return piping 142. The one or more coolant applicators 132 are configured to expel liquid coolant and apply it to the second surface 102 of the work piece 102, and may take the form of a nozzle or sprayer. Any desirable number of coolant applicators may be used (e.g., 40), and they may be static (i.e., configured in a fixed position to apply liquid coolant in a fixed direction and fixed pattern) or dynamic (i.e., configured to spray in different patterns and/or different directions). The applicator piping 134 provides a means for supplying liquid coolant to each applicator of the one or more coolant applicators 132. The supply piping 136 provides a means for supplying the liquid coolant from the supply 138 to the applicator piping 134. The supply 138 is a powered component that creates enough pressure, such as by using a pump, to expel the liquid coolant through the supply piping 136, applicator piping 134 and out the one or more coolant applicators 132. The supply 138 may additionally be equipped with a heat exchanger or other mechanism that is configured to remove heat from coolant returned to the supply 138. The drain 140 provides a means for liquid coolant to return to the supply 138 from the table 130 after it has been applied to the second surface 106 of the work piece 102. The return piping 142 provides the returned liquid coolant to the supply 138. The constant or near-constant circulation of liquid coolant through the quenching system and application to the second surface 106 of the work piece 102 provides a cooling effect to the work piece 102 and facilitates the deformation-based shaping following the local heating of the first surface 104 of the work piece 102.
Turning to FIGS. 3A-3C, the mode of thermal shaping used by the automated plate shaping system 100 of FIG. 1 is illustrated. FIG. 3A illustrates of a first step of a plastic deformation created by applying heat 302 from a heat source, such as the heating component 116 of FIG. 1, to the first surface 104 of the work piece 102. When the work piece 102 is in a flat (i.e., un-deformed) state, it may be said that the work piece 102 is substantially evenly bisected by an x-y (z=0) plane 304. In FIG. 3B, the area to which the heat 302 of FIG. 3A has been applied creates an area of local expansion 312 on the first surface 104 of the work piece 102. As the work piece 102 cools, FIG. 3C illustrates how it deforms about the area of local expansion 312, which cools to form a deformed area 314; when the first surface 104 is heated (without heating uniformly through to the second surface 106) and cooled, the result is that the work piece 102 deforms such that a first amount of material thickness 316 exists above the axis 304 and a second amount of material thickness 318 exists below the axis 304, wherein the first amount 316 is greater than the second amount 318. The principle of thermal-based plastic deformation is used by conventional (manual) methods and the automated plate shaping system 100 of FIGS. 1-2.
Turning now to FIG. 2, the automated plate shaping system 100 is illustrated with the path planning subsystem. The path planning subsystem is generally configured to select and implement one or more heating patterns on the work piece 102. The path planning subsystem may be said to comprise one or more computer processing components taking the form a path planning module 202 and a database 214. Each of the path planning module 202 and database 214 are shown as a single entity; however, it should be noted that each may take the form of multiple or distributed components. For example, the path planning module 202 is illustrated and discussed as comprising four components, divided and discussed according to their functionality; however, said components may consolidated or divided further without departing from the concepts conceived by the present disclosure. Similarly, each of a 3D modeler 204, an inverse solver 206, a forward solver 208, and a controller 210 may take any desirable form for implementing the functionality described herein, including one or more hardware computer processing components, software stacks operating on general or specialized computer processors, or any combination thereof.
The 3D modeler 204 is configured to create or provide a 3D model of a target shape and a current work piece shape to other components of the path planning subsystem 202. In a first aspect, the 3D modeler 204 is configured to fetch a model 212 (e.g., a computer aided design (CAD) model or a specification) of a target (i.e., finished) plate from a database such as database 214. The 3D modeler 204 may conduct finite element mesh analysis of the target shape in order to create a point cloud, wherein the output comprises a three dimensional (x,y,z) model of the target shape with a predetermined number of nodes, as best seen in FIG. 4A. FIG. 4A illustrates a target plate 402 that has undergone finite mesh analysis. In order to conduct the finite element analysis, the 3D modeler 204 may receive an input for a user that specifies the node spacing or the number of total nodes to be created; for example, the finite element mesh analysis may be performed in order to create a plurality of Cartesian nodes, such as a first node 422, a second node 408, and a third node 409, wherein an x-axis spacing 410 separates nodes that are adjacent on axes 404 parallel to the x-axis and a y-axis spacing 412 separates nodes that are adjacent on an axes 406 parallel to the y-axis. The finite element analysis may be referenced to a corner of the plate, a point selected by the user, or a center point such as center node 414. The node spacing may be defined by the user or a pre-programmed value may be used (e.g., 2 inches), and the x-axis spacing 410 and the y-axis spacing may be the same or different. Each node created by the 3D modeler will thus have a three dimensional value representing the Cartesian node location and a height (representing deformation from the x-y plane); for example, if the target shape was a flat plate (i.e., with no deformation) it would have a plurality of nodes, wherein each node had a z value of “0.” As illustrated by FIG. 4B, the 3D modeler 204 of FIG. 2 may further be configured to flatten the target shape 402 of FIG. 4A to create a starting geometry/shape 420, wherein the starting shape is a flat (i.e., z=0) or minimally deformed plate that, when deformed, may become the target shape 402 without requiring the further removal of any significant amounts of the plate material (e.g., along the perimeter of the plate).
The 3D modeler 204 of FIG. 2 is additionally configured to generate a model of a work piece, such as the work piece 102 that is being shaped by the automated plate shaping system 100 of FIGS. 1-2. In one aspect, the 3D modeler 204 of FIG. 2 receives scan information from the one or more scanning components 120 of FIG. 1. The scan information may contain a plurality of images or any other data form, dictated by the selection of scanning components. The 3D modeler 204 of FIG. 2 compiles, smooths, or otherwise processes the scan information to create a three dimensional representation of the work piece 102 of FIG. 1 using the same finite element mesh analysis used to create a 3D model of the target shape 402 of FIG. 4A. Turning to FIG. 4C, a flat plate comprising the starting shape 420 may be modeled by the 3D modeler 204 of FIG. 2 to create a point cloud having the same node spacing as the target shape 402 of FIG. 4A. For example, each of the first node 422, second node 408, third node 409 and the center node 422 will have the same x and y values on the starting plate 420 as the target shape 402; however, the z values of each of said nodes would be “0” on the starting plate 420 and one or more of said nodes would have a different z value on the target shape—defining the need for the starting plate 420 to be deformed in order to become the target shape 402.
Returning to FIG. 2, the inverse solver 206 is primarily configured to create candidate heating paths that can be modeled by the forward solver 208 and select a heating path from the candidate heating paths based on the output from the forward solver 208. Each candidate heating path selected by the inverse solver 206 comprises a heating location, heating pattern, and heating parameters. The inverse solver 206 creates a candidate heating path by first determining a heating location by identifying a node having the greatest difference between the target shape (such as the target shape 402 of FIG. 4A) and a present shape (as provided by the 3D modeler 204 of FIG. 2). For example, the first node 422 of FIGS. 4A and 4C may have the greatest “z” value difference and be selected as the heating location of the candidate heating path. Though the heating location is configurable without departing from the scope of the present disclosure, it is envisioned that the inverse solver 206 of FIG. 2 is programmed to generate a candidate heating path using the heating location (e.g., the first node 422 of FIGS. 4A and 4C) as the center of heating patterns available to the inverse solver 206.
The inverse solver 206 may be pre-programmed with various types of heating patterns, or a user may input a selection of certain types of heating patterns that may be considered by the inverse solver 206. Examples of suitable types of heating patterns include lines, triangles, and diamonds. That is, the heating component 116 of FIG. 1 can be caused to travel along the first surface 104 of the work piece 102 in the shape of a line, triangle, or diamond in order to carry out thermal-based plastic deformation. Turning to FIGS. 5A-5D, suitable types of heating patterns and their corresponding effects on the work piece 102 of FIGS. 1-2 are illustrated that may be selected by the inverse solver 206 of FIG. 2. FIG. 5A illustrates the work piece 102 of FIGS. 1-2, and represents a flat plate for the purposes of isolating the illustrative effects of certain heating patterns illustrated in FIGS. 5B-5D; however, one skilled in the art will appreciate that the heating patterns discussed herein will be applied to the work piece 102 when it is not in a uniformly flat condition in order to cause the work piece to continually deform until it is within tolerances of a target shape or target specification. FIG. 5B illustrates a line type heating pattern 502 centered on a heating location 501 and its corresponding effect on the work piece 102 upon cooling. FIG. 5C illustrates a triangle type heating pattern 504 centered on the heating location 501 and its corresponding effect on the work piece 102 upon cooling. FIG. 5D illustrates a diamond type heating pattern 506 centered on the heating location 501 and its corresponding effect on the work piece 102 upon cooling. In addition to the type of heating pattern, the heating pattern portion of a candidate heating path will comprise one or more heating pattern orientation variables that can be modified to have different effects on a work piece.
The heating pattern orientation variables available to the inverse solver 206 of FIG. 2 when selecting a line type heating pattern are illustrated with respect to FIGS. 6A-6C. FIG. 6A illustrates the work piece 420 of FIG. 4B-C with the first node 422, wherein the first node 422 represents the heating location portion of the candidate heating path described with respect to FIG. 4C. Turning to FIG. 6B, one heating pattern orientation variable for a line type heating pattern is illustrated, comprising a line orientation, and focused in an area 602 of the work piece 420. The line orientation is defined as an angular distance from a reference axis, such as the illustrated y axis; for example, a first line orientation 602 has a first angular distance 610, a second line orientation 604 has a second angular distance 612, and a third line orientation 606 has a third angular distance 614, wherein an angular spacing 616 separates adjacent line orientations (e.g., the first line orientation 602 and the second line orientation 604). In aspects, the angular distance 616 may be the same between each pair of adjacent line orientations (i.e., the first angular distance 610 is half the second angular distance 612 and a third of the third angular distance 614). In other aspects, the angular distance 616 may be different between each pair of adjacent line orientations. The angular distance may be configurable/input by a user or pre-configured, and may be in any desirable range from 0-90 degrees (e.g., 5, 10, or 15 degrees).
In addition to the line orientation, the inverse solver 206 of FIG. 2 may utilize line type heating patterns with varying lengths, as illustrated by FIG. 6C. A candidate heating path 620 with a heating location centered on the first node 422 has a variable length 622. In aspects, the length 622 of the candidate heating path 620 may be preset or configurable/input to have a prescribed increment; for example, the length 622 may vary in increments ranging from a few inches to several feet (e.g., increments of 1, 2, 3, or 4 feet). That is, if the increment is 2 feet, different candidate heating paths with a heating location of the first node 422 would have a length 622 of 2 feet, 4 feet, 6 feet, etc. until the length 622 extends the full length of the work piece 420.
In an illustrative but non-limiting example, the inverse solver 206 of FIG. 2 may be configured to vary both the orientation and length of line type heating patterns, and both variables may be configurable by a user as an input. For instance, the user may input an incremental angular distance of 15 degrees and an incremental length of 2 feet. The heating location may be constant at the first node 422 and configured to be the center of each candidate heating path, and may be located in the center of the work piece 420 having dimensions of 4 feet by 4 feet. Because a candidate heating path having an angular distance of 270 degrees is the same as a candidate heating path having an angular distance of 90 degrees, the inverse solver 206 would create 4 candidate heating paths for each angular distance of 90 and 180 degrees (2 feet, 4 feet, 6 feet, and edge-to-edge 8 feet). The inverse solver 206 would create 5 candidate heating patterns for each angular distance of 15, 30, 45, 60, 75, 105, 120, 135, 150, and 165, degrees (2, 4, 6, and 8 feet, as well as an 8+ foot length going from edge to edge). So, for the given example, the inverse solver 206 would create 58 candidate heating paths of the line type heating pattern, (having the same heating location and constant heating parameters). One skilled in the art would appreciate that this manner of limiting candidate heating paths will avoid over-burdening the one or more computer processing components comprising the path planning subsystem 202 and ensure timely execution of the path planning analysis described herein.
Variables available to the inverse solver 206 of FIG. 2 when selecting a triangle type heating pattern are illustrated with respect to FIGS. 7A-7C. FIG. 7A illustrates the work piece 420 of FIG. 4B-C with the first node 422, wherein the first node 422 represents the heating location portion of the candidate heating path described with respect to FIG. 4C. Turning to FIG. 7B, one heating pattern orientation variable for a triangle type heating pattern is illustrated, comprising a triangle orientation, and focused in an area 702 of the work piece 420. The triangle orientation is defined as an angular distance between an apex 708 of the triangle and a reference axis, such as the illustrated y axis; for example, a first triangle orientation 704 has a first angular distance of zero, a second triangle orientation 710 has a second angular distance 714, and a third triangle orientation 720 has a third angular distance 724, wherein an angular spacing separates adjacent triangle orientations (e.g., the first triangle orientation 704 and the second triangle orientation 710). In aspects, the angular distance may be the same between each pair of adjacent triangle orientations; in other aspects, the angular distance may be different between each pair of adjacent triangle orientations. Though illustrated as being 45 degrees for the sake of clarity, the angular distance may be configurable/input by a user or pre-configured, and may be in any desirable range from 0-90 degrees (e.g., 5, 10, 15, 30, or 45 degrees). In aspects where the triangle type heating pattern takes the form of an equilateral triangle, one skilled in the art would recognize that the inverse solver 206 of FIG. 2 need only create candidate heating paths for triangles having an orientation in the range of 0-120 degrees (at which point the triangle patterns will overlap with a previous pattern); however, in aspects where the triangle type heating pattern takes the form of an isosceles triangle, the inverse solver 206 will create candidate heating patterns having orientations in the full range of 0-360 degrees due to a lack of overlap.
In addition to the triangle orientation, the inverse solver 206 of FIG. 2 may utilize triangle type heating patterns with varying side lengths, as illustrated by FIG. 7C. A candidate heating path 704 with a heating location centered on the first node 422 has variable lengths for each of a first side 705, a second side 706, and a third side 707. As illustrated, the candidate heating path 704 take the form of an equilateral triangle, wherein each of the first side 705, the second side 706, and the third side 707 are equal; however, the inverse solver 206 of FIG. 2 may be configured (or receive an input by a user) to utilize differently shaped triangles, such as an isosceles triangle, wherein the second side 706 is equal to the third side 707 and the first side 705 is unequal to the second side 706 and the third side 707. In another aspect, the aspect of triangle heating patterns may be pre-configured (e.g., preset with a particular ratio between the first side 705 and each of the second side 706 and the third side 707) and a configurable variable or input may dictate the size (i.e., area) of the triangle. In yet other aspects, the length of each side of the triangle heating pattern may be fixed (e.g., pre-configured as an isosceles triangle with the first side 705 length equal to 2 inches and each of the second side 706 length and the third side 707 length equal to 9 inches).
In an illustrative but non-limiting example, the inverse solver 206 of FIG. 2 may be configured to vary the orientation of a triangle type heating pattern based on user input and utilize a pre-configured size of an isosceles triangle having a base length of 2 inches and the other two sides having a length of 9 inches. For instance, the user may input an incremental angular distance of 15 degrees. The heating location may be constant at the first node 422 and configured to be the center of each candidate heating path, and may be located sufficiently from an edge of the work piece 420 whereas to avoid any portion of any candidate heating pattern from extending off the work piece 420. Spacing an apex of candidate triangle heating patterns every 15 degrees would accordingly yield 23 candidate heating paths, wherein the apex would have an angular distance of 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300, 330, and 360/0 degrees from a reference axis (each having the same heating location, constant heating parameters, and constant size/side lengths).
Variables available to the inverse solver 206 of FIG. 2 when selecting a diamond type heating pattern are illustrated with respect to FIGS. 8A-8C. FIG. 8A illustrates the work piece 420 of FIG. 4B-C with the first node 422, wherein the first node 422 represents the heating location portion of the candidate heating path described with respect to FIG. 4C. Turning to FIG. 8B, a heating pattern orientation variable for a diamond type heating pattern is illustrated, comprising a diamond orientation, and focused in an area 702 of the work piece 420. The diamond orientation is defined as an angular distance between an apex 804 of the diamond and a reference axis, such as the illustrated y axis; for example, a first diamond orientation 802 has a first angular distance of zero and a second diamond orientation 810 has a second angular distance 814, wherein an angular spacing separates adjacent diamond orientations (e.g., the first diamond orientation 802 and the second diamond orientation 810). In aspects, the angular distance may be the same between each pair of adjacent diamond orientations; in other aspects, the angular distance may be different between each pair of adjacent diamond orientations. Though illustrated as being 45 degrees for the sake of clarity, the angular distance may be configurable/input by a user or pre-configured, and may be in any desirable range from 0-90 degrees (e.g., 5, 10, 15, 30, or 45 degrees). In aspects where the diamond type heating pattern takes the form of a square, one skilled in the art would recognize that the inverse solver 206 of FIG. 2 need only create candidate heating paths for triangles having an orientation in the range of 0-90 degrees (at which point the diamond patterns will overlap with a previous pattern); however, in aspects where the diamond type heating pattern takes the form of a non-square rhombus, the inverse solver 206 will create candidate heating patterns having orientations in the range of 0-180 degrees due to a reduced prevalence of overlap.
In addition to the triangle orientation, the inverse solver 206 of FIG. 2 may utilize diamond type heating patterns with varying aspects, as illustrated by FIG. 8C. A candidate heating path 802 with a heating location centered on the first node 422 has four sides 805 with equal lengths. As illustrated, the candidate heating path 802 takes the form of a square, wherein a first distance between the apex 804 and a second point 807 is equal to a second distance between a third point 808 and a fourth point 809. In other aspects, the candidate heating path 802 takes the form of a rhombus, wherein the first distance is different than the second distance. The inverse solver 206 of FIG. 2 may be configured (or receive an input by a user) to utilize differently shaped and/or differently sized diamond patterns. In other aspects, the inverse solver 206 may be pre-configured to utilize dimensions for a diamond heating pattern based on the configuration of triangle heating patterns discussed with respect to FIGS. 7A-7C, wherein the diamond heating pattern of FIGS. 8A-8C is created by joining the base side of two triangle heating patterns; for example, if a triangle heating pattern had a constant base length of 2 inches and other side lengths of 9 inches, a resulting diamond would have sides 805 with a length of 9 inches, a first distance of 17.8 inches and a second distance of 2 inches. In another aspect, the aspect of diamond heating patterns may be pre-configured (e.g., preset with a particular ratio between the first distance and the second distance) and a configurable variable or input may dictate the size (i.e., area) of the diamond.
In an illustrative but non-limiting example, the inverse solver 206 of FIG. 2 may be configured to vary the orientation of a diamond type heating pattern based on user input and utilize a pre-configured shape and size of a rhombus having side lengths of 9 inches, a major axis length of 17.8 inches, and a minor axis length of 2 inches). For instance, the user may input an incremental angular distance of 15 degrees. The heating location may be constant at the first node 422 and configured to be the center of each candidate heating path, and may be located sufficiently from an edge of the work piece 420 whereas to avoid any portion of any candidate heating pattern from extending off the work piece 420. Spacing an apex of candidate diamond heating patterns every 15 degrees would accordingly yield 12 candidate heating paths, wherein the apex would have an angular distance of 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, and 180 degrees from a reference axis (each having the same heating location, constant heating parameters, and constant size/side lengths).
Returning to FIG. 2, in addition to selecting a heating location and heating pattern, the inverse solver 206 of FIG. 2 defines a candidate heating path as having one or more heating parameters. The heating parameters comprise a standoff distance between the first surface of the work piece and the heating element (e.g., the standoff distance 118 of FIG. 1), a heating element temperature, and a heating element movement speed, wherein the heating element movement speed characterizes the speed at which a heating element (e.g., the heating element 116 of FIG. 1) passes across the first surface 104 of the work piece 102 when executing a heating path. In aspects, the heating parameters may be configurable or input by a user; in other aspects, the heating parameters may be constant (i.e., pre-configured) to reduce the number of candidate heating paths. Even when the heating parameters are constant with respect to different candidate heating paths on the same work piece (e.g., work piece 102), said heating parameters may vary depending on the material type and thickness; for example, the heating element movement speed may be slower for thicker work pieces of the same type.
Once the inverse solver has generated a set of candidate heating paths, it passes the set of candidate heating paths to the forward solver 208 to model deformation of the work piece 102. The forward solver is generally configured to model plastic deformation of each candidate heating path of the set of candidate heating paths using estimated deformation information. In aspects, the forward solver 208 accesses estimated deformation based on curvature information stored in a dataset, such as on the database 214. The dataset contains estimated plate deformation as a function of the heating pattern, work piece curvature, heating parameters and material type/thickness. Using the data set and the heating location for each candidate heating path, the forward solver generates an estimated shape of the work piece 102 for each candidate heating path and passes the estimated shapes back to the inverse solver 206.
With the estimated shapes, the inverse solver 206 is then configured to select a candidate heating path from the set of candidate heating paths. In order to select a candidate heating path, the inverse solver 206 first determines a difference between each estimated shape and the target shape. In one aspect, the difference comprises an average root mean squared (RMS) value of the difference between each node of an estimated shape and the target shape. In other aspects, the difference comprises a maximum value of the RMS value difference at each node between the estimated shape and the target shape. The inverse solver 206 may select the candidate heating path from the set of candidate heating paths having the greatest difference or it may select the first candidate heating path to have a difference reduction (referenced to the target shape) greater than a predetermined threshold (e.g., 0.25%, 0.5%, 1%, or 2%).
The inverse solver 206 passes the selected heating path to the controller 210 in order for the heating path to be executed on the work piece 102. The controller 210 outputs heating paths to a robotic program (or generates robotic commands itself) that cause the robotic arm to heat the plate according to one or more selected heating paths. In aspects, the controller 210 also provides cooling instructions that allow the work piece 102 to return to ambient (or a sufficiently cool) temperature between the execution of the one or more selected heating paths.
In one aspect, the path planning subsystem repetitively performs the process of generating a set of candidate heating paths, modeling the deformation caused by each heating candidate heating path, and selecting a candidate heating path until a series of selected heating paths is aggregated that causes a cumulative difference between the current shape of the work piece 102 and the target shape to decrease greater than a predetermined series threshold (e.g., 2%, 4%, 8%, or the like). In such an aspect, the series of selected heating paths is then communicated to the controller 210 at which point the heating paths are performed on the work piece 102. That is, the inverse solver 206 determines the amount of deviation between the target shape and a second shape that resulted from one or more previously-selected heating paths and generates a second set of candidate heating paths at a second heating location, wherein the second heating location comprises a second node of the plurality of nodes having the greatest amount of deviation between the target shape and the second shape (resulting from the one or more previously-selected heating paths). The forward solver 208 models each candidate heating path of the second set of candidate heating paths, and the inverse solver 206 selects a second candidate heating path based on the estimated deformation of the work piece caused by the second candidate heating path on the second shape, wherein the estimated deformation of the work piece caused by the second candidate heating path is estimated to transform the work piece from the second shape to a third shape. In other aspects, a single selected heating path may be communicated to the controller 210 and carried out.
Whether after a single selected heating path is performed or after a series of selected heating paths are performed, the 3D modeler 204 generates an updated 3D representation of the work piece 102 after each heating path (or series of heating paths) is completed to ensure that errors between simulated deformation and real world deformation are minimized. With the updated 3D model, the process of generating candidate heating paths, modeling the candidate heating paths, selecting a heating path, and heating the work piece according to the selected heating path (or series of selected heating paths), and generating an updated 3D model is repeated until the work piece 102 is within a predetermined margin of error of the target shape. The predetermined margin of error may be in the form of an average RMS difference at each node being less than a predetermined threshold (e.g., 5 mm), a maximum RMS difference value of all nodes being less than a predetermined threshold (e.g., 10 mm), or a combination of an average RMS threshold and a maximum RMS threshold.
Turning now to FIG. 9, a method is provided for automated plate shaping, consistent with one or more aspects of the present disclosure. The method, designated generally as method 900 is directed to method for heating path planning, for use with an automated plate shaping and verification system such as the automated plate shaping system 100 described with respect to FIGS. 1-8C. At a first step 910, mesh analysis is conducted on each of a target shape model/specification and a 3D scan of a work piece to create a plurality of nodes having three dimensional coordinates, according to any one or more aspects described with respect to FIGS. 1-8C. At a second step 920, deviation between the target shape and the 3D scanned work piece is determined, according to any one or more aspects described with respect to FIGS. 1-8C. At a third step 930, candidate heating paths are generated according to any one or more aspects described with respect to FIGS. 1-8C. At a fourth step 940, each candidate heating path is independently modeled to estimate the deformation effect that it would cause on the 3D scanned work piece (or on an estimated plate shape resulting from a previously-selected heating path if it is not been yet been performed on the work piece), according to any one or more aspects described with respect to FIGS. 1-8C. At a fifth step 950, a candidate heating path is selected based on a determination that it would transform the work piece if performed on the work piece, according to any one or more aspects described with respect to FIGS. 1-8C. Though not illustrated, the method 900 may repetitively perform steps 920-950 to create a series of selected heating paths that cumulatively reduce a difference between the most recent 3D scanned work piece and the target shape by a threshold amount, according to any one or more aspects described with respect to FIGS. 1-8C.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of embodiments of the present invention. Embodiments of the present invention have been described with the intent to be illustrative rather than restrictive. Certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated to be within the scope of the claims.