Learning Enables High-Speed Accuracy
Repetitive machining improves manufacturing productivity
By Paul Webster
Servo Product Manager
GE Fanuc Automation Americas
Learning functions that will find and correct for path error during cutting have been available for some time. Originally, such learning control functions required the same command to be repeated as a unique action. This repetitive process works well in specialized applications such as cam grinding or lead cutting, but it does not have the flexibility required for general, high-production machining. Recently, however, learning control has been adapted to take advantage of standard G-code programming and increased memory size in a way that makes it possible to apply the learning control function to standard CNC machines.
High speed and high precision are often difficult to achieve simultaneously; programming the correct path does not mean the machine will follow that path. Here's the challenge we face: increasing cutting speed causes a reduction in precision, but to improve productivity, speed must increase.
There is always error in the system. The CNC interpolation time, servosystem delay, and disturbances due to the cutting process make it more difficult to increase speed and still produce an acceptable part. Programming conservatively by slowing down the feeds or adding an adaptive control system are common solutions to these problems. The CNC and most adaptive control systems interact by feed rate control. This point in the system updates far too slowly to properly control error, and can only react after an error is detected. It's too slow and too late to be completely effective. A high-gain servosystem is much faster, but very similar to the CNC—while it reacts quickly to disturbances, there must always be an error for a correction to be generated.
If the CNC system could predict what the error was going to be, it could proactively correct for the path error. Reducing path error in this fashion can enable faster cycle times and increase productivity.
The toolpath can be predicted by using learning control. By running several parts while in a learning mode, the CNC generates compensation values based on the previous learning cycle, to reduce servo followup delay and feed unevenness caused by cutting-load variations. At the end of the learning cycle, the learning controller switches to a production mode. Improved accuracy gained by learning control can be traded for higher speeds. Cycle-time reductions of more than 50% can be achieved by programming the higher speeds that are made possible by using learning control.
To accomplish this cycle-time reduction, the learning control must react very quickly and store large amounts of data. Compensation data are stored in the CNC DRAM for rapid access. To react quickly, the learning controller applies compensation to the velocity command, inside the position loop of the servosystem.
The repetitive learning function allows the user to replace a conventional cam machine with a CNC machine and employ it as a piston lathe, for automotive cam grinding, or for lead cutting. The learning function takes advantage of the fact that the same profile is repeated at a set period, and each command is repeated as a unique action. This repeated cycle can be analyzed in a learning mode, and corrections for servo error and cutting disturbances can be created. Stored cutting data can then be called as the program executes. By sending the program command and stored correction data through the digital servo software, the conventional learning function enables high-precision machining.
The learning process is performed during a set command period, normally one rotation of the spindle or C axis. Each profile goes through several (normally between five and ten) learning sequences. During the learning sequence, the learning controller makes corrections to the motion to minimize position error caused by servo lag, disturbances, and synchronization errors. Once the profile has been learned, the compensation data are stored for use during the production mode. Each profile and the compensation data are commanded in the program. This learning of error permits high-speed production without loss of accuracy.
Although repetitive learning is very powerful and allows a CNC machine to achieve very low path error and high productivity, applications for this approach are limited due to the requirement for a learning period based on the main spindle rotation and the use of nonstandard NC statements.
To apply the principles of learning to most production CNC machines, the profile must be addressed as a period from cutting start to end, instead of using the rotation of the spindle as the learning cycle. Typical machining centers and lathes do not repeat the same profile per rotation of the spindle; rather, a large number of facets typically make up the profile. Learning control for parts-cutting addresses the profile as the machining time within the part program defined by G-code commands. Defined by the tooling and operations required, the part program can be made up of multiple profiles. During the learning process, the machine tool needs to perform several learning operations when the part program is run.
The learning mode can be air-cutting for light finishing processes where cutting load will not affect learning, or cutting actual parts in the case of heavy machining, where data for the cutting-load variations are desired. The learning controller will automatically generate compensation values for servo error, mechanical variation, and cutting load. Learning compensation values are adjusted after each subsequent learning cycle. After several cycles are completed and error has been limited, so that high accuracy is achieved at high speeds, the machine can be switched to production mode. At that time, parts will be rapidly mass-produced.
For learning control to be effective for general-purpose machining, it must offer flexibility and significant memory capability to allow for the part cycle time.
During the sequences where the benefits of learning control are desirable, parts-learning control can be called by simply inserting the G-code commands into the part program. Because learning control can be added to any number of cutting sequences within the part program, it can be applied wherever high precision is needed. To switch between learning and production modes, MCodes may also be defined. During learning, the controller will create the compensation data. Once learning is complete, the command for production mode can be set. In many cases, these M-code commands can be defined with macro variables for complete process automation. Additional processes can be stored offline on a PC, then called back to the CNC as the part type changes.
Learning control can be added to any section of the G-code program, but it's designed for use in cutting blocks. Presently, learning control can support a maximum of four-axis machining. Our company has expanded the memory buffer by more than 300% to over 4 min, and the profiles from 16 to 24. This capacity might not seem very large, but many high-production processes use cycle times much less than 4 min long. Learning control only needs to be used for the critical cutting cycles where precision and/or speed are especially beneficial, and can be programmed to ignore positioning moves that do not require learning.
Learning control for parts-cutting applications can be employed in any free-profile milling or turning. The learning cycle will reduce path error so that the machine can follow the free profile more closely. Protrusions caused by the transition between straight cutting and circular arc, and the servo error during circular cutting and deviation caused by cutting loads, will all be corrected and controlled during the multiple learning cycles.
Another valid application is for multiple-hole drilling and peck cycles. Deep holes cannot be drilled in one operation. Multiple strokes must be used to gradually make the hole deeper. Each stroke in a peck cycle involves a quick rapid move to the bottom, but typically the clearance plane must be set so that overshoot will not break the drill. Learning control will learn the cycle, increase precision, and eliminate overshoot. Without the risk of overshoot, the clearance can be eliminated and cycle time reduced.
One recent advancement in the field of parts learning control involves rigid tapping. Learning control for rigid tapping is used to eliminate the synchronous error between the spindle motor and the tapping axis. By eliminating the synchronous error, rigid tapping can be performed much faster without lowering the thread class or breaking the tap. This capability is a subset of parts learning control. Programming and functionality are very similar, but apply to the process of rigid tapping, which is only possible with high-speed communication between the servo system and CNC control. Rigid-tapping cycle times can be reduced by more than 50%, and when tapping a large number of holes—such as are found in an automotive engine block or head—the significance of that reduction becomes apparent.
The capabilities of learning control have expanded well past its original use. Parts learning control now covers drilling, rigid tapping, and free-profile machining.
These abilities make it possible to apply learning control to almost any CNC production process, and get the benefits of reduced cycle times and higher precision without special machines or programming techniques.
Furthermore, learning control has recently been applied to servo tuning. Backlash and friction play a part in all machining operations. The effects of lost motion can produce a delay during motor reversal, and this delay results in quadrant protrusion during circular cutting. By using the learning controller to learn circular error inherent to the mechanical system, the CNC can correct for quadrant protrusions. The backlash acceleration function can be tuned using learning control to eliminate the effects of lost motion during circular interpolation. During several circular learning cycles, the learning controller will make additive corrections to the backlash acceleration function to automatically tune for quadrant protrusions. This correction then becomes active for all CNC motion, and is not specific to a particular part program.
Demands for increased machine-tool productivity will drive improvements in CNC control systems. Traditional solutions have limitations due to the static nature of their implementation. Significant improvements in speed and accuracy are now possible, however, by using a CNC system that can learn and correct for its path error. Expanding the functions of learning control past specialized machines into general machining is the next step in the evolution of modern machine tools.
Today, learning functions can be applied to free-profile machining, drilling, and tapping. The benefits of applying learning control come from its ability to correct for the path and synchronous error seen in repetitive cycles. Once learning is complete, reduced cycle times and improved accuracy result.
Many aerospace parts require very long cycle times due to the size of the parts being machined or the fact that parts may are made from a solid billet. On first glance it may seem that learning control is not a good fit in aerospace work due to these cycle-time requirements. This is not always the case. Learning control for parts cutting is designed to be flexible, and uses standard G-code commands. The learning function can be enabled only where it is needed most—an example would be reducing cycle time for the finishing pass while machining thin-walled aluminum or extruded parts. Another application area is where ultimate accuracy is needed—many airframe and turbine engine components have critical facets that can benefit from the accuracy improvements that can be achieved by learning the machine error.
Minor improvements in cycle time can add up, for example, over the thousands of holes drilled in airframes. While the overall cycle time could be many hours, the individual sections are often short and repetitive. By using learning control, position error in motion from one hole to the next, and the overshoot, can be eliminated. Without that path error, the part program can be written with reduced clearance planes, and with higher feed rates. Increased programmed speed and reduced path length will reduce cycle time without reducing accuracy, and without fear of dragging or breaking the tool.
The secret is finding the repetitive nature of individual sections of the part being machined, and applying learning control to those sections. Learning can allow modifications to the part program used to machine these sections where improved accuracy or increased speed can benefit the overall process.
Other ideal high-production CNC applications that can take advantage of learning control's features are: drilling and tapping of automotive-engine components, high-volume component milling, cam grinding, lead cutting, and piston lathes.
This article was first published in the March 2007 edition of Manufacturing Engineering magazine.