Assembling with Co-Bot

Today, more and more assembly processes are being automated by robots. If well designed, they provide excellent precision and repeatability without getting tired. However, one of the main issues with these systems is flexibility. They are usually built to assemble one single product (or a limited range). We as humans are the most flexible assembly machines we know. However we don’t provide the repeatability of automated systems and we get tired or even bored. One possible approach to provide more flexibility while achieving precision and repeatability is to develop a system that combines both the strengths of humans and robots.

Our task was to develop an early prototype (robot) demonstrator that supports human operators during product assembly (a so-called Co-bot). The assembly process is a mix of manual and robotic tasks. In our case the different parts of an assembly are put together by a human operator, after which the screws are added by the robot system. An additional requirement was to be able to handle completely new assemblies with minimal switchover time, thus providing flexibility.

Able to assemble multiple products
Figure 1: The UR is Able to assemble multiple products

We implemented a system that is able to handle parts placed in any orientation anywhere in it’s workspace, multiple at a time as shown in figure 1.

When provided with a 3D CAD model, the system can support a new product with very little effort (and some time for 3D printing an assembly template).

To illustrate the division of tasks between man and Co-bot, a user manual is written. In this manual the tasks of the user and robot are separated. The user follows these steps and makes sure the right parts are combined in the correct way and placed under the robot as shown.

Figure 2: End effector includes a camera and screwing system
Figure 2: End effector includes a camera and screwing system

Then the robot system takes over. An overhead camera scans for objects. The robot moves to a position above an object and scans the product specific QR-codes with the second camera mounted near the toolpoint of the robot (see figure 2). This code has dual functionality: to identify the product and, equally as important, to provide a fixed reference point on the product assembly.

The QR-code is accompanied with an .xml file which is generated directly from the CAD model and contains all the necessary data about where to put which bolt. With this information the robot selects the correct bolts and fixes these in the right holes.


Figure 3: KOLVER screwing system, includes controller and screwing unit.
Figure 3: KOLVER screwing system, includes controller and screwing unit.

A high tech KOLVER screwing system is attached to the robot and executes the screwing process. This system makes sure the bolt is fixed with the right torque, also specified in the .xml configuration file. The controller unit provides feedback to the robot to indicate success or failure to reach the desired torque.

The entire system is built using ROS. This system provides a very convenient environment to combine different pieces of hardware with a lot of flexibility.