AutomationML for Data Exchange in the Robotic Process of Metal Additive Manufacturing

Flexibility, adaptability and standardization of multidisciplinary production processes are key issues for today’s industry. The digitalization of industry partially helps to overcome these challenges, leading to the need for efficient management of data. AutomationML has been pointed as a solution to solve the problem of data exchange between heterogeneous engineering tools landscape. This paper introduces a practical approach for data exchange on a production-engineering environment linked to Metal Additive Manufacturing (MAM). The proposed approach allows the exchange of data/information between different engineering tools using AutomationML Engine. For example, the MAM paths can be edited and enriched with information along the different stages of the process (design, simulation, robotics) using a neutral format. In the sphere of Direct Energy Deposition (DED) technologies it is proposed a practical use case for data exchange and editing, from computer aided design (CAD), to path planning, to process parameters definition, to robot programming. Results demonstrated the effectiveness of the proposed AutomationML-based solution.


I. INTRODUCTION
T HE exponential growth of digitalization transformed data management into one of the focus points of the industry 4.0 concept [1]. Data exchange between heterogeneous engineering tools has been considered a bottleneck in production [2]. Therefore, in order to have a flexible and effective production system, it is important to have an efficient methodology to allow data flow and management between the different tools of such production system [3].
The traditional methodology for data exchange consists mainly on manual work [4], where the information is transferred from one system to another via heterogeneous data files. Since most of these data files come in different formats, structures or types [5], the data exchange becomes a complex process or even impractical. As a result, such data sources turn into "information islands". Such a process of data exchange is highly time consuming and prone to human error. Besides  [6]. that, the subsequent editing made on data files usually do not return to the source, which often causes data loss. Moreover, the organizations spend time and money trying to find common data types and acquiring a given software because they need it to read and edit data from partners. This paper aims to develop an end-to-end digital Additive Manufacturing (AM) solution based on Direct Energy Deposition (DED) technologies. It focusses on the study and development of a neutral data exchange file format, AutomationML, to be applied to DED. The digital thread of the process is divided 978-1-7281-0303-7/19/$31.00 ©2019 IEEE in two stages, the offline stage and the online stage. The offline stage is concerned in reaching the optimal conditions to produce a certain part. It includes part CAD design, topology analysis, path planning, simulation and the testing of the part in a virtual environment, Fig. 1. Once all the points of the offline stage are concluded the online stage can be initiated. This stage is dedicated to the effective production of the part and the non-destructive testing, Fig.1. All these sub-stages rely in different engineering tools and require the exchange and editing of large amounts of data.
The current scenario of AM data flow involves a wide range of file types that are generated along the different substages of the process. This variety of file types can become a problem in terms of interoperability. Proprietary file types are specific for a given software tool which are not seamless compatible with other tools used in upstream or downstream processes. Standard file formats can be used to overcome this interoperability issue. For example, the stereolithographic (STL) files used to specify a 3D surface at the design substage or the slicing software at the path planning sub-stage. Nevertheless, there is no standard nor machine independent file formats that link all the stages of the process. Each process/equipment/software has its own specific file format and specific data structure with specific configuration. A big challenge is related to the implementation of optimization loops connecting different sub-stages, for example the multiphysics simulation and the path planning.
We propose to solve this problem by implementing a neutral data format based on AutomationML standardized in IEC 62714 [7], allowing to exchange data between different tools used in both offline and online stages. The DED process data (AM paths and process parameters) are generated and stored on an AutomationML file. Results indicate that Automa-tionML data exchange allowed successfully exchanging and editing data between the different sub-stages of the process.

II. AUTOMATIONML
A number of key companies in manufacturing and automation domain joined efforts to identify the main issues of productions systems regarding data exchange. Such efforts conducted to the development of Automation Markup Language (AutomationML), IEC 62714 [8]. Their vision was to create a system where different components are integrated together (physical manufacturing plants, components and software) resulting in a more efficient management of manufacturing resources. The AutomationML format is based on extensible markup language (XML) format and it is standardized in IEC 62714. It surged as a combination of pre-existing neutral data formats such as computer aided engineering exchange (CAEX) standardized in IEC 62424, COLLAborative design activity (COLLADA) and PLCopen XML. It merged the best properties of each of them into a single format, AutomationML [9]. The central part of an AutomationML file is a CAEX structure, which allows to store data as a hierarchical structure of plant objects [10]. More specifically, the data are stored in instance hierarchies where nodes represent individual objects named internal elements, and in its turn, the internal elements within an instance hierarchy can be composed of other internal elements resulting in a hierarchical structure [11].
The objects (classes and instances) are stored in the CAEX structure. However, in order to describe the behavior, geometry and/or kinematics of a production system, there exists some auxiliary data formats which compose the AutomationML file, for example, COLLADA which is used to store kinematic and geometric information of the objects [12] and PLCopen XML that is optimized for logic information [13].
The relationship between object hierarchies can be setup for the programming of CAEX documents. Fig. 2 shows an example on how to create a relationship between a System Unit Family Class and a Role Class where is used C# programming code to generate AutomationML models by means of AutomationML Engine.

III. METAL ADDITIVE MANUFACTURING DATA
Over the past three decades, additive manufacturing has been growing considerably. This is reflected by the increased market size from over 100 million EUROS in 1993 to approximately 12 billion EUROS in 2018 [14], [15]. Although AM processes are typically applied to polymer parts for prototyping or illustrative purposes, the engineering community is developing strategies to apply them directly on engineering projects by implementing AM strategies to composites (e.g. fiberglass and carbon fiber) and metals (e.g. steel and titanium alloys). The current development of DED is focused on producing components with complex shapes at a relative low cost. When it comes to DED, aerospace and automotive industries appear to be leading the way, seeking opportunities to reduce manufacturing lead-times, weight of parts and lower production costs [16].
In this paper, the range of DED strategies considered are narrowed to wire arc additive manufacturing (WAAM) and laser metal deposition (LMD). WAAM is an arc based process which due to its high deposition rate has drawn the attention of the research community [17], [18], [19]. A low cost WAAM-based solution was proposed for the manufacturing of structures containing thin walls, with applications in the aerospace industry [20]. LMD uses a laser beam to deposite metallic material, added in the form of powder or wire, by melting them on the surface of a substrate. The main advantage of LMD is the relatively low heat input and the ability to control it, which prevents distortions or cracks in the final part [21]. DED brings the possibility to manufacture parts with complex shapes at a relatively low cost. However, it has also attached to it a few challenges inherent to the nature of the MAM processes. Considering for instance the LMD process, it involves parameters such as laser power, deposition speed, path strategy, dwell time in order to control the thermic concentration, among others. These process parameters not only vary with the material used but also differ from part to part. Generally, there are different departments working together since the initial phase of CAD design, up to the final phase related to the manufacturing and testing of the part. These departments are heterogeneous and when it comes to data exchange, it becomes more difficult to exchange the information from one department to another. Therefore, having a file with a neutral data format such as AutomationML might be very helpful to make this process more efficient.
Companies are normally not open to use data neutral formats and try to protect their own tools. However, in the last few years we assisted to a trend in which some companies are starting to adopt neutral formats for data exchange. In this scenario they improve the interoperability of their products and increase the number of possible users.
Regarding AM path planning strategies there are several possible solutions. However, only a few of them are suitable for DED. When implementing the path planning strategy, a key challenge is to develop robust algorithms fitted to slice a CAD model and to obtain a path that ensures a defect free part with minimum support structures and collision free deposition. Ding et al. enunciate a list of path patterns for the AM process such as raster, zigzag, contour, spiral, among others [22]. Nevertheless, for the WAAM and LMD process these patterns present few imperfections. A suitable solution for DED path planning is based on the medial axis transformation (MAT) [22]. MAT was first introduced by Blum to describe shapes with medial axis defined as "loci of centers" of locally maximal spheres inside an object [23]. In two dimensions (2D) the MAT would be the "loci of centers" of locally maximal circles inside the region of a 2D shape, Fig. 3. Recently, it has been identified as a solution for MAM path planning. The path planning strategy starts by filling the part from inside towards outside. By using this strategy, it is possible to reduce imperfections like pores and gaps related to MAM. Fig. 4 shows a path example applied to a part based on MAT strategy for DED. IV. DATA MANAGEMENT Our proposed approach passes by importing to an Automa-tionML file the data from our path generator combined with the process parameters. At the path planning phase, once the path is created, Fig. 4 (right), we can generate a numerical control (NC) file containing all the points of the path. The points are extracted from the NC file and stored into an commaseparated values (CSV) file, and later in an AutomationML file by means of the AutomationML Generator. At the same time, when the points are uploaded to the AutomationML file, the data are stored into a CAEX tree structure. Fig. 5 illustrates the architecture of the AutomationML generator. Starting from the CSV file, which holds the path information from the NC file generated form the CAM software. Every line represents a single point of the path and each point has the information of its cartesian coordinates (X, Y, Z), its orientation (Rx, Ry, Rz) and lastly the existence or absence of material deposition (E). The points from the CSV file are saved into a variable named Points[], where it is made an iteration process in order to organize the points into layers and tracks. The output from this second step is the variable Points[], in which every point has indicated to which layer and track it belongs. Also, it is attached to them the Cartesian coordinates and the information relative to the orientation. The third step consists on choosing the AM method. This step enables the user to add manually process information (laser power, deposition velocity, dwell time, etc.) according to the selected AM process. Finally, the fourth step is the creation of the AutomationML file. All the data from the variable Points[] combined with the process information of the selected AM process are merged and stored into a CAEX tree structure, Fig 6. The AutomationML Generator was developed with the help of AutomationML Engine software, Fig.7. It mirrors the XML data model of CAEX hierarchies through a C# class model. Moreover, it has an automatic generating process that allows to manipulate object data, to add or remove children in the CAEX hierarchies and to change or delete CAEX objects like instances or classes. AutomationML Engine is used as a tool to simplify the programming process. It relieves the programmer from directly managing XML code and therefore avoiding human programming errors. The developer operates on a class   level, while AutomationML Engine creates the correct CAEX schema file according to the CAEX schema [2].
The AutomationML Generator imports and stores data from the CSV file to the AutomationML file. Such data are later provided to a robot post-processor. The AutomationML Generator allows to upload points from the path and has the ability to group them into tracks and layers, Fig.8. A layer consists of a group of points which are at the same distance regarding the normal surface of manufacturing, while a track is a sub element of a layer representing the points associated to the deposition of material. The criteria to identify a track consists on analysing when occurs an interruption in material deposition, this is, when the extruder stops the deposition on a track in order to travel and start deposition on another one.
Having the path separated into tracks and layers allows a better control on the manufacturing process. The advantages are multiple, making the process more flexible and in which the user is able to manipulate the parameters at layer or track level. This may conduct to the fabrication of better-quality parts, for example by reducing the structural failures on the manufactured part.

V. AUTOMATIONML FILE EDITOR AND PATH VIEWER
Once the AutomationML file has been created, it is possible to visualize the layers, tracks and the process parameters in a CAD environment using our proposed FreeCAD-based custom workbench. The AutomationML file is the only input for this workbench and it allows the user to modify the process parameters intuitively. Such a CAD environment was created in FreeCAD software [24]. This software has the possibility to create a workbench with custom features programming in Python and C++ language by means of Qt libraries. The workbench provides functionalities to select and edit a given layer or track, Fig. 9. This is especially useful for complex part geometries where we could anticipate eventual local problems on the manufacturing of the part and then strategically modify the parameters on the desired track or layer. As the parameters are changed, the AutomationML file is also updated with the new updated parameters, which will later be used to generate the path planning or to simulate the AM process.

VI. AUTOMATIONML AND ROBOT SIMULATION
Regarding to the offline stage, the AutomationML file contains all the information to build the part and therefore  to simulate the building strategy in a robot simulation environment or in a structural simulation environment.
RoboDK has been used for off-line robot programming since it contains an extensive library of industrial robot arms and external axes. Hence, the AutomationML file created and edited in the FreeCAD-based custom workbench can be imported into RoboDK to simulate the path planning and then generate the robot code necessary to build the part in a real robotic cell. Fig. 10 shows the RoboDK environment with a trajectory generated from the AutomationML file.

VII. CONCLUSION
One of the biggest challenges in the workflow of today's industry is the data exchange between heterogeneous engineering tools. AutomationML demonstrated to be a solution which simplifies the data exchange process for the DED process (paths and process parameters), making it more efficient and faster, while reducing human error. It serves as a neutral data format for the exchange of data between the heterogeneous engineering tools of the DED process, including CAD/CAM, a FreeCAD-based custom workbench and offline robot programming software. The AutomationML demonstrated to simplify significantly the programming efforts when compared to other  classic neutral data exchange techniques such as XML. The proposed solution demonstrated to be an efficient tool to the exchange of data between the different stages of the DED process.