Method and system for automated software control of waterjet orientation parameters
Methods and systems for automating the control of fluid jet orientation parameters are provided. Example embodiments provide a Dynamic Waterjet Control System (a “DWCS”) to dynamically control the orientation of the jet relative to the material being cut as a function of speed and other process parameters. Orientation parameters include, for example, the x-y position of the jet along the cutting path, as well as three dimensional orientation parameters of the jet, such as standoff compensation values and taper and lead angles of the cutting head. In one embodiment, the DWCS uses a set of predictive models to determine these orientation parameters. The DWCS preferably comprises a motion program generator/kernel, a user interface, one or more replaceable orientation and process models, and a communications interface to a fluid jet apparatus controller. Optionally the DWCS also includes a CAD module for designing the target piece. In operation, the motion program generator receives input from the CAD design module and the user interface to build a motion program that can be forwarded to and executed by the controller to control the cutting process. The replaceable models provide the motion program generator with access to sets of mathematical models that are used to determine appropriate jet orientation and process parameters. For example, in some environments, these equations are used to generate the x-position, y-position, standoff compensation value, lead angle, and taper angle of each command. The DWCS also provides two way communication between itself and the controller. The controller functions are used, for example, to display the cutting path in progress while the target piece is being cut out of the workpiece. They are also used to obtain current values of the cutting apparatus, such as the current state of attached mechanical and electrical devices.
Latest Flow International Corporation Patents:
- Systems and methods of interim and end of process treatment of manufactured articles using high pressure and waterjets
- Land cultivating systems and methods utilizing high-pressure fluid jet cutting techniques
- Systems and methods for improving jet cutting performance via force sensing
- Autonomous modification of waterjet cutting systems
- Acoustic emissions monitoring of high pressure systems
1. Field of the Invention
The present invention relates to a method and system for automatically controlling a fluid jet, and, in particular, to methods and systems for automatically controlling lead, taper, and other orientation and process parameters of a high pressure waterjet using predictive models.
2. Background
High-pressure fluid jets, including high-pressure abrasive waterjets, are used to cut a wide variety of materials in many different industries. Abrasive waterjets have proven to be especially useful in cutting difficult, thick, or aggregate materials, such as thick metal, glass, or ceramic materials. Systems for generating high-pressure abrasive waterjets are currently available, for example the Paser 3 system manufactured by Flow International Corporation, the assignee of the present invention. An abrasive jet cutting system of this type is shown and described in Flow's U.S. Pat. No. 5,643,058, which is incorporated herein by reference. The terms “high-pressure fluid jet” and “jet” used throughout should be understood to incorporate all types of high-pressure fluid jets, including but not limited to, high-pressure waterjets and high-pressure abrasive waterjets. In such systems, high-pressure fluid, typically water, flows through an orifice in a cutting head to form a high-pressure jet, into which abrasive particles are combined as the jet flows through a mixing tube. The high-pressure abrasive waterjet is discharged from the mixing tube and directed toward a workpiece to cut the workpiece along a designated path.
Various systems are currently available to move a high-pressure fluid jet along a designated path. Such systems are commonly referred to as three-axis and five-axis machines. Conventional three-axis machines mount the cutting head assembly in such a way that it can move along an x-y plane and perpendicular along a z-axis, namely toward and away from the workpiece. In this manner, the high-pressure fluid jet generated by the cutting head assembly is moved along the designated path in an x-y plane, and is raised and lowered relative to the workpiece, as may be desired. Conventional five-axis machines work in a similar manner but provide for movement about two additional rotary axes, typically about one horizontal axis and one vertical axis so as to achieve in combination with the other axes, degrees of tilt and swivel.
Manipulating a jet about five axes may be useful for a variety of reasons, for example, to cut a three-dimensional shape. Such manipulation may also be desired to correct for cutting characteristics of the jet or for the characteristics of the cutting result. More particularly, as understood by one of ordinary skill in the art, a cut produced by a jet, such as an abrasive waterjet, has characteristics that differ from cuts produced by more traditional machining processes. Two of the cut characteristics that may result from use of a high-pressure fluid jet are referred to as “taper” and “trailback.”
In brief summary, methods and systems of the present invention provide for the automatic control of orientation parameters of a fluid jet to achieve greater control over the contour of the cut produced and the resultant piece. These methods-and systems can be employed with different types of jet apparatus, such as those that control a cutting head using motion around a different number of axes. Example embodiments provide a Dynamic Waterjet Control System (“DWCS”) to dynamically control the orientation of a jet relative to the material being cut as a function of speed and/or other process parameters. Orientation parameters include, for example, the x-y position of the jet along the cutting path, as well as three dimensional orientation parameters of the jet, such as the standoff compensation values and the taper and lead angles of the cutting head. In one embodiment, the DWCS uses a set of predictive models to automatically determine appropriate orientation parameters for an arbitrary geometry as functions of speed. In this manner, these models dynamically match, for each geometric entity, the speed of the cutting head to appropriate lead and taper angles under differing process conditions of the cutting head. For example, when a corner is being cut, typically the cutting head is slowed. In some cases, using the automated lead and taper angle determination techniques of the present invention, the deceleration may be lessened, while the cutting head achieves, a more accurate cut.
In one embodiment, the DWCS comprises a user interface; which may be implemented as a graphical user interface (a “GUI”); a motion program generator; one or more replaceable models; and a communications interface to a controller of the cutting head. The DWCS optionally provides CAD capabilities for designing the target piece or receives CAD input by other means. In some embodiments, the DWCS resides in a separate computer workstation; while in other embodiments the DWCS resides on the controller, or a computer associated therewith.
The motion program generator dynamically generates a motion program for a controller of a jet apparatus. The generated motion instructions are dependent upon the requirements of the controller and/or the jet apparatus and, thus, the motion program generator can be tailored to generate differing types of control instructions for each type of controller.
The motion program generator automatically determines the lead and taper angle adjustments for each geometric entity as a function of the determined speed for that entity. In one embodiment, the lead and taper angle adjustments are functions of other process parameters, such as mixing tube length or orifice diameter. In another embodiment, a speed and acceleration model is used by the DWCS to determine the speed for an entity prior to determining the lead and taper angle adjustments. In some embodiments the lead and taper angle adjustments are determined at the same time as speed adjustments.
The model used by techniques of the present invention models the contour of the cut that can be achieved under varying conditions, as specified by different process parameter values. Any technique for providing values for lead and taper for an arbitrary geometry can be used to implement the lead and taper model. In some embodiments, the lead and taper model comprises sets of polynomial equations. In other embodiments, the lead and taper model comprises a look-up table of discrete values that models lead and taper angles for a set of geometries. In some embodiments, the lead and taper model models lead and taper angles as functions of speed and material thickness. In addition, one embodiment includes an angle of a tangent to the path at the current endpoint to support the determination of smoother transitions around entities such as corners or other intersections.
In yet another embodiment, the lead and taper angles can be manually overridden by an operator for a portion of or the entire cutting path. Additionally, the automated lead and taper angle adjustment can operate in conjunction with manual override of some parameters, but not others.
In some embodiments, some or all of the process of automatically determining one or more of the orientation parameters and controlling the cutting head accordingly are performed by the controller of the jet apparatus or software/hardware/firmware directly connected to the controller.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the present invention provide computer- and network-based methods and systems for automatically controlling lead and taper angles and other orientation parameters of a waterjet to achieve superior control over the contour of the cut and resulting piece generated by the waterjet. Example embodiments of the present invention provide a Dynamic Waterjet Control System (“DWCS”) to dynamically control the orientation of a jet relative to the material being cut as a function of speed and/or other process parameters. The DWCS automatically controls the x-axis, y-axis (2-dimensional) position of the jet along the cutting path, as well as the 3-dimensional orientation of the jet, such as the standoff position and tilt and swivel of the cutting head when appropriate, using a set of predictive models. The predictive models indicate appropriate settings for these orientation parameters to achieve desired characteristics of the contour of the cut and resulting piece. The extensive control capabilities of the DWCS allow operators to use the waterjet machinery in an automatic mode without manual intervention to manually control the jet orientation according to the prior knowledge and skill of the operator relative to the specific workpiece being cut. The automation capability of the DWCS thus supports decreased production time as well as precise control over the cutting process.
Although discussed herein in terms of waterjets, and abrasive waterjets in particular, one skilled in the art will recognize that the techniques of the present invention can be applied to any type of fluid jet, generated by high pressure or low pressure, whether or not additives or abrasives are used. In addition, one skilled in the art will recognize that these techniques can be modified to control the x-axis, y-axis, standoff, tilt angle, and lead angle jet orientation parameters as functions of process parameters other than speed, as different predictive models are developed and incorporated.
Although the DWCS described in
One skilled in the art will recognize that many different arrangements and divisions of functionality of the components of a DWCS are possible. In addition, although specific details are described with respect to this example embodiment of the DWCS, such as data formats, user interface screens, code flow diagrams, menu options, etc., one skilled in the art will recognize that the techniques of the present invention can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow diagrams, or the specific features shown on the user interface screens. Well-known structures and steps may not be shown or described in detail in order to avoid obscuring the present invention.
In step 502, the DWCS gathers process parameters, typically from an operator, although these parameters may have default values or some may be able to be queried from the jet apparatus controller. In one example embodiment, shown below in
In step 503, the DWCS uses the input process parameters to automatically calculate the offset path. The offset path is the path that needs to be followed when the target piece is cut to account for any width that the jet actually takes up (the width of the cut due to the jet). This prevents the production of pieces that are smaller or larger than specified. As characteristics of the jet change over time, for example, due to wear, jet process parameters need to be correspondingly modified in order to compute the correct offset. In some embodiments, the offset path is determined by the controller and appropriate transformations of the motion program orientation parameters are made by the controller.
Steps 504-507 build up a motion program by incrementally storing determined program values in a motion program data structure. Preferably, the entries in the data structure correspond to stored motion program instructions that are executable by the jet controller. In step 504, the DWCS determines the component drawing entities of the target piece design by “segmenting” the geometry into entities that are appropriate for assigning cutting speeds. This step can be performed at this time or elsewhere in the process, for example, using known, off-the-shelf software systems that provide design segmentation by modifying the CAD/CAM file. Once the segmentation is performed, then in step 505, the DWCS assigns a speed value to each drawing entity based upon known speed and acceleration models (e.g., speed model 407 in
In step 506, the DWCS automatically determines the tilt and swivel of the jet cutting head that is necessary to achieve the designated customer requirements by automatically determining the taper and lead angles using predictive models (e.g., lead and taper model 406 in
In step 507, the DWCS builds the final motion program making adjustments to the motion program data structure as necessary for the particular jet controller in use. Typically, CNCs and other waterjet controllers use kinematic equations to calculate the movement of the cutting head motors that is needed to produce a desired path (i.e., to calculate how the motors should be positioned to generate particular jet tool tip positions). Preferably, prior to using the cutting head, the operator aligns the cutting head apparatus using the controller, so that the kinematic equations yield motor positions that generate the desired cut. Some controllers are capable of receiving motion programs specified in terms of the jet orientation and internally use inverse kinematics to determine the actual motor positions from the jet tool tip positions. Others, however, expect to receive the motion program instructions in terms of motor positions, and not jet tool tip x-y positions and angle coordinates. In this case, when the jet tool tip positions need to be “translated” to motor positions, the DWCS in step 507 performs such translations using kinematic equations and makes adjustments to the orientation parameter values stored in the motion program data structure. In addition, standoff compensation values for the jet cutting head are determined using kinematic equations and are stored with each instruction. Standoff compensation values are the “z-axis” measurements needed to insure that the jet tool tip stays at a particular standoff amount, centered over the cutting path, regardless of the taper and lead angles. Standoff compensation values are typically a function of the distance of the jet motors pivot point to the jet tool tip.
In step 508, the DWCS establishes and/or verifies communication with the controller of the jet apparatus. In step 509, the DWCS sends the built motion program to the controller for execution. One skilled in the art will recognize that the term “controller” includes any device/software/firmware capable of directing motor movement based upon the motion program. One skilled in the art will also recognize that the term “motion program” is used herein to indicate a set of instructions that the particular jet apparatus and/or controller being used understands. The foregoing steps can accordingly be altered to accommodate the needs of any such instructions.
As mentioned, in one embodiment, the user interface of the DWCS is a graphical user interface (“GUI”) that controls the entire cutting process.
In the example introductory dialog discussed with reference to
In exemplary embodiments, the Dynamic Waterjet Control System is implemented on a computer system comprising a central processing unit, a display, a memory, and other input/output devices. Exemplary embodiments are designed to operate stand-alone or in a networked environment, such as a computer system that is connected to the Internet, or in an environment where the user interface of the DWCS is controlled remotely, by a physical network or, for example, by a wireless connection. In addition, exemplary embodiments may be embedded into a computer controlled numeric controller (a CNC device) that directly controls the jet or in a computer interface of the CNC device. One skilled in the art will recognize that embodiments of the DWCS can be practiced in other environments that support the ability to generate commands that a water jet controller device can understand.
One skilled in the art will recognize that exemplary DWCSs can be implemented as one or more code modules and may be implemented in a distributed environment where the various programs shown as currently residing in the memory 1805 are instead distributed among several computer systems. For example, the replaceable models 1810, which contain preferably the lead and taper model, speed and acceleration model, the corner model, and other models, may each or in any combination reside on a different computer system than the computer system on which the motion program generator 1809 and/or the user interface 1807 reside or the CAD module 1808 resides. Also, as discussed earlier with respect to
As discussed with reference to the user interface demonstrated in
Specifically, in step 2101, the DWCS segments the CAD input into drawing entities. As stated earlier, this step is performed using well-known techniques in the industry and/or off-the-shelf programs. In step 2102, the DWCS determines the cutting speeds to be used for each drawing entity by querying the cutting speed and acceleration model. The model may be implemented as a series of callable functions (equations) or may be implemented as a simple look-up table based upon drawing entity type, jet apparatus restrictions or requirements, and various process parameter values. In any case, external speed and acceleration models may be used in conjunction with the lead and taper model described herein. Preferably, any model used produces the fastest cut speed attainable for the given process parameters (the “separation speed.”) For a given jet apparatus and DWCS, the speed model specifies a relationship that relates “slow” and “fast” customer requirements to some given speed. For example, in one example embodiment, a fast cut is considered to be at 100% while a slow cut is typically 20%. Other embodiments refer to “fast” and “slow” on a sliding scale, for example, 1-10. For purposes of illustration, this discussion indicates fast as 100% speed.
Once the fast (100%) speed is determined, the DWCS can assign percentage speed values to other requested speeds. For example, if the speed model invoked by the DWCS returns a value of 10 inches per minute (ipm) for the 100% speed, then, when the model specifies that a second entity should be cut at 1 ipm, the DWCS determines that the second entity should be cut at a 10% speed, since 1 ipm is 1/10th of 10 ipm.
Referring again to the example shown in
Once the cutting speeds for geometric entities of the designed part are calculated, then in step 2103, the DWCS checks for speed constraints at each corner, if corners are present. For example, just as a driver slows a car around a corner, the jet cutting head should also slow down. The speed to which the cutting head should be slowed for a particular corner is determined either by operator input or by using the mathematical equations of a corner control model, such as corner model 408 in
Once corner speeds are determined, all speeds are matched with their respective geometric entities. The motion program data structure values that correspond to the design of
In step 2104, the DWCS determines how to transition the speed between each drawing entity of the design. For example, referring to
The speed transitions may be accomplished by setting acceleration parameters on the controller or by “breaking up” the original CAD design into smaller segments. The DWCS then assigns each one of these segments an incremental change in speed that produces the required speed transition. In an example embodiment, the segment breaking technique is often used.
At this point, the motion program data structure includes the x-y location of every entity or feature and the speed assigned to each entity.
In steps 2105 and 2106, the DWCS uses the lead and taper model to determine the lead and taper angle of each endpoint. An underlying principle of the model is to match the lead and taper angles to the cutting speed so that the jet can be accelerated through the target piece with a resulting straight edge. Moreover, the techniques employed by the model are preferably general enough to support the determination of lead and taper angles for an arbitrary geometric design, and not just for designs for which prior testing has been performed. Also, the techniques described below illustrate lead and taper angles as functions of speed. One skilled in the art will recognize that, since the speed values are themselves functions of other process parameters, equivalent techniques may be used which characterize lead and taper instead as functions of these other process parameters.
The lead and taper model can be implemented as an object (or class) with at least one method, for example, a “getLTAngle” method. In one embodiment, the method receives three input parameters: the cutting speed, the angle of a tangent to the path (at the point of inquiry), and an indication of the direction of the offset. The getLTAngle method includes several techniques (e.g., families of equations or look-up tables) for determining the lead and taper angles, based upon differing values for the cutting head process parameters. In addition, the getLTAngle method incorporates the designated tangent angle to assist in defining smoother transitions in instances where two straight lines intersect, for example, in corners. The designated tangent angle at the intersection/corner is preferably an average of the tangents of each intersecting line. The model uses this tangent angle to determine lead and taper angles at intersections that will result in gentler transitions of the cutting head motion.
Specifically, in step 2105, the DWCS uses the lead and taper model and the motion program data structure compiled thus far to determine the lead angle for each entity end point. First, the model determines drag length. One form of equation to do determine drag length is as follows:
where d is the drag length (e.g., in inches), U % is the speed percentage assigned to the entity, and t is the material thickness (e.g., in inches). The coefficients of Equation 1 will vary depending on the thickness range of the material but this is the general form of an equation that can be used by the lead and taper model.
Once the drag length is determined, the model now determines the lead angle θL (e.g., in degrees) by the equation:
where d and t are again the drag length and material thickness, respectively. Various scaling factors may be applied to Equation 2 for materials under 0.25 inches in thickness. Once the lead angle for each endpoint is determined, it is stored by the DWCS in the motion program data structure.
One skilled in the art will recognize that other equations of the general form of Equations 1 and 2 can be used to determine the lead angle and incorporated into the lead and taper model. Any equation form that evaluates to the same or similar values for given material thicknesses (also including a look-up table of discrete values) will operate with the methods and systems of the present invention. In practice, there will be a family of equations in the general form shown that will cover various material thicknesses. The DWCS preferably determines which family of equations to use from the model based upon received process parameters. Basically, any technique for providing a lead angle value for an arbitrary geometry can be used in implementing the lead and taper model of the DWCS.
In step 2106, the DWCS uses the lead and taper model and the motion program data structure compiled thus far to determine the taper angle for each entity end point. First, the model determines the width Wt (e.g., in inches) at the top (the entrance point) of the cut using an equation similar to:
Wt=0.04628−(0.00015*U %)+(0.00125*t)+(9.06033E−07*U %2) (3)
where U % is the speed percentage assigned to the entity and t is the material thickness. Next, the model determines the width Wb (e.g., in inches) at the bottom (the exit point) of the cut using an equation similar to:
Note that the coefficients of Equations 3 and 4 will vary depending on the process parameter values such as abrasive flow rate, mixing tube length, material etc. Equations 3 and 74 can be expressed more generally as a polynomial of the form:
Wt=(d*U %2)−(b*U %)+(c*t)+a (4a)
where the coefficients a, b, c and d are determined theoretically, experimentally or by a combination of both. One skilled in the art will recognize that additional terms may be added and that other equations of the general form of Equation 4a can be used to determine the taper angle and incorporated into the lead and taper model. Any equation form that evaluates to the same values for given process parameters (also including a look-up table of discrete values) will operate with the methods and systems-of the present invention.
Once the top width and the bottom width have been determined, the model returns the taper angle θT (e.g., in degrees) using an equation of the form:
Basically, any technique for providing a taper angle value for an arbitrary geometry can be used in implementing the lead and taper model of the DWCS.
In step 2107, the DWCS optionally scales the values for lead and taper depending upon various operator inputs. For example, under very high speeds (and depending upon the cutting head characteristics), the lead angle corrections may not have any practical effect. In such a situation, the DWCS can scale the lead angle values determined by the model by multiplying them by 0.
At this point, the motion program data structure contains all of the desired geometric entities, cutting speeds, and angle compensations. In step 2108, this data is converted into a motion program instructions. In one embodiment, the DWCS uses inverse kinematic equations to determine the motor joint positions that advance the tool tip along the desired path with the appropriate angles as specified in the data structure. (If there are arcs in the design, this technique typically requires that arcs be converted into line segments before applying the inverse kinematic equations.) The resultant motion program is in a “complex” form in that the lead and taper angles are implicit in the program. The example user interface described above with reference to
In another embodiment of
In another embodiment of
Although specific embodiments of, and examples for, the present invention are described herein for illustrative purposes, it is not intended that the invention be limited to these embodiments. Equivalent methods, structures, processes, steps, and other modifications within the spirit of the invention fall within the scope of the invention. For example, the teachings provided herein of the present invention can be applied to the other arrangements of fluid jet systems, such as systems in which a portion or the entire input, automation and control logic is embedded in a controller, or with systems having different axis cutting heads. In addition, the teachings may be applied to other types of modeling or to models based upon process parameters other than speed. In addition, the teachings may be applied to alternative control arrangements such as residing on a remote control device such as a device connected to the jet apparatus via wireless, networked, or any type of communications channel. These and other changes may be made to the invention in light of the above detailed description. Accordingly, the invention is not limited by the disclosure, but instead the scope of the present invention is to be determined by the following claims.
Claims
1. A method in a computer system for automatically controlling orientation of a cutting head of a fluid jet apparatus relative to a material being cut, to produce a target piece having an overall geometry not previously programmed into the computer system, the geometry having a plurality of geometric entities, the fluid jet apparatus having a plurality of process parameters, comprising:
- receiving a speed for each of the plurality of geometric entities of the overall geometry, wherein at least two geometric entities are associated with different speeds;
- automatically determining an orientation parameter for each determined speed in accordance with the speed and the plurality of process parameters; and
- automatically controlling the motion of cutting head in accordance with the automatically determined orientation parameter to cut the material to produce the target piece.
Type: Application
Filed: Aug 18, 2005
Publication Date: Jul 6, 2006
Applicant: Flow International Corporation (Kent, WA)
Inventors: Glenn Erichsen (Everett, WA), Jiannan Zhou (Renton, WA), Mira Sahney (Seattle, WA), Michael Knaupp (Zaisenhausen), Charles Burnham (Southbury, CT), Mohamed Hashish (Bellevue, WA)
Application Number: 11/208,043
International Classification: G06F 19/00 (20060101);