Keywords

1 Introduction

Through robotics, the value of human labor is increased, resulting in greater economic return for business and higher wages for workers. Automated technology and robotic systems are increasingly important in modern shipbuilding manufacturing industries. Robots for welding, painting, heavy lifting and other tasks, are helping to increase the productivity at shipyards, while sparing human workers the most dangerous and thankless tasks.

Navantia is a Spanish state-owned shipbuilding company [1], giving service to both military and civil sectors. It is the first shipbuilding company in Spain, the fifth largest shipbuilder in Europe, and the ninth largest in the world. By size and technological capability, it occupies a leading role in European and Worldwide military shipbuilding, with experience in building technologically advanced ships (frigates, amphibious ships, patrol vessels, submarines,…) for different navies.

Robotics in the shipbuilding industry is neither a new [2] nor an easy task. Traditionally, the shipbuilding industry has relied on the labour of a large number of skilled workers, who worked for many hours in dangerous and highly demanding tasks such as welding, cutting and painting. However, with the intensive use of robotic applications, Asian countries such as South Korea, Japan and China have greatly reduced manufacturing time and labour costs, becoming leaders of the market [3]. The reason for this is the specialization of Asian companies offering a narrow set of products, but highly competitive and manufactured in an impressively short period of time. To become competitive, European companies should offer the best product of the highest quality at a competitive price. This goal is achieved in Navantia thanks to its constant commitment to innovation and technology. Navantia has a powerful technical office and makes extraordinary efforts in Research and Development with the aim of always offering the latest products and services. The innovative spirit that reigns within the company leads not just to foreseeing the future needs of clients but also to getting a step ahead with original projects. It is precisely in this spirit that Navantia decided to consider robotics technology for welding more than 5 years ago.

Robot Fase I project, developed in 2012 allowed Navantia, as it is shown in Fig. 1, the acquisition of two FANUC ARCMate 100iC MIG welding robots with R-30iA controllers mounted in an 8 meters-high mobile gantry crane at Navantia company in Puerto Real, Spain. However, the use for production purposes of this equipment was quite difficult as the programming process was very difficult, time-consuming, and quite expensive in terms of highly specialized man-hours.

Fig. 1.
figure 1

Welding robotic structure: two FANUC ARCMate 100iC MIG welding robots with R-30iA controllers mounted in an 8 meters-high mobile gantry crane at Navantia company.

Robot Fase II project was developed in 2016 in collaboration with the University of Cádiz. In this project, the main objective was the improvement of the productivity and the programming speed using the available infrastructure. The complete solution, described in the next sections, was originally conceived and undertaken by two research groups at the University of Cadiz with more than 20 years of experience (in areas such as Robotics, Artificial Intelligence, Image Processing, Data Analysis, Simulation,…) in Industry 4.0 related projects: (i) Intelligent Systems and (ii) Applied robotics.

Intelligent Systems research group took care of all software related questions, and also designed the software for calibration and automatic generation of robot code.

Applied Robotics research group was in charge of all hardware-related tasks, such as robot manipulation, maintenance and training.

2 Robotic Welding Solution Description

The shipbuilding process is mainly divided into design, cutting, welding, assembling, grinding, blinding, and painting processes [4]. Among these manufacturing processes, welding is the most crucial, expensive, and time-consuming process. For that reason, the main objective of the project was the use of a robotic arm for welding purposes in a production environment. This could yield an increased productivity and an improvement in the working conditions of company workers, greatly reducing their work-related musculoskeletal disorders [5,6,7].

Today, welding robots are vital to shipbuilding for their economic feasibility, production effectiveness, speed, and level of detail. The problem with the use of robotics in shipbuilding is robot programming [8,9,10]. Usually, programming an industrial robot takes much time and may be suitable for jobs consisting in the repetition of a monotonous motion, applying therefore to identical pieces (same size, shape and orientation). But, in shipbuilding, workpieces are not identical. What is more, they are usually so large that their dimensions are prone to large errors (in the order of few millimeters in the best case) not only for manufacturing accumulated errors but also to unavoidable causes, such as metal dilatation.

2.1 System Description

The solution to the original problem had some requirements to be fulfilled. The main requirement was that the provided solution should significantly reduce the required time for programming the robot in a typical production situation. A second requirement was that workpieces to be welded should be considered of variable size. While the shape among different pieces was considered to be nearly constant, differences in the dimensions across the three directions of the space could vary significantly.

Three different solutions where considered to meet these requirements: (i) finding a commercial solution, (ii) developing a completely automatic solution and (iii) designing a semiautomatic process capable of reducing the required programming time.

While some commercial solutions were available for different purposes, none of them had enough flexibility to be adapted to the available robotic system. What is more, the flexibility needed due to different shapes and sizes reduced the options to a few companies.

Some of them provide solutions for fully automatic welding of open blocks (profiles, T-bars and girders) or determine the welding jobs in its working area by means of an integrated logic system. However, the system design is not open, and new block shapes or structures always means a dependency on this company for new developments that we tried to avoid.

On the other side, other companies offer different solutions for programming in place work pieces (Shipbuilding solutions, panel structures) or manipulated work pieces (any product). However, its price and the difficulty in programming welding sequences for new workpieces to expand the system without the help of the company motivated us to discard this option as well.

The completely automatic solution was quickly discarded, as the company was interested in a solution working in the workshop, not only in the laboratory, compatible with a huge number of workpiece shapes and sizes and easily adaptable to new structures. The high complexity of the task and the absence of such solutions in the market, convinced us to find a solution just in the middle, considering an ad-hoc semiautomatic welding process developed entirely by the University of Cadiz and Navantia.

Once the semiautomatic process was defined, the system was conceived into three parts. First a 3D acquisition system was required to capture the real dimensions of the pieces to be welded. Secondly, and given that an enormous range of shapes and sizes was possible for the workpieces, the definition of a library of templates was considered, including those shapes more frequently welded in the typical panel lines in a shipyard. Templates had to be designed for each different workpiece, but its configuration should be independent of its dimensions to a given tolerance limit. Then, in a real operation, the worker should select the appropriate template according to the desired shape, collect from 3D space the real dimensions using the 3D acquisition system in real time and the software should mix automatically information from both sides (template, 3D real world coordinates) to generate a welding program in the FANUC language to be loaded into the robot. And finally, the program should be transmitted to the robot in an automatic way.

2.2 3D Acquisition System

There were many alternatives to acquire 3D information. Both mechanical and optical systems were considered, including coordinate measuring arms, trackers, optical systems, laser and/or structured light scanners and stereo cameras. The accuracy in the final configuration would be the sum of the inherent error of the chosen technology, alignment errors in transferring the coordinate system of the 3D capture to the robot coordinate system and measuring errors due to human intervention.

After a series of testing experiments using different equipment solutions in a real world environment, we decided to use a coordinate measuring arm, as the accuracy of this solution was in the order of microns, the price was extremely competitive compared to other alternatives and the interface with the ad-hoc software was guaranteed by the use of the corresponding software development kit (SDK). The SDK would allow us to easily capture 3D coordinates when the worker pressed the trigger of the arm. These coordinates were referred to its own internal coordinate system and should be rotated and translated easily, but this was possible using a simple matrix multiplication using homogeneous coordinates [11].

The analysis of the market for coordinate measuring arms was quite exhaustive, and several brands and distributors were considered (ROMER, FARO, NIKON, ECHO Arm, HEXAGON, Kreon, RPS, CIMCore, etc.). Most of the requirements for the coordinate measuring arm (accuracy, light weight, number of degrees of freedom, possibility to add an scanner,…) were fulfilled by all suppliers, but the ROMER arm length had no competence and given the application for which it was going to be used, a 4.5 meters length ROMER coordinate measuring arm was chosen.

The ROMER absolute Arm features absolute encoders (there is no need for referencing, when the arm is turned on, it is ready to go), versatility, portability, stability, light weight and the possibility to adapt a high-performance laser scanner. What is more, it does not require warm-up time or initialization, thanks to a stable carbon fiber structure and industry leading absolute encoders.

2.3 Adopted Solution

The adopted solution considers a light-weight portable coordinate measuring arm (see Fig. 2) that the worker uses to capture 3D coordinates. This information is sent to the software that translates it into a real robotic program using the chosen template, and automatically transmitted to the robot.

Fig. 2.
figure 2

Schematic description of the proposed welding equipment configuration. 3D coordinate measuring arm is used to capture 3D information, while welding robots use this information in a continuous welding operation.

This approach has several advantages. When the robot is welding, the worker may start taking coordinates of the adjacent piece. This is extremely important, as the worker can advance the 3D coordinate measuring process while keeping out of the robot working range. As a consequence, the robot may stay welding 100% of the time, as welding is much more time consuming than coordinate measuring. In fact, as welding usually takes one order of magnitude more time than measuring (including arm movement, anchorage and workpiece measuring), this makes possible that a single worker manipulates several robots at the same time.

Therefore, using this approach and taking into account the use of a coordinate measuring arm, the final configuration adopted in the ROBOT FASE II Project was the one shown in Fig. 3.

Fig. 3.
figure 3

Schematic description of the proposed welding solution. A coordinate measuring arm is used to capture 3D information. The software adapts a previously chosen template using real world coordinates and generates the robotic program.

3 Software Structure

The software has been developed entirely by the Intelligent Systems and Applied Robotics research groups of the University of Cadiz, in collaboration with Navantia company and continuously supported by its most skilled and experienced welding workers. The software is structured into four parts:

  1. 1.

    A library of templates

  2. 2.

    An automatic generator of FANUC code

  3. 3.

    A friendly Graphical User Interface to have access to all functions and easily manipulate the whole system

  4. 4.

    Other software components

    • An interaction layer to SDKs from ROMER and FANUC companies

    • An FTP interface to send the generated program to the robot

    • ROBOGUIDE-WeldPro simulation software

3.1 Library of Templates

The library of templates consists of a collection of packages of highly specialized information for each piece. The gathering of this information was made with the help of highly skilled professional welders, as it is the core of the system, being responsible for the quality of the whole system. The information stored in each template consist of three parts: the geometry, the welding sequence, and the welding parameters for each section.

The geometry (shape and theoretical dimensions) is stored in a CAD file using OBJ format. This file is used not only for the generation of the corresponding program, but also for visualization purposes in the user interface, as shown below.

The welding sequence is quite important as it effectively controls distortion. It consists of a series of steps that define the order of making the welds. It strongly depends on the piece shape and dimensions, and is supplied by the skilled welder.

Welding parameters are also very important, but in this case they affect directly the quality of the welding at the end of the process. It is a complex set of parameters defining the process for each section of the welding, including the torch orientation and speed, arc intensity, waving amplitude, waving frequency, waving orientation, supplied material, material, etc.

3.2 Automatic Generator of FANUC Code

Once the 3D coordinates of the real world piece are available, the chosen template is modified accordingly. This process uses all the template information and creates a new program specially fitted to the real world piece. The generation of the FANUC code is not easy, and it is divided into several sections: initial positioning, approach, welding, separation, go to home.

Calibration is made by touching four previously identified and referenced points in the robot using the coordinate measuring arm. These points have been chosen to be in a position similar to the vertices of a tetrahedron in order to maximize the accuracy of the transformation [12].

A relevant feature included in the final version of the software is the orientation. The system uses the captured 3D points to estimate the orientation of the piece in 3D, making possible to weld similar pieces in any orientation in the space, as the angle of the piece with respect to the theoretical piece stored in the template library is calculated and properly considered in the welding program.

3.3 Graphical User Interface

In this project, the design of the Graphical User Interface (GUI) was very important, as it is intended to be user friendly [13]. It has been developed in Lazarus, a cross-platform IDE for Rapid Application Development [14]. It has a variety of components ready to use and a graphical form designer to easily create complex GUIs. In this project, the Castle Game engine was used for 3D visualization of OBJ files, allowing the code for visualization to be quite simple and reduced in length.

The first advantage of the developed software (in this case it was the main reason to choose the Lazarus environment) is that all the code, including libraries, graphical interfaces, etc. is encapsulated in a single executable file, making it quite easily to be updated, as copying the new executable file with the same name is all what is needed. The software is quite intuitive, as it is shown in Fig. 4.

Fig. 4.
figure 4

Main window of the Graphical User Interface. On the left side, the template tree is shown. In the middle of the screen we may observe the chosen template in 3D. On the right hand side we may observe the message window. Three main buttons are observed: in the left side to load the template, in the center to capture coordinates using the coordinate measuring arm, and in the right side to send the resulting FANUC code to each robot.

The main window is easy to navigate, as it is designed to be used by the worker using a single window, consisting of (i) a template section to choose the desired template, (ii) a visualization area to show in 3D the chosen piece in 3D, being possible to shift, rotate, zoom in and out,…quite easily using the mouse, a message window to send some feedback to the user of the evolution of the process and (iii) three main buttons, one to load the template, another one to capture the real 3D coordinates with the coordinate measuring arm and the other one to send the automatically generated code to the FANUC robot using FTP.

The software is quite efficient in the sense that it is able to work with complex pieces in 3D in an ordinary computer, taking only a few seconds to generate the FANUC code at the end of the capture process.

Finally, the main advantage is that the software has been entirely developed by the University of Cadiz, and therefore any modification or improvement needed in the future may be implemented quite easily.

3.4 Other Software Components

The rest of the software components are intended to communicate with the ROMER arm and the FANUC robot.

In the first case, an SDK has been available to communicate the software with the ROMER arm, capturing the coordinates in 3D and accessing them in real time. The capture is determined by the user by manually activating the rugged and accurate touch-trigger probe of the ROMER arm.

In the case of the FANUC robot, two packages of software have been used. The first one is a FANUC SDK to have access to all parameters of the robot (specially 3D coordinates and robot joint angles) in real time. The other one is a FTP interface, that was used to send the generated code to each of the robots.

It is worth mentioning that the software is manipulated by the worker remotely, using a remote application (TeamViewer) and a ruggerized tablet connected via WIFI.

Finally, in the development of templates, the ROBOGUIDE-WeldPRO programming tool was used (see Fig. 5), as this tool allowed us to simulate two FANUC ARC Mate 100iC arc welding robots in 3D space. It proved to be extremely accurate and easy, and very useful for developing and testing purposes.

Fig. 5.
figure 5

ROBOGUIDE design with two FANUC ARcMate 100iC robots, strongly resembling the real world configuration in Navantia company

4 Conclusions

In this paper, the development of a customized interface for a robotic welding application at Navantia shipbuilding company in the framework of the ROBOT FASE II project has been described.

This software allows the reduction of the programming time from hours to a few seconds by a non-experienced worker. The performance improvement in the welding process is quite remarkable. It has been designed using a user-friendly Graphical User Interface, being quite easily updated, improved and expanded.

The FANUC ROBOGUIDE programming tool has been used to simulate the real environment and has been used for developing and testing purposes.

Future work will be devoted to replace the coordinate measuring arm with an artificial vision system in order to automatically capture the 3D real world environment.