Dislo-man, an Industry 4.0 research project

Article by Andrea Romano


Dislo-man is an Industry 4.0 research project. The goal of this project is to realize a system that can recognize a broken object and build a new one. With a 3D scanner the object is scanned and send to a server over internet. The server looks for a similar object in its database, then it sends to the system a 3D model of the whole piece.  Now it’s possible to print it with a 3D printer.


A 3D scanner is a device that analyses a real-world object or environment to collect data on its shape and possibly its appearance (e.g. colour). Many different technologies can be used to build these 3D-scanning devices; each technology comes with its own limitations, advantages and costs. There are a variety of technologies for digitally acquiring the shape of a 3D object. A well established classification divides them into two types: contact and non-contact. Non-contact solutions can be further divided into two main categories: structured light and laser.

The process used in a structured light scanners is a projection of a known pattern (often grids or horizontal bars) on to a scene. The way that these deform when striking surfaces allows vision systems to calculate the depth and surface information of the objects in the scene.

A laser scanners use a laser dot or line projected onto an object and a sensor measures the distance to the surface.

In both case the devices return back a point cloud of the object scanned thath can be handled with PCL (Point Cloud Library), an open-source library for C++.


For the communication between the system and the server, we used ROS (Robot Operating System), another open-source library for C++. With this library it’s possible to “publish a message” into an object called “topic”. The message can be everything you want. In our case will be the broken object. Then the server can subscribe the topic and read the “message”. With an algorithm called “3D object recognition based on correspondence grouping” it’s possible to find in the database the whole object. Now with the same mechanism the server sends the object as ROS message to the system.


3D printing refers to processes used to create a three-dimensional object in which layers of material are formed under computer control to create an object.

The printer has an extruder that can move along 3 axis X,Y, Z. The extruder is heated to melt the plastic, then a plastic filament is posed on the bed of the printer to make the shape of the object. Finally, the object is printed by posing this filament on the bed layer by layer. Objects can be of almost any shape or geometry and typically are produced using digital model data from a 3D model or another electronic data source. STL (Stereolithography)  is one of the most common file types that is used for 3D printing.

This file is converted in GCODE, a CNC (Computer Numerical Control) language that tell to the printer the extruder temperature and how to move the extruder along the axis for all layers. In the software that convert in GCODE it’s possible to choose the height of the layer, that means how accuracy is the object printed. A better accuracy means that the time to printing increase.

Soft-in S.r.l. Beinasco