We are used to thinking of capital equipment as a resource that degrades in performance over time. But what if a machine tool could be turned loose to learn from its own errors, and thereby improve its performance from one machining cycle to the next? In other words, what if the machine could make itself better?
CNCs available from GE Fanuc (Charlottesville, Virginia) now offer a feature called "Learning Control" that makes this kind of self-improvement possible. With Learning Control engaged, the CNC tracks the machine’s position error by comparing its actual movement to the programmed path. The CNC uses this information to calculate compensation factors the control can use the next time the same part is run.
The objective is not just improved accuracy, but also improved cycle time. Critical features can be machined at higher feed rates. For example, a contour milled precisely in 5 seconds might be milled to the same precision in less than half that time, once the CNC has had the opportunity to refine the performance for that part.
In fact, this learning is cumulative. After improving effectiveness from the first piece to the second, the CNC can further improve effectiveness for the third piece, and so on. Progressively building on performance improvements in this way can continue for as many as 24 consecutive pieces, but GE Fanuc personnel say the maximum benefit usually will be realized much earlier than that—typically after 5 to 8 pieces.
Of course, only repeatable errors can be addressed in this way. The capability does not necessarily allow a low-cost machine to match the performance of a machine engineered for high-feed-rate precision. However, any low-cost machine might be capable of fast and precise contouring in certain applications, if only the errors that affect a particular cut consistently could be mapped and avoided. By performing this role, the Learning Control feature potentially does make it possible for some precision work to migrate to cheaper machines.
What the CNC learns about machining one part does not apply to a different part. When a different part number is run for the first time, the control must begin its learning curve from there. But the compensation for a particular part number can be retained, to be called up from memory whenever that same part is run again.