People often buy a robot thinking it will be just like a CNC machine. This is not true, but the boundaries between them are blurring. Here are the main differences between them both.
Last year, RoboDK’s CEO Albert Nubiola was interviewed by the Robotics Industries Association about the myths surrounding offline programming.
One point he raised was a common problem that people run into when they get started with robotics: they think that the robot will behave just like their existing CNC machines. They get disappointed when they find that this is not true.
First, let’s be clear, robots are not CNC machines.
There are some big differences between the two technologies. However, these differences have been getting smaller and smaller over the last decade. Robots are now able to do some machining tasks with comparable performance, as we discussed previously in the article: Can a Robot Outperform a CNC Machine for Robot Machining?
Let’s take a general look at the two technologies to explain the similarities and differences between them.
What Are CNC Machines?
The defining feature of Computer Numerical Control (CNC) machines is their accuracy. They can achieve high performance for very specific machining operations.
CNC is a long-established technology for automated machining. The first machine was introduced by engineer John T Parsons in the 1950s, not long before the first robot was built. Since then, the two technologies have developed in parallel.
The “business end” of a CNC machine is either a movable tool, a movable jig, or both. Usually, these are only movable in the X, Y, and Z axes, although control of the tool orientation is sometimes possible. The axes are precisely controlled by a computer, which allows very accurate material removal compared to machining by hand.
Tasks for CNC Machines
In general, an individual CNC machine is only suited to one task. However, there is a range of different machines, each designed for a specific machining operation.
Tasks that you can achieve with CNC machines include:
- Milling — Controlling a rotary milling tool to progressively remove layers of material.
- Drilling — Positioning a spinning drill bit to create holes in a material.
- Turning — Controlling a static tool to remove material from a spinning workpiece.
- Broaching — Controlling a static broaching tool to cut polygonal shapes into a spinning or static workpiece.
- Sawing — Controlling a spinning saw tool to cut lines in a workpiece.
As you can see, the tasks that CNC machines can achieve are all very specific machining operations. For each of these, you would most likely need a new CNC machine (although turning and broaching, for example, can both be done on a CNC lathe).
What Are Robots?
The defining feature of robots is their flexibility. They can achieve a huge variety of different tasks (not only machining). What’s more, a single robot can be used for many operations.
Robotics has been around for almost as many years as CNC machining, the first being introduced by Joseph F. Engelberger in 1961. Although they were first used to automate tasks in manufacturing industries (e.g. automotive and aerospace) they are now used by businesses in almost every sector.
A robot generally consists of rigid mechanical linkages which are moved by precisely-controllable motors at the robot’s joints. In 6-axis industrial robots (the most common type) each link is connected to the previous joint, but other robots (e.g. Cartesian or Delta) use different mechanical configurations.
Tasks for Robots
It would be impossible to give a complete list of all the possible tasks that a robot can be used for. The only limit is your imagination (and a few practical limitations of the technology).
Tasks that you can achieve with a robot include:
- Machining — Many of the same tasks that CNC machines can do can also be done by a robot… but not all. This capability may be the reason that some people fail to recognize the differences between robots and CNC machines.
- Pick and place — Moving objects around the workspace.
- Welding — Spot welding, arc welding, resistance welding… all are achievable with robots.
- Sorting — A type of pick and place which requires added sensing to detect the type of object.
- Painting — Practically any process task which involves moving a tool along a path is suitable for robotics.
In terms of the tasks that the two technologies can achieve, we can generalize the difference between robots and CNC machines like this:
A single CNC machine gives high performance for a specific machining task.
A single robot can achieve many tasks with a different performance for each.
5 Differences Between Robots and CNC Machines
Besides the tasks you can achieve with them, there are performance and quality differences between the two technologies.
Here are 5 of them:
- Workspace — The workspace of a CNC machine can usually be defined as a small cube. Robots, by contrast, usually have a large, spherical workspace.
- Programming — CNC machines are programmed using G-Code. These days, this is most often generated by a CAM software, not coded by hand. Robots are programmed using a manufacturer’s programming language, but programs can be generated by many other programming methods (including G-Code) via a robot post-processor.
- Accuracy — CNC machines are usually more accurate than robots with accuracies going down to fractions of a micron. Robot accuracies can be improved by calibration but are more likely to be 100s of microns.
- Stiffness — CNC machines usually have high stiffness in all axes. The stiffness of robots is generally lower but it varies depending on the type of robot — e.g. a Scara robot has high stiffness in the Z axis.
- Singularities — The position of a robot tool is usually calculated by an inverse kinematics algorithm. These can produce singularities — areas of the workspace which are basically “dead zones” caused by mathematics within the algorithm.
Find out more about the differences between CNC machines and robots in our previous article.
Should You Buy a Robot or a CNC Machine?
Ultimately, you are probably reading this article because you want to decide if a robot is really for you.
The best way to find out is to try for yourself! You can test out your application with a robot in RoboDK for free by downloading a trial version. Give it a go!