CNC robot: How a cobot controls entire CNC machining cell at Go Fast Campers
@GFC has deployed a line of collaborative robots from Universal Robots to tend its CNC machines. Watch how the cobot's built-in I/Os allows Go Fast Campers to control all auxiliary systems through the robot program.
As Stephan Morris, COO, says, "This has been incredibly useful for us, as we actuate the vise, the ejector mechanism, the extractor mechanism, the door cylinder that opens and closes the door—all those things are made possible by the UR's easy programming language, and the easy opportunity to just plug in different pins to different pneumatic systems."
Our production processes start with raw aerospace‑grade billet material, which is delivered directly to our machining cells.
A tray is loaded with all the cut pieces. The robot enters, grabs a piece of stock, and places it into a regrip station. This allows the system to find the center before loading the part into the machine. The machine performs the first milling operation, after which the robot returns, flips the part, and runs the second operation.
Through a combination of I/O integrations with the UR robot, the part is then ejected out of the vise. A retractor arm pulls the finished part out, completing the cycle.
The UR robot includes additional I/O capabilities, which allow us to control auxiliary systems directly through the robot program. Integrating the robot with our Haas CNC machines required only a few wires, a couple of relays, and some lines of code in the part programs.
This functionality allowed us to do much more very quickly, without investing in additional sensors or complex systems that would require extra training and introduce reliability issues.
These capabilities have been extremely useful for actuating the vise, the ejector mechanism, the extractor mechanism, and the door cylinder that opens and closes the machine door. All of this is made possible by the UR’s easy programming language and the ability to connect different pins to various pneumatic systems.
One of the nicest aspects of the UR programming setup is the flexibility. Many simple tasks can be done quickly through the graphical user interface, while the script manual provides access to more advanced tools.
The combination of scripting and GUI programming allowed us to avoid a steep learning curve while still maintaining full flexibility. We are not restricted in what we can do with the system.
The platform allows us to program everything relative to the center, and pop‑up dialogs enable operator input. The operator enters information such as the size, height, and weight of the stock.
On the backend, simple calculations allow the robot to determine where it needs to move based on these changing parameters.
We currently have five robots. Each time we added one, we built another system identical to the existing setup. Our goal is to ensure that any machine can run any part.
By continuously improving a single program over time, even as different parts are introduced, we maintain a very reliable and repeatable setup.
We also make extensive use of the UR ecosystem. We use a force‑feedback gripper, which has been extremely valuable. Adding tools that provide more data and feedback has significantly enhanced our overall system performance.
I’ve really enjoyed working with Universal Robots. They are fun to work with, easy to program, and very flexible.
I’m an engineer with no formal background in robotics. I’ve also had experience with other industrial robots that are not URs, and they are significantly more difficult to work with by comparison.


