Robotic sanding of complex geometry

Students:  Alvin DumaijJon DiazSander HemmesJan Tromp

Hittech Multin is part of the Hittech Group. This group is a Full Service System Supplier which supplies companies such as ASML. It consists of about ten companies which are located in the Netherlands, Germany and Malaysia. Hittech Multin is the biggest one in the Netherlands and houses the engineering department. They design medical equipment, semi-conductors, laboratorium devices, analysis devices and packing machines. These are, as the name of the company says, products with a very high tech level.

One of the medical equipment which the company produces is an advanced microscope which has an interesting part with a complex geometry.

Foto 12-6-18 15 41 03                  Foto 12-6-18 15 41 14
Final appearance of the piece

When the part is almost finished it’s applied with a layer of lacquering. To lacquer the part it first needs a primer layer which needs to be grinded afterwards. This is done so the second layer has a better cohesion. Currently it’s done with manual labor which takes a lot of time and costs the company money. Hittech is always keeping up with the latest technologies and wants to see if sanding of the complex geometry is possible with a co-bot and specifically the UR-10.

Hittech has given the group the task to design a system which can sand a part with a complex geometry by using an UR-10 and an Optoforce sensor. The target is to make the robot sand at least 80% of the surface of the object, the remaining 20% can be done by the employees.

The idea is not to replace the employees with the robot but to let the rough work be done by the robot so the human can do the harder parts.

The outcome of the project will determine if the company will decide to invest into buying the UR-10 and implement the automation of the sanding in their work process. The hardest part of the project will be the path the robot has to follow and integrate all the processes together.

Foto 13-6-18 14 49 45
Overall image of the set up

Project components
The project needed the following components to work:

  • EOAT (including sanding equipment)
  • Collaborative robot (UR-10)
  • Optoforce F/T sensor
  • Robot Movement (RoboDK Software & Path Recording)
  • Communication with user and connection with the robot (Python 3.6)
  • Clamping system

The company had already designed an EOAT for the project. It consists of a hand sanding tool which works with pneumatics and a simple C-clamp where the sanding tool is locked in. The clamp is a lightweight tool made out of aluminum which has been milled out of a single block. The sanding tool is a “Dynabrade 59118”, it’s the tool which is currently being used by the employees to sand the components manually.

Instead of electricity the tool works on pneumatics, the speed of the sanding can be changed in two different ways: limit the airflow from the nozzle and decrease the speed on the sanding tool itself. The desired situation would be that the different surfaces would be grinded with different speeds so it will give the best results. However the tool works with a single speed while grinding the object.

Foto 12-6-18 15 14 18
EOAT (Sanding tool, C-clamp and Optoforce Sensor)

Collaborative robot (UR-10)
Hittech wants to invest in a co-bot such as the UR-10. This robot has built-in safety features which can detect collision with e.g. a human, this collision detection allows the robot to work next to an employee. For the project, the robot with the most updated software (v3.5) was needed for the Optoforce sensor to work.

Optoforce F/T sensor
The Optoforce F/T sensor is designed to detect and apply the forces from the UR-10 onto the object. The sensor is applied to the EOAT  and can be set so the robot will always exert a force of 5N in the Z direction. This makes sure it is nicely stuck to the surface of the object. Next to the detection of the forces it has a really interesting function called path recording. There will be more about this function later in the article.

Robot Movement
In this project the path is generated in two ways, with RoboDK and a path recording tool made in Python, which makes use of the Optoforce ‘Hand Guide’ function.

RoboDK software
RoboDK is professional software where paths can be generated by importing the CAD file of an object and putting different targets on it. In this software it is really important that you make sure that the robot doesn’t collide with itself or the object. It is really easy to make paths as long as you take the position of the tool and robot into account.

The bottleneck with this software is that the calibration of the tool needs to be extremely precise (you barely can’t be off by 1mm) in order to follow the same path as the one displayed in the software. This issue was fixed by using the force sensor and experimenting with the robot in real life.

Path planning of Surface 1 using multiple targets in RoboDK

Path Recording
There is a connection between a laptop running Python and the UR which constantly records the path the robot makes. By using the ‘Hand Guide’ function of the Optoforce F/T sensor, you can make fine natural movements over the surface (in slow motion). This recorded path can later on be executed on the UR at a normal speed. The benefit of this is that it does not take a lot of time to get a general sanding path over the desired surface. The downside is however that you cannot easily manually change a part of the path, and that you will have to redo the path.

However, for more complex geometries it’s recommended to use RoboDK in order to reach a better precision of the sanding process. This is because collisions can easily be detected, and therefor solved, in RoboDK. With manual path recording however it will take some ‘takes’ before you have a good recording. For simpler geometries using the manual path recording will be a lot faster.

Communication with user and connection with the robot (Python 3.6)
Python is also used to create a Graphical User Interface (GUI). This was done with the Tkinter class which is specially made for GUI’s in Python. You can select if you want to grind a specific surface or all of the surfaces combined. Variables such as the velocity, force and acceleration were also taken into account and can be easily modified in the GUI.

The recorded paths or the generated paths in RoboDK are recorded as simple waypoints (movel’s). A Python script is used To convert these waypoints into a force sensor enabled script that can be executed on the UR.

Final GUI
Graphical User Interface

Clamping system
A really basic clamping system was made to stuck the object in a fixed position. It consists of a frame made out of aluminum profiles which have been bolted to the topside of the table.

The object is bolted with a long screw and a few washers to an extrusion profile.

Foto 13-6-18 15 15 04
Clamping system