Does NURBS miss the point?

Does NURBS miss the point?

Before implementing NURBS within CAM systems and CNCs, companies should critically evaluate its benefits and drawbacks.


BostoMatic high-speed machining centers provide accelerations as high as 0.9g.

Components like these graphite electrodes typically require large, data-intensive part programs. Whether NURBS will improve the quality or speed with which these parts are produced is open to debate.

The BDC 3200X CNC is one of several modern CNCs providing high-speed machining capabilities without NURBS.

There are numerous benefits attributed to non-uniform rational B-splines (NURBS), like shorter cycle times, smaller programs, more accurate parts, and better surface finishes. In fact, many industrial experts assert that the widespread adoption of NURBS is leading to the elimination of point-to-point CAM and CNC systems. But, prior to embracing this new technology as an end-all product for high-speed machining, a company needs to evaluate some of the more popular claims.

NURBS proponents believe NURBS lets parts be machined with files that would otherwise be too large for controllers. This is an "old truth" that applies to earlier CNCs and hard-wired CNCs not adopting hard disk drives for program storage or Ethernet for program transfer. While many of today's CNCs still have minimal on-board storage, requiring drip feeding of large programs to the CNC, true high-performance CNCs possess a hard disk drive of 100 MB or more (500 MB to 2GB are not uncommon) and Ethernet.

It is true that NURBS compresses the amount of data required to define a surface. However, simpler compression methods like PKZIP or PAX, can be used with many open CNCs. With large hard disk drives and Ethernet connections between CNCs and the CAM stations, along with the new compression software, program size is less important than it was five years ago. In addition, a point-to-point program can define a machining contour as accurately as any NURBS curve, although it will require more data to do so.

How NURBS works
NURBS toolpaths, like point-to-point data, are not exact representations of surfaces.

When a plane is intersected with a NURBS surface to create a toolpath, a NURBS curve does not result. The NURBS toolpath must be calculated by the CAM system. This process involves approximation and uses a tolerance band similar to the "chordal-deviation" parameter common in most CAM systems. Given enough points, a point-to-point toolpath can always be made as accurate as a NURBS toolpath. And, in some cases, NURBS requires more data to accurately represent part geometries.

The premise that NURBS allows points to be defined by the control and its interpolation rates instead of the block processing time is true for controls designed without well balanced algorithms. Many popular controls require up to 4.0 msec to process a block of standard G-code into a form which can be used by the servo algorithms, and another 1.5 to 2.0 msec to perform the servo algorithm calculations. As a result, the amount of data these controls handle and the performance of the CNC as a whole is limited by the 4.0 msec block processing time. Using NURBS, these CNCs reduce the block processing rate from 4.0 to 1.0 msec. This boosts the effective throughput of the NURBS CNC from 250 (1.0 4 4.0 msec) to 700 - 1,000 blocks of G-code/sec as dictated by the time required to perform the servo calculations.

A well-designed high-performance CNC performs the block processing and interpolation process each in 1.0 msec or less. These CNCs process 5- axis point-to-point data at over 1,000 blocks/ sec without NURBS, while simultaneously performing several other tasks including program downloading and editing. Continued advances in DSP and RISC chip design, along with more efficient software, will bring continuous improvements for years to come.

The 10µ limit
Another fallacy is that point-to-point data generates free-form curves with a tolerance of about 10µ (0.0004 in.) compared to 0.25µ (0.00001 in.) with NURBS. Many might conclude that when a tighter tolerance is required, a non-NURBS CNC cannot process data fast enough, leading to data starvation. However, the 10µ value prevails only in CNCs that are inadequate for high-speed machining. NURBS is not necessary for achieving high performance, except when working with CNCs that can't store and crunch data.

Also, most machining centers are not capable of machining a 12-in. diameter circle at 20 ipm to better than 0.0005-in. TIR due to inaccuracies in machine geometry. A high-performance machining center will achieve values of 0.0003 in. or better. Given these values, the relevance of 0.25µ contour tolerance must be questioned.

Claims of faster machining times
NURBS CNC suppliers claim faster machining times, but these are relative to older machines with antiquated controls or new machines and controls that don't provide the processing power and data storage needed for high-speed machining. To significantly reduce machining requires higher data-processing rates, along with support for higher accelerations and decelerations, superior machine geometry, real-time correction for thermal errors, and the use of new spindle and drive train technology.

Claiming that the exact same machine tool and control can cut a part significantly faster when NURBS is being used should generate questions about the design of the machine-tool system, since the potential of the machine tool is being hampered by the CNC's inability to crunch data. A system truly optimized for high-speed machining will be limited by the machine's dynamics. In other words, feedrates and more importantly, acceleration/deceleration will be limited not by the CNC's data processing rate, but by the frequency response of the electro-mechanical system, which includes the servo algorithms.

Many of the machines fitted with NURBS-based CNCs can only support accelerations of 0.2 to 0.3g. A true high-speed machining center should be capable of supporting accelerations from 0.5 - 0.9g when using ballscrew-based drive systems.

It is a popular belief that NURBS eliminates data starvation and the inaccuracies of non-NURBS CNCs. In reality, NURBS is of secondary importance when it comes to achieving high accuracies and pursuing high-speed machining. NURBS is a technology that was developed to solve three problems that no longer exist — a lack of internal memory for storing programs, the inability to transfer programs to the CNC at high speed, and a lack of processing power to convert small line segments to motor motion with high efficiency. Today, large hard-disk drives and inexpensive memory, Ethernet, high-speed computer chips, and efficient motion control algorithms are solutions to those problems.

There are other drawbacks to NURBS. For example, the NURBS representation of a surface is difficult to interpret. The NURBS language of control points, knots, and weights can not be directly related to machine motion by the machinist. This makes it impossible to edit programs at the machine. Also, since NURBS does not have a universal standard, CNC and CAM manufacturers can implement NURBS differently, and the output of a CAM system may be interpreted differently by various CNCs.

Focusing on NURBS distracts machine-tool builders and buyers alike from the central issues surrounding high-speed and high-accuracy machining. The focus of machine tool and CNC builders should be to develop systems to support higher feedrates and higher accelerations while correcting for thermal and geometric errors on the fly. Placing engineering talent on these areas, and piggy-backing off the enhancements in processing power and data storage generated by the PC industry, will provide machine tool consumers with better, more cost-effective products.

TAGS: Features
Hide comments



Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.