Abrasivejet Controller issues:
PreviousNextHome

No discussion of Abrasive and Waterjet machining would be complete without also discussing some of the control issues involved in making precision parts from a "floppy tool".

Software provides a key role in abrasivejet machining.  In fact:
This is great news, because it is a heck of a lot cheaper to upgrade software than it is to upgrade hardware!  If your background is in other machining methods, this concept may be quite foreign to you.  When was the last time you upgraded the software on your mill?  Probably never.  However with abrasivejets you should expect to upgrade your software at least once per year, because of the tremendously powerful advancements that have been made, and are yet to be made in this area.

Since 1993, I have been heavily involved in projects that through software alone have allowed abrasivejets to cut way faster and to much higher precision than they could have otherwise.  These advances are continuing to occur.

Here is a brief introduction to some of the very basic techniques used in abrasive jet control, followed by a quick overview of two different OMAX Abrasivejet and Waterjet control systems (which I had a part in designing, and did much of the programming for). Both of the controllers were designed to reduce the guesswork and black art involved in Abrasive jet machining.  One of the controllers was written to run under DOS, and the other for Windows 2000/XP.  The principal method of control is the same in both versions.  The Windows version is just a lot more advanced and feature rich.  I will not go into the features so much as to simply talk about the general concepts.


The problem to Solve:

The biggest issue that an Abrasivejet controller must address is how to compensate for the fact that it must control a "floppy tool" that bends and twists and wiggles around while cutting.

The better you accomplish this, the more precise you part will be, and the more efficiently it can be made. 

waterjet cutting: jet lag

In the above illustration, the direction of motion is from left to right. The faster the tool moves, the more "jet lag" is created. Slowing down the cutting rate allows the jet to become perpendicular. Sudden changes in speed and/or acceleration can cause other unwanted behaviors as well such as "kick back" into the part, or "witness marks" where the speed changed.

Here are just some of the issues that need to be addressed:

  1. The jet "laggs" from top to bottom
  2. The kerf width cut from the material changes width depending on the speed of the jet.
  3. There is a draft angle "taper" between the top and bottom of the cut.
  4. Rough striation marks caused by instabilities in the jet create rouge edges on the part
  5. As the jet cuts around curves, the bottom of the jet swings outwards creating severe taper
  6. As the jet cuts around corners, the jet suddenly kicks back and creates gouges in corners

The most prominent issue is "Jet Lag", which is where the back of the jet laggs behind the enterance, as shown in the picture above.  Jet lag is not a serious issue when cutting in a straight line, but becomes critical when approaching or exiting a corner. As the jet approaches a corner, it becomes necessary to slow the motion down so the bottom of the jet can catch up to the top, and be perpendicular to the material. If it doesn't slow down, it will create a very ugly corner.

Above: Colors represent desired speeds around various features of a part.  Notice that you can go very fast around straight-aways, and large radii, but you must slow down for other features.  In order to make the best possible part, in the shortest possible time, it is necessary to adjust these machining speeds to a great deal of control.

If you accelerate quickly when exiting a corner, the jet will kick back, and mar the part. It is also necessary to slow around radiuses, to prevent the bottom side of the radius from growing. Some modern Abrasivejet controllers, like the ones I discuss in this document, compensate for some or all of these behaviors automatically (to varying degrees of success).

Click to enlarge picture

Above: A cut through 2" thick Plexiglas. You can clearly see the effects of "jet lag", and "kick-back" around these curves and corners. On the right hand side of this part, the part was machined at a constant feed rate. The cleaner cut on the left side of the part was done with lag and kick-back compensation turned on; thus the tighter tolerances. The middle portion was cut with partial compensation.

(There are more pictures of cuts through Plexiglas on the pictures page of this web site, that demonstrate jet behavior with and without compensation.)

When making a controller for such a system, there are a few basic, and a few exotic techniques used:

Solution #3 - A more exotic scheme, is to have a multi-axis head so that the head can tilt to compensate for jet behavior.  Although expensive, this method works pretty good to improve the precision of parts without huge sacrifices in speed.  There are demonstrated improvement over "traditional" approaches (solution #1 above) in terms of both speed and precision.  The main drawback with this technology is the addition of cost and complexity.  This method of compensating for jet behaviours is the way of the future, and is implimented by at least two manufacturers of equipment.  (For more information and pictures of various kinds of tilting, be sure to visit the picture pages on this web site.  In particular, picture page number 8.)


The rest of this page gives an overview of a controller designed specifically for controlling an abrasive waterjet. I use the OMAX controllers as examples, because they are the ones that I am most familiar with (obviously).  They are also the only controllers to my knowledge that uses this uniquely precise method of velocity control, though some of these concepts are implimented in other controllers to some degree.


The OMAX Precision AbrasiveJet machine tool controller:

waterjet software screen-shot
Above: Screen-shot of the OMAX controller showing a typical part ready to begin machining.

(This next section can be a little in depth for most readers, so you may want to skip the technical details by clicking here .)

Before we started work on this controller, we had gained a lot of experience with the "work around" methods discussed previously. The method of control that gave the best results was to divide the individual elements of the tool path into unique segments, then set the feed rate for each individual segment to approximate the accelerations and decelerations around corners.  Depending on the sharpness of the corner, or the radius of the curve, we would set the feed rates as appropriate.

This gave us promising results, and was a huge improvement, but the results were still far from perfect.

For one thing, dividing up the drawing into many pieces created huge tool paths which choked the controllers.  Also, this only set feed rates, and we still didn't have great control of accelerations.  We would get ugly witness marks whenever the feed rate would change, and we had little control over how it did it.  Finally, an even more significant problem was that we did not have a good way of filtering the file, and setting feed rates for one feature based on changes in the geometry that lay far ahead in the tool path.  We were able to set the feed rate based on the next major change in geometry, but that only considered the next bend or corner in the path, which may or may not be as significant as other geometry that it would encounter later.

In other words, if you are traveling along the tool path, and headed to a 3" radius curve, it is necessary to slow down the machine slightly to compensate for the geometry you are about to encounter.  But, if at the end of the arc is a sharp corner, you may discover too late that you should have started slowing down for the sharp corner before you even entered the arc!  (This is similar to driving into a blind corner with your car, only to discover a stop sign on the other side.  By the time you see the stop sign, it is too late, and you run right through it.)  This would cause blow out in the corner (or a car crash).  This is a little difficult to explain, so let me use an illustration:

Figure 1: Feed rate dilema

[Figure 1]

Above: Imagine that you are traveling along the above tool path in the direction of the green arrow at the top of the picture.  While you are cutting the top line, you need to start slowing down, so that before you reach point "A", you are at the speed necessary to machine around the arc.  Depending on the conditions, however, you may actually have to start slowing for the corner at point "B", while you are still cutting the line!  For example, in thick or hard material, the bottom of the jet may take a so much time to catch up with the top, that you need more than just the distance between A and B to slow down.  Therefore you have to begin decelerating for point B before you even get to "A".

In more complex geometries than the above, this becomes even more critical.  Imagine a part like the one show below:

Stress part

[Figure 2]

The above picture illustrates some geometries that are specifically designed to "stress out" a traditional abrasivejet controller.  (The white dots represent the endpoint of individual lines or arcs used to create the geometry.  green lines are "traverse moves", and purple lines represent the geometry of the actual part)  Complex geometries such as the compound curves and spirals shown in the above part would traditionally be very difficult to set feed rates for.  So here is what we did:

The solution to the problem:

Because of the above problems, we decided to develop a new controller from scratch.  The basic premise for this controller is outlined in US patent # 5,508,596, but basically boils down to, in our particular implementation, is creating a tool path with over 2000 movements per inch that we can then assign individual feed rates to, then providing a cutting model in the controller to handle these computations.

Obviously, this would create an enormous burden to the user if she had to set all of these feed rates by hand!  A 10" (250 mm) path would require 20,000 feed rate changes!  So what we did was build a cutting model into the controllers to do this for the user.  The user, then, need only tell the computer what "quality" of cut is desired, the Material to machine from, and the thickness of the material. (more on this later)  Based on this information, and a cutting model built into the controller, the computer would then create this high resolution tool path, and store this "temporary" tool path in RAM memory for later retrieval.

This high resolution tool path would have individual feed rates set at around 2000 per inch, allowing for very fine compensation for jet behavior.  2000 feed rate changes per inch was decided upon because it provides a good balance between resolution, calculation time, and memory.  (The controller can be adjusted up to 32760 calculations per inch, or more, but as it turns out this is pretty much overkill - though we do have an "extreme precision" machine running at over 4000 calculations per inch.)

Once the tool movements were calculated, the computer could then itteratively calculate feed rates.  This is really critical.  By being able to do iterative calculations on the tool path, we can look all the way down the path and set accelerations, then start at then end of the path, look backwards, and set decelerations.  In other words, we solved the feed rate problem for the part in figure 1, and created a solution that is good enough to also handle parts much more complex than shown in figure 2! (You can think of this as "infinite look-ahead", in a sense).

The only drawback to this solution is that it requires huge amounts of memory, and a lot of computer power.  On our original 50Mhz 486 based controller, you might have to wait up to 1/2 hour for it to make all the necessary calculations for some tool paths!  Still, this was a big time saver when compared to doing it by hand.  In addition, the parts themselves cut faster and at much higher precision.

That was on an 8MB 486 running at 50 Mhz.   Today's computers are much faster, and have much more memory.  In addition, in the last 9 years or so, we have been able to optimize the calculations, so that it only takes a few seconds for most part paths to compile, making this issue a non-issue!  (As of this writing, the computers we use for  control are 2.x Ghz Pentiums with about 1Gb of RAM, running Windows 2000 / XP.)

For details on this process, and a better explanation than I can provide here, I highly recommend the article that appeared in the april 1996 issue of American Machinist: Control simplifies abrasive-jet machining.  You can probably get a reprint through American Machinist.   If not, contact me , and I'll see if I can get you a reprint.


The Controller:

Here are some screen shots of the controller. What you are about to see are some ancient pictures from our DOS controllers, and some newer pictures from out Windows 2000 / XP based controllers.  Both of them operate in a similar manner, where there is a CAD / CAM program called "Layout", and a controller program called "Make".

Great pains were taken to hide the complexity of the software, and make it easy to use, while still providing flexibility for the advanced user.

Please Note: Many of the ideas incorporated in this software are protected by U.S. and International Patents.

Please Note: All of the screen shots and images on this page are very out-of-date.  Nevertheless, they illustrate the point.  For more up-to-date pictures, you might go to check out the 4th and other pages in the "picture pages " section of this web site.

Included on this controller is an integrated CAD / CAM system so that users can quickly create a tool path at the controller (Called "Layout").

When we started designing this controller, we decided that people would frequently use the machine to make very simple parts such as washers or shims.  We did not want the operator to have to spend a lot of time on programming such parts, or else it would not be worth it to use the machine to make them.  Also, we wanted a system that was simple enough that any person in the shop could quickly learn to use it.  Therefore, we created a very simple, fast, and easy to use CAD / CAM package that we include on the controller, and called it "Layout".  (As it also turns out, we had to write a lot of fairly complex geometry routines for the controller, and writing a CAD system provides a perfect test bed for them.)

Click to enlarge picture

Above: The main screen of the CAD/CAM portion of the software (called " Layout "). Here you define your tool path by drawing a "map" for the computer to follow. The toolbar shown is showing the available "Qualities" to machine with. (DOS version shown)

Click to enlarge

Above: Windows version of OMAX Layout, showing automatic tool path generation window.  (Click on picture for a larger image.)

This software is unique, in that you can specify a "Quality" for each drawing element, and the controller will adjust the feed rates automatically (at over 2000 points per inch!) to create a part within the quality you specified.  When programming on another CAD system, you use the cad "Layers" to indicate the cutting quality.  There is a cutting model built into this controller that will use this "quality" information to set the feed rates of the machine.  There are 5 different quality levels for cutting.  Which one you choose will depend on how you want the abrasivejet to behave.

Click to enlarge

Above: An illustration of what qualities 1-5 look like on the edge of a material.

By specifying a Quality, you define how you want a portion of your part to be machined. (How much compensation you want in the corners, as well as what kind of surface finish you desire.)

A Quality of "1" indicates that you want the machine to move as quickly as possible without much regard to tolerance, surface finish, or sharp corners.  This is used for "roughing out" parts that might get further machining at a later time, or where surface finish is not important.

A Quality of "5" indicates that you want the machine to take however much time it needs to create the best surface finish possible.  Often you can avoid secondary machining.

The majority of machining operations are done with the in-between qualities of 2, 3 and 4, which are good compromises between speed and precision.

There are also other "qualities" for etching, scribing, water-only cutting, "minimum taper", traversing, and "heads up" traversing.

Note: "Quality" is a word that we invented a new definition for, because we could not think of a better single word to describe the combination of surface finish, tolerance, and other properties of the cut.  Since we started using "Quality" in this manner, a few other manufacturers have followed suit.  Unfortunately, however, the definition of "Quality" is not an industry standard, but in fact varies from manufacturer to manufacturer.  One companies Quality of "3" is anothers' "5".

Important to understand: "Quality" is not the same as "feed rate". We used the word "Quality" because it takes into account the geometry of the part, and varies the feed rate continuously to adjust for every corner, curve, or straight section of the part. Also "Quality" is independent of Material and thickness. If you machine a part with quality of "1" in 3 inch thick aluminum, the surface will look very similar to a quality of "1" part machined from 1/4" brass, etc.  "Feed rate" is a value that the computer calculates for you, based on the specified quality, the geometry of the part, and a built in cutting model.

Qualities are displayed on the screen in different colors. The honeycomb part in the above picture is done completely in "Quality" of 3, which is shown as purple, and is good for most machining operations. The green represents rapid traverse moves. As you can see, there are many different machining methods to choose from. Quality of 1 is for roughing out your part, and 5 for super precision. Etch and scribe are special cases for marking your part, or for crude milling operations. There is also a Water only mode, which lets you cut without the abrasive.

OMAX Layout Abrasivejet and Waterjet CAD/CAM

Above: (DOS Layout) You can combine different "Qualities" on the same part. For example, one part might have a long section of quality of 1, because you intend to weld against this surface, or do secondary machining. Another section would be at quality of 3, because it needs to look nice, and be reasonably precise. Finally, there would be a precision slot with a quality of 5. This allows you to make the most optimum tool path possible, for the best trade off between speed and precision.

Of course, you can also import geometry from other CAD packages.  OMAX has other CAD, Nesting, and file translation software available.  Most third Party CAD/CAM systems such as MasterCam, SurfCam, SmartCam, Bridgeport EZ-Cam, etc., can also generate tool paths for the OMAX, so you are not locked into the OMAX system. "Quality" information is often stored as "layers" in other CAD/CAM systems for easy compatibility.

Above: Material setup screen in the machine tool control software (called "OMAX Make"). This is where you tell the controller what material you are going to machine, and how thick it is. Tool offset is determined by measuring any dimensional error in the previous part machined, or by cutting a test piece of known dimensions.

After you have made a tool path, the next step is to tell the computer what Material you are going to machine. Based on the information you enter here, the "qualities" specified in the CAD software, and some setup values stored elsewhere, the controller will calculate a highly optimized tool path in a matter of seconds. This eliminates experimentation to get the feed rates right the first time. The list of materials shown is just a small sampling of the materials you can machine.

Waterjet Nozzle, Pump, and other Setup for OMAX Make Softwrae

Above: (DOS Make) Here is what the main controller screen looks like, with a menu open for adjusting settings.

From this menu, you can tell the software information about what pump, nozzle, Abrasive, etc. that you are using. There are also settings to fine tune things, set soft limits, baby-sitting hardware, abrasive timing, etc.

Preview screen in OMAX Make Abrasive waterjet control software

Above: (DOS Make) Here is what it looks like when you preview the part to the screen.

Above: Windows version of the same

When you preview the part to the screen, excessively slow areas of the part will show up as shades of dark blue. Areas that are faster in shades of Red. The yellow dots are where the software will perform a "wiggle pierce", which exponentially speeds piercing on thick materials. Where there is no yellow dot, and just a single white circle, the software has determined that there is not enough room to "wiggle pierce", and will perform a traditional pierce there.

Built into this controller is an unusual, but required feature: Infinite "look ahead". This means that the controller can adjust the feed rate at the beginning of the path, based on some feature that may be at the end of the path.  It does much more than simply looking one or two features ahead.  It also adjusts the feed rate in increments smaller than 2000 points per inch.  This is very important when making high tolerance parts, especially in thicker materials, or when machining parts with lots of fine detail.

The Part Machined with the abrasivejet

Here is the final part made from 1/2" stainless steel. Don't cut yourself on the thin webbing!

Using the methods described here, this controller is capable of easily generating parts that are +/-.003". In metals, and at lower thicknesses, and some elbow grease, it is even possible to make parts +/-.001". In addition, the part paths are run at the fastest possible speeds. This allows machines with low horsepower pumps to compare in speed with machines equipped with more expensive, high horsepower pumps, and allows machines with high horsepower pumps to cut even faster yet.

Some of the main parameters considered in the cutting model are:

Other useful features for an abrasivejet / waterjet controller:

Of course, compensating for jet behavior is only one feature needed for a good abrasive jet controller. Listed below are a couple of other features that can be handy:

Backup along part path:

waterjet VCR style control

Above: This menu appears if you stop the cutting in the middle of a part path. (DOS version on top, Windows on bottom)

If something were to go wrong, you can pause the machine, and traverse backward and forward along the entire length of your tool path, then continue. A very important feature to have if your nozzle plugs, or something else were to go wrong in the middle of the part.

The Windows version of the software also has some other recovery options such as "Path interrupted home", and "Go to spot on path", various "dry run" features, etc.

User Home(s):

Having home positions allows you to remember specific locations on the machine. One such location should be the starting point of the tool path. If something goes wrong, you can always pick up where you left off. Home positions also allow you to put fixturing in the machine, and remember precisely where that fixturing is located.  The DOS version of Make has 2 homes available.  The Windows version of Make allows for up to 100.

Test your nozzle:

Test Pump Menu

Above: Click on "Test Nozzle" to check the condition of your nozzle.

By firing the nozzle into the air, you can visually check the condition of your nozzle. If the jet flares out, you can expect that you have a bad jewel, or other nozzle problem.

Wiggle Piercing:

"Wiggle piercing" means that the controller will wiggle the nozzle back and forth over a short distance to greatly speed up the pierce process. This can make a HUGE difference in the time it takes to pierce small holes (around 1/4") in thick (>.25") materials.

picture of waterjet cut off saw feature

Above: Another important feature to have is the ability to quickly cut off remnant material, or reduce sheet size to fit in the machine through a "cut-off-saw" tool.  This is a big time saver.

Of course there is more, but that's all I have time to show for now...

The general outline of the controllers on this page will stay the same for years to come, but many new features are constantly being added.  Also, the screen-shots on this page are way out-of-date, but they at least give you the general picture.

More information on the OMAX controller can be found at:


PreviousNextHome



Copyright © 1994-2006 Olsen Software, LLC