• No results found

Automation of Offline Programming for Assembly and Welding Processes in CATIA/DELMIA using VBA

N/A
N/A
Protected

Academic year: 2021

Share "Automation of Offline Programming for Assembly and Welding Processes in CATIA/DELMIA using VBA"

Copied!
62
0
0

Loading.... (view fulltext now)

Full text

(1)

Master thesis, 30 credits | Master of Science – Mechanical Engineering Spring 2021 | LIU – IEI – TEK – A – 21/04066 – SE

Linköping University Se-581 83 Linköping, Sweden +46 013-28 10 00, www.liu.se

Automation of Offline Programming

for Assembly and Welding Processes

in CATIA/DELMIA using VBA

______________________________________________________________________________________________________

M

ASTER

T

HESIS

Author: Henrik Müller-Wilderink

Examiner: Johan Persson, Linköping University Supervisor: Mehdi Tarkian, Linköping University

(2)

II

A

BSTRACT

Programming industrial robots for welding or part manipulation tasks is a time-consuming and complicated process, resulting in companies not able to implement robot systems and exploit their advantages. To reduce the time needed for programming, research is looking into ways to automate this process and reduce manual labour.

In this thesis a concept for automating the programming process of industrial robots was investigated using EXCEL VBA and CATIA/DELMIA. It was done for an industrial grating model of varying sizes and configurations, resulting in a time reduction of 99% compared to manual creation. For this, the model was first automatically created from scratch for the required configuration and afterwards a robot motion was created fully automatically. The concept and modelling approach is described, and the automation approach detailed. Finally, the results are analysed and discussed.

(3)

III

T

ABLE

OF CONTENTS

1 INTRODUCTION ... 1 -1.1 BACKGROUND ... 1 -1.2 PROJECT GOALS ... 2 -1.3 SCOPE ... 2 -1.4 RESEARCH QUESTIONS ... 3 -1.5 DELIMITATIONS ... 3

-2 STATE OF THE ART ... 4

-2.1 DESIGN AUTOMATION ... 4 -2.2 INDUSTRIAL ROBOTS ... 6 -2.3 MATHEMATICAL TRANSFORMATIONS ... 10 -2.4 FIXTURE DESIGN ... 12 -2.5 MIG/MAG WELDING ... 13 -3 METHODOLOGY ... 15 -3.1 PROOF OF CONCEPT ... 15 -3.2 SPECIFICATION ... 15 -3.3 CONCEPT GENERATION ... 16 -3.4 MODELLING ... 16 -3.5 AUTOMATION ... 16 -3.6 ANALYSIS ... 17 -4 RESULTS ... 20 -4.1 PRODUCT DESCRIPTION ... 20 -4.2 PROOF OF CONCEPT ... 21 -4.3 SPECIFICATION ... 23 -4.4 CONCEPT GENERATION ... 24

-4.4.1 Concept Generation of the CAD Model ... 24

-4.4.2 Concept Generation of the Fixture Design... 26

-4.4.3 Concept Generation of the RE and RM ... 26

-4.5 MODELLING ... 27

-4.5.1 Modelling the CAD Model ... 27

-4.5.2 Modelling the RE and RM ... 29

-4.6 AUTOMATION ... 30

-4.6.1 Automating the CAD Model Generation ... 31

-4.6.2 Automating the RM Generation ... 33

-4.6.2.1 Automation of the Tag Generation ... 33

-4.6.2.2 Automation of the Task Generation ... 36

-4.7 ANALYSIS ... 38 -5 DISCUSSION ... 41 -6 CONCLUSION ... 43 -7 REFERENCES ... 44 -8 APPENDIX ... I 8.1 APPENDIX A ... I 8.2 APPENDIX B ... IV 8.3 APPENDIX C ... VI 8.4 APPENDIX D ... VIII

(4)

IV

T

ABLE OF FIGURES

FIGURE 1: INDUSTRIAL GRATINGS ... 1

FIGURE 2: REPRESENTATION OF THE DATA FLOW ... 2

FIGURE 3: TOPDOWN MODELLING APPROACH ... 5

-FIGURE 4: THE DIFFERENT STAGES OF MORPHOLOGICAL (LEFT) AND TOPOLOGICAL TRANSFORMATION (RIGHT) ACCORDING TO [10] ... 6

FIGURE 5: COMPONENTS OF INDUSTRIAL ROBOTS ... 8

-FIGURE 6: COMMON ROBOT COORDINATE FRAMES (LEFT) AND ROBOT REFERENCE FRAMES (RIGHT) ACCORDING TO [14] ... 9

FIGURE 7: THE STEPS OF OFFLINE PROGRAMMING ACCORDING TO [1] ... 9

FIGURE 8: TRANSFORMATION OF COORDINATE SYSTEMS ... 10

FIGURE 9: STEPS OF THE FIXTURE DESIGN PROCESS [20] ... 12

FIGURE 10: VISUALIZATION OF THE PROCESS ... 15

FIGURE 11: FLOWCHART OF THE DIRECT AND INVERSE KINEMATIC OF AXIS TRANSFORMATIONS ... 17

FIGURE 12: COMPARISON OF THE ELAPSED TIME BETWEEN THE MANUAL AND AUTOMATIC OLP PROCESS ... 18

FIGURE 13: DISTRIBUTION OF THE ELAPSED TIME FOR A SINGLE MODEL ... 18

FIGURE 14: SUBCLASS "OUTER STRUCTURE" WITH TEMPLATE COMPONENTS ... 20

FIGURE 15: SUBCLASS "INNER STRUCTURE" WITH TEMPLATE COMPONENTS ... 21

FIGURE 16: SUBCLASS "WALKWAY" WITH TEMPLATE COMPONENTS ... 21

FIGURE 17: GUI FOR THE POC ... 22

-FIGURE 18: FLOWCHART OF THE "GENERATE ROBOT MOTION" CODE, WITH THE MAIN CODE (LEFT), “CREATE TAG” CODE (MIDDLE) AND “CREATE MOTION” CODE (RIGHT). ... 23

FIGURE 19: THREE DIFFERENT CONFIGURATIONS FROM THE PRODUCT LINE ... 24

-FIGURE 20: INTERACTION OF THE BAER AND STOED COMPONENTS WITH THE PLANEFIXTURE COMPONENT- 25 FIGURE 21: CONCEPTS I AND II ... 25

FIGURE 22: CONCEPTS III AND IV ... 26

-FIGURE 23: COMBINATION TABLE OF THE FOUR CONCEPTS (LEFT) AND CHOSEN CONCEPT (RIGHT), ROBOT MODELS BY [39] ... 27

FIGURE 24: SKELETON MODEL ... 28

FIGURE 25: SKETCH OF THE BASIC HLCT MODELLING PROCESS ... 28

FIGURE 26: PRODUCT TREE OF THE RE ... 29

FIGURE 27: PROCESS WITH FIRST AND SECOND LEVEL SUBPROCESSES ... 30

FIGURE 28: INFORMATION HUB FOR THE REFERENCE CREATION AND HLCT INSTANTIATION ... 31

FIGURE 29: KB (AND IE) FOR THE REFERENCE CREATION IN THE SKELETON ... 32

-FIGURE 30: FLOWCHART OF THE “CAD MODEL GENERATION” CODE (LEFT), “CON-FIGURE SKELETON” (MIDDLE) AND “CREATE COMPONENTS” (RIGHT) ... 32

FIGURE 31: INFORMATION HUB FOR THE PLACE/WELD/APPROACH TAG CREATION ... 34

FIGURE 32: MAIN TAG CREATION CODE (LEFT) AND "CREATE PLACE & WELD TAGS" CODE (RIGHT) ... 34

FIGURE 33: INFORMATION HUB FOR PICK/APPROACH TAG CREATION ... 35

FIGURE 34: "MOVE WORKPIECE COMPONENTS" CODE (LEFT) AND "CREATE PICK TAGS" CODE (RIGHT) ... 35

FIGURE 35: INFORMATION HUB AND KB FOR THE ASSEMBOT RM CREATION ... 37

FIGURE 36: CREATION OF THE RM FOR ASSEMBOT (LEFT) AND “SEARCH TAG LIST” SUBPROCESS (RIGHT) 37 -FIGURE 37: "CREATE MOTION" (LEFT) AND "UNLOAD GALLERDURK" (RIGHT) SUB-PROCESSES OF THE ASSEMBOT RM CREATION ... 37

FIGURE 38: COMPARISON OF THE ELAPSED TIME BETWEEN THE MANUAL AND AUTOMATIC OLP PROCESS ... 39

(5)

-V

T

ABLE OF TABLES

TABLE 1: ADVANTAGES AND DISADVANTAGES OF ROBOTS IN THE PRODUCTION CYCLE ACCORDING TO [14] ... 7

TABLE 2: HLCTS IDENTIFIED IN THE PRODUCT. ... 22

TABLE 3: EXCERPT OF THE LIST OF DESIGN SPECIFICATIONS ... 24

TABLE 4: AUTOMATION INDEX FOR THE DIFFERENT ITERATIONS OF CAD AUTOMATION ... 33

TABLE 5: AUTOMATION INDEX FOR THE DIFFERENT ITERATIONS OF TAG AUTOMATION ... 36

TABLE 6: AUTOMATION INDEX FOR THE DIFFERENT ITERATIONS OF TASK AUTOMATION ... 38

(6)

-VI

T

ABLE

OF ABBREVIATIONS

AI ……… Automation Index API ………. Application Programming Interface CAD ……….. Computer-Aided Design CAE ……….. Computer-Aided Engineering CAFD ………... Computer-Aided Fixture Design CAM ……… Computer-Aided Manufacturing CAx ……… Computer-Aided x CBR ………. Case Based Reasoning DOF ………. Degrees of Freedom GUI ……….. Graphical User Interface HLCt ……… High Level CAD Templates IE ……….. Inference Engine KB ………. Knowledge Base KBE ………... Knowledge-Based Engineering MAG ……… Metal Active Gas MDO ……….. Multidisciplinary Design Optimization MIG ……… Metal Inert Gas OLP ... Offline Programming POC ………. Proof of Concept RE ……… Robot Environment RM ……… Robot Motion STEP ……….. Standard for The Exchange of Product data VBA ……… Visual Basic for Application YPR ……… Yaw, Pitch & Roll

(7)

- 1 -

1 Introduction

Traditionally robots are programmed on site by workers familiar with the robot programming, called online programming. The robot motion (RM) is taught step by step, by means of the lead-through method. Each motion and action of the robot e.g., how the workpiece is handled to avoid collisions must be directly programmed. As the process requires direct contact to the robots, the workers are exposed to the dangers of the workplace. Online programming is time-consuming and prohibits the usage of the robot until the program is sufficiently tested and implemented. [1] To counteract these disadvantages offline programming (OLP) was developed. In OLP the 3D CAD (computer-aided design) data of the workpiece is used to simulate the robot environment (RE). The robot is virtually trained in this environment, thus negating the disadvantages of the robot being blocked for usage. [2] Additionally, this process allows for the programming to be conducted simultaneously as the workpieces are developed, rather than in the traditional sequential way. This way, changes to the CAD models can be integrated more quickly. The testing phase of the robot can be minimized through simulations in the CAD environment. It is, however, still advisable to test the robot program before starting to ensure the safety and reliability of the program. OLP, however, remains a tedious process as the robot path is still programmed by hand. [1] A potential way of decreasing the manual input required for OLP is to be investigated and developed in this master thesis. This can be accomplished by automating the RM creation process through an externally coded framework. Small and medium sized enterprises are currently unable to make use of robots due to the time-consuming process of the robot programming compared to their small product quantity. [3] The automated RM generation could enable the use of manufacturing robots for small product quantities.

1.1 Background

Industrial gratings, as shown in Figure 1, are widely used in public and industrial buildings, as well as in factories and workshops. As of now, these are assembled and welded by hand through

(8)

- 2 -

a trained worker in the company. This is a time-consuming process, as all adjustments, measurements and welds must be performed by the worker and the quality depends on the worker’s physical condition. This is where the collaboration between the company, which is not named here, and the university comes into play. Through the implementation of a handling and welding robot the dependency on manual labour could be reduced and the quantity of manufactured gratings increased. By additionally automating the OLP process the robot would be utilizable for user customizable gratings with small batch sizes. This is to be investigated in this master thesis.

1.2 Project Goals

In the project the welding process of gratings is to be automated. This is to be achieved by means of parametric models and macro-based RM creation. The currently existing models are rebuilt in the program CATIA with integrated parameters. This allows for an external control of the shape and configuration of the models through EXCEL based macros. Based on these models, a RM is created, defining the welding program used by the robot. This process is automated through EXCEL based macros, similar to the model creation. The whole process is controlled through a GUI (graphical user interface) in EXCEL, where all necessary specifications to configurate the model can be made. The data flow of this process is shown in Figure 2.

Figure 2: Representation of the data flow

1.3 Scope

The scope of the project is defined through its restrictions and challenges. As this is a master thesis, there is a clear restriction of the time available to work on the project. A deadline of 20 weeks is given, in which the task is to be completed. Furthermore, the tools used provide a boundary of what is possible to implement. It was decided on to use the tool CATIA for creating the CAD models, the tool DELMIA to create the RM and the programming language visual basic in EXCEL to automate the process, as the student has previous experiences with these tools. The size of the models is restricted through the specifications of the robot e.g., its reach and payload. The challenges facing the project are to not exceed the time limit, as well as to deliver good results and a working concept. As this is a cooperation between the university and a company all parties involved should be satisfied with the outcome of the project.

The main goal of this master thesis is, as described in chapter 1.2, the automation of the welding process. A possible way to evaluate how automated the process is, is to look at the number of times a manual input is needed and how much information at a given input is necessary. By reducing these numbers, especially the first one, the amount of automation is increased. To keep in the time, limit the fixtures required for welding are to be disregarded and will not be included in this automation process. They do however remain as an option to expand the project if the time allows. In that case fixtures for the generated models will be generated as well. Further

CONFIGURATE MODEL GENERATE CAD MODEL GENERATE ROBOT MOTION FINISHED PROGRAM

(9)

- 3 -

RMs would be created, which assemble the parts in the fixture prior to welding. These two steps would be included between the steps “generate CAD model” and “generate robot motion” in Figure 2. This step is, however, entirely optional and solely dependent on the time available.

1.4 Research Questions

In this thesis the following research questions will be investigated:

I. How can VBA script be used to automate the OLP process in CATIA/DELMIA? II. What influence does the design of the CAD model have on the automation process and

how should the design be structured to allow for automation?

As proof of fulfilment the deliverables mentioned above will be used. A functioning VBA script will confirm research question I. By comparing the number of manual steps necessary in the process a direct evaluation of the level of automation can be made, as shown in chapter 3.6. Furthermore, a flowchart detailing the automation and modelling process will be provided to fulfill questions I and II. All findings throughout the thesis will be marked down and presented to show the influence of the design of the CAD model on the automation process, see question II.

1.5 Delimitations

To fit the research to the size of a master thesis a few delimitations were made. Firstly, the thesis will only investigate the automation process of OLP using CATIA/DELMIA and VBA script. Other CAD programs such as SOLIDWORKS or CREO or OLP programs such as RobotStudio will not be looked into. Secondly, the automation framework is created for a pre-assembled workpiece “floating” in space in the CAD program. As stated before, an automatic fixture generation and assembly process is optional. If it is performed it would negate this delimitation. Thirdly, no sensor technology for detecting the workpiece, as described in [4], will be incorporated into the thesis work.

(10)

- 4 -

2 State of the Art

Increasing efficiency has always and will always be of importance in the competing market. One way to increase the efficiency can be through use of automation. Automation describes a method, or technique of governing an action or a collection of actions with the aim to minimize human interaction [5] [6]. A large step towards automation in the design process has been made through CAD tools. In recent years knowledge-based engineering (KBE) systems have emerged as the next step in automating the design process. A way of automating the manufacturing process can be through the use of industrial robots, programmed to do specific, repetitive tasks otherwise performed by human workers.

In the following chapter the state of the art in design automation and industrial robot technology will be given. It is started by stating how KBE can be utilized to help further automate the design process in CAD systems and how the modeling of components and products should be undergone to achieve a high level of automation. Afterwards, a short introduction to industrial robots and methods for programming these will be given. The process of fixture design is explored, with a focus on welding fixtures and a brief introduction into the advancements of fixture design automation. Finally, the chapter is concluded by giving a short overview of the welding processes MIG and MAG.

2.1 Design Automation

Arguably the most important aspect of design automation are CAD, and by extension CAx, tools. These refer to the computer-aided processes in a product lifecycle, where the x can be substituted by the process in use, such as Design (CAD), Manufacturing (CAM) or Engineering (CAE) [7]. CAD tools allow the engineer to virtually model and design their components, materials can directly be assigned and the manufacturing process can be programmed through CAM. Due to this the productivity of the designer, as well as the quality of the design can be increased [8].

The engineer has control over the design process through various tools offered by the CAD software, so-called modeling operations. To begin, simple operations (2D sketches) or individual elements (points, lines, circles, etc.) are created. To fully define them, constraints are needed. These can range from defining an element in a certain plane to stating the length or coordinates of it. From these, surfaces, 3D shapes and solids can be created and further manipulated using design features, such as ribs, patterns, or chamfers to create the final design. [9] With 3D constraints these parts can then be added to an assembly creating the final product. When designing products there are two traditional approaches that can be followed, called

bottom-up and top-down. In the bottom-up approach all parts are created separately from one

another and assembled in their final stage. When changes to the product occur, all parts must be reworked independently. This approach is therefore not suited for design automation [10] and will not be discussed further. The top-down approach is started at the highest level, where a reference model is created. This reference model, called skeleton in Figure 3, contains information about the components in the lower levels, such as locations or information about the length of certain features. These are then transferred down to the components, who themselves might have lower-level components they supply information to. This allows the

(11)

- 5 -

control of the model from the top and thus enables the use of design automation, increasing the flexibility of the model [10].

Figure 3: Top-down modelling approach

Following a clear modelling strategy is an important step in gaining a robust model, as it reduces the risk of errors and problems that can occur through geometry changes [10]. While the

top-down approach is generally used in assembly design it still passes the information to the lowest

level in the individual parts. Another modelling strategy for part design is needed to make use of the information in a robust way. Here the resilient modelling strategy developed by Gebhard and further described in [9] can be used. The modelling operations, described before, are divided into 6 groups to give a clear hierarchy of when and how the different features are to be used. Similarly to the top-down approach, it is started with the reference group, which would be linked to the information received from said approach. This is followed by the construction group containing all features necessary for the construction of the model, such as surfaces or curves. Afterwards the core features are created in the core group. These are made up of all extrudes, sweeps or other operations adding material to the model. The fourth group, detail, describes the same operations as before being used to remove material. In the fifth group, modify, existing features are changed through operations such as patterns or mirrors. And finally, the group quarantine consists of features that should not be linked to by other features. These are chamfers, blends, or rounds, where it is important to start with the largest decreasing to the smallest [9].

According to [11] almost 80% of the determined product costs are created in the early product phase, a point where there is little knowledge regarding the product. A flexible CAD model, reached by means of design automation, is therefore crucial in exploring the design space to find optimal solutions [12]. This is where KBE can be used. KBE is defined by various sources [10], [11], [12] & [13] as a technology used to record engineering knowledge and store it in a knowledge base (KB). From there it can be accessed through a reasoning mechanism, called the inference engine (IE), and reused to solve engineering problems. KBE can be traced back to the 1960s, where it was presented as a means to reduce the production time and cost by automating repetitive tasks [12]. It is important to note that KBE can only model systems based on logic, which is why it works well for automating repetitive tasks. The creative part of the design process should be done by the engineer and KBE should only be a means to extend the time available for the creative design process. To create a KBE system, restrictions acting on the system, such as industry or company standards, costs or others must be gathered and stored in the KB [12]. This information can then be extracted by the IE, also called the inference mechanism, and takes form of a coded program [13]. Using additional information provided through a GUI it can manipulate the model according to the engineer’s desires [12] [13].

INF O R M A T IO N SKELETON COMPONENT A COMPONENT B

COMPONENT A1 COMPONENT A2 COMPONENT A3

REFERENCE MODEL

COMPONENT LEVEL 1

(12)

- 6 -

To allow for an automatic modification of CAD components, these must be modelled in a parametric way. In [10] a method called high level CAD templates (HLCt) is presented with which to utilize KBE and CAD tools to their full potential regarding design automation. They divide the modification process into morphological transformations, changing existing components, and topological transformation. Each can be further divided into four stages, compare Figure 4. The assignment of parameters or logic rules to measurements allows for quick modification of the geometry by changing the parameter value. This process can be automated through a script and linked to a GUI. Using the example of Figure 4 (left) the length of the rectangle can be changed by changing the parameter in the GUI and updating the component. This is useful when the same part is needed in different sizes but does not allow for the configuration of different components in a single product. To negate this, topological transformation can be used. It describes the removing, replacing, or adding of components or instances through different stages of instantiations, see Figure 4 (right). Instantiation is the process of placing a template, accessed from the KB, into a new surrounding and creating a new instance. Using scripts, instances can be created automatically and linking the template to constraints allows the generation of different geometries through a generic template. [10]

Figure 4: The different stages of morphological (left) and topological transformation (right) according to [10]

By using a GUI, a KB, and an IE, the HLCts can be combined with the top-down approach to create the dynamic top-down approach. A reference model, refer to Figure 3, provides the information and constraints where the HLCts must be instantiated and what shape they will take. The IE locates the corresponding HLCt, information and constraints. The process can be influenced through the GUI, by changing parameters, selecting configurations (detailing what templates are to be instantiated) or choosing which components to remove/replace. [10]

2.2 Industrial Robots

Industrial robots are widely used in factories to increase the productivity, quality of the results and safety in the work environment [14]. There is, however, not one type of industrial robot. Different robot types exist for the different tasks they are meant to perform. The following chapter will give a short introduction into industrial robots and describe how they can be programmed.

The word “robot” originates from the story R.U.R. (Rossum’s Universal Literature), written in 1922 by Karl Čapek, where the word “robota” (Czech for “forced labor”, “slavery” or “worker”) was used for manufactured, artificial people [14] [15]. In engineering terms, robots

(13)

- 7 -

are described as “devices that mimic living creatures” [14] or “automatically controlled,

programmable, multipurpose manipulators” [16]. Here it is important to note, that there is a

general difference between manipulators and robots. Manipulators refer to devices that are being controlled by human operators [14], for example a lift or a crane. They are not programmable and only perform a certain task. In the case of a lift the tasks being the change in elevation of transported components. The differences of robots are mentioned in [16]. They are controlled through a computer and run a pre-determined program [14]. By changing the program, they can perform different tasks, which allows the use of the same robot for a multitude of different problems. While introducing industrial robots on the production cycle can have advantages, such as increasing the automation, some disadvantages will also entail. A few advantages and disadvantages are displayed in Table 1.

Table 1: Advantages and disadvantages of robots in the production cycle according to [14]

Advantages Disadvantages

Potential increase of productivity, safety, efficiency, quality, and consistency

Cause economic hardship by replacing human workers

Can work in hostile/hazardous environments Cannot respond in emergencies unless coded to do so → requires a prediction of the emergency

Do not require breaks Need programming not to harm workers Increased accuracy Have limited capabilities in DOF and

real-time response

High cost →initial cost, programming, training

There are three general classifications for robots, fixed-sequence robots, playback robots, numerical control robots and intelligent robots. Fixed-sequence robots only perform consecutive, previously established tasks. Thus, they are specialized for certain problems making it hard to change them. Playback robots are, like the name suggests, playing back previously recorded motions. A human operator leads them through the motion, manually performing tasks step by step. This programming process is called online programming. The drawbacks of this programming method are, that it requires direct interaction with the robot, rendering it unusable for the duration of the programming. Furthermore, this can be a tedious and time-consuming process, as it is not intuitive and difficult to avoid collision with the workpiece. In addition to that, testing is needed to reach the required reliability and safety standards [1]. Numerical robots are controlled through a movement program that can be created through OLP. OLP makes use of the CAD models to program and simulate the RM offline in a digital factory. This allows the robot to be in use while new programs are created. As the programmer is disconnected from the robot, they are not exposed to dangerous environment during the process [1]. The OLP process is described in more detail at the end of this chapter. The final classification, intelligent robots, describes robots, that can understand the environment and finish tasks even though their adjoining conditions are subjected to change. This can be accomplished through sensors giving feedback to the robot and a program deciding and adjusting the next action. [14]

(14)

- 8 -

The main body of a robot is made up out of joints, links and other required structural elements, compare with Figure 5. The last joint, called hand, is connected to the end effector, the part of the robot that interacts with objects and the environment. This can be a welding gun, a gripper or other tools and is generally not provided by the robot manufacturer. The end effector is usually specifically designed for the tasks it is meant to perform. The joints can be linear (prismatic), rotary (revolute), sliding or spherical with hydraulic, pneumatic, or electric actuators. [14]

Figure 5: Components of industrial robots

There exist different coordinate frames used for positioning the hand of the robot, visualized in Figure 6 (left). The cartesian coordinate frame is created from the prismatic joints positioned on three different axes. That way it is possible to move the end effector in the 3D space, a rotation of the end effector is however not possible. [14] It is the same way a 3D printer or a three axes mill is set up. In 3D printers the component is created a layer at a time in the XY-plane. By moving along the Z-axis, a 3D shape is generated. The most common coordinate frame for industrial robots is the articulated or anthropomorphic coordinate frame, also used as an example in Figure 5. In this frame all joints are made up of revolute joints. [14] When programming the RM, three different reference frames can be used, these being the world reference, joint reference, and tool reference frame, see Figure 6 (right). The world reference frame works similarly to the cartesian coordinate system, where the RM is created on the universal X-, Y-, & Z-axes. The robot joints create a motion based on the trajectory of the end effector in this reference frame. In the joint reference frame, each joint is accessed and moved individually which changes the motion type of the end effector depending on the joint accessed. If prismatic joints are accessed the motion is linear, if revolute joints are accessed the robot moves in a rotary motion. The third reference frame is the tool reference frame. The origin is set in the end effector/tool and all motions and the surrounding is in reference to this origin. While in the world reference frame the world is still and the end effector moves in relation to it, in the tool reference frame the end effector is still and the whole world moves in relation to it. [14] 1 2 3 4 END EFFECTOR LINK BASE JOINT Robot Components 2 2 2 3 4 1

(15)

- 9 -

Figure 6: Common robot coordinate frames (left) and robot reference frames (right) according to [14]

As stated previously, RMs can be programmed online or offline. Pan describes the steps needed to perform OLP in [1] and further detailing it in [17]. To start off, the CAD model of the system is needed, as it supplies necessary information for the following steps. In case no CAD models are existing, a model can also be generated through 3D scanning the workpiece. From this, tags can be created. They give the robot the position and orientation the end effector must adapt. The creation of the RM trajectory requires multiple tags. To avoid collision with the workpiece or robot singularities, careful planning of the tags is needed [18]. Singularities describe positions of the robot resulting in the loss of one or more DOFs (degrees of freedom) of the end effector [19]. Positioning tags manually is a very time demanding process, but can be automated with embedded VBA scripts, if the tag position and orientation is known to the program. More advanced software, such as displayed in [17], can be employed to ease the identification of tag locations in case they are previously unknown. In the next step the trajectory of the motion is created. According to [18], robot trajectory entails the “displacement, velocity and acceleration

of the robot”, in other words it describes how the robot moves between the tags. When planning

the trajectory in the world reference frame there often exist multiple solutions to travel between tags and it might be preferable to use the joint reference frame [1] [18]. The trajectory can be created as a point-to-point motion or a continuous-path motion, where the start and end tag are connected [18]. After the generation, the reachability of the robot must be assessed to ensure it can travel the path. Digital REs such as DELMIA possess tools to assess the reachability,

(16)

- 10 -

according to [17] however, it was not possible to access these tools via VBA script to automate the process and it was thus automated using MATLAB. In the fourth and fifth steps, process planning and post processing, the path is optimized, fine-tuned, and converted into the robot language [1]. In the final steps the program is simulated digitally and calibrated with the on-site work cell, as it might not fully match the digital representation. [1]

2.3 Mathematical Transformations

To enable the programming, and thus the use, of an industrial robot, a mathematic model of the robot itself is required. Of interest is the positioning and orientation of the end effector, based on the positioning and orientation of all links and joints. The positioning of components is described through their x, y & z attributes in the world reference frame. By placing a coordinate system in said point the orientation of the component is defined [20]. This is visualized in Figure 8, where two coordinate systems are displayed in the world reference frame. The respective Tmn describe the transformation matrix required to transform coordinate system n into coordinate system m and is defined by Eq. 1.

Figure 8: Transformation of coordinate systems T

n

m = [ mnR mnr

0 0 0 1] Eq. 1

In the transformation matrix, Rmn describes the rotation and rmn the translation applied to the coordinate system, with the translational vector given in Eq. 6.

r

n m = [∆x∆y

∆z

] Eq. 2

Rotations in a 3D space can be broken down into three elemental rotations about the three axes, with Eq. 3, Eq. 4 & Eq. 5 describing the rotation around x, y & z, respectively.

Rx(α)= [ 1 0 0 0 cos(α) - sin(α) 0 sin(α) cos(α) ] Eq. 3 Ry(β)= [ cos(β) 0 sin(β) 0 1 0 - sin(β) 0 cos(β) ] Eq. 4

(17)

- 11 - Rz(γ)= [ cos(γ) - sin(γ) 0 sin(γ) cos(γ) 0 0 0 1 ] Eq. 5

To acquire the combined rotational matrix, the elemental matrices are multiplied, however due to the nature of matrix multiplication, the result is dependent on the order of operation. Depending on the application different conventions are used, with a multiplication from right to left (XYZ) producing the Cardan-angles, different definitions of the Euler-angles and a multiplication from left to right producing the RPY-angles, shown in Eq. 6 [20]. The R stands for roll and describes the angle of rotation around the z-axis, P stands for pitch and represents the angle of rotation around the y-axis and Y stands for yaw, detailing the angle of rotation around the x-axis [21]. In subsequent chapters these will be referred to as YPR angles, as it corresponds to the naming convention utilized by CATIA.

RRPY(α,β,γ)=Rz(γ)Ry(β)Rx(α)= [ cγcβ cγsβsα-sγcα cγsβcα+sγsβ sγcβ sγsβsα+cγcα sγsβcα-cγsα -sβ cβsα cβcα ] Eq. 6 cx= cos(x) sx= sin(x)

Two different kind of approaches can be used when computing the transformational matrix i.e., direct kinematics or inverse kinematics. Direct kinematics follows the equations outlined previously. The transformational matrix is calculated with the given rotational angles (α, β, γ)T. For inverse kinematics, the positioning and orientation of the end effector is known and the afore mentioned rotational angles are to be calculated. Using Figure 8 as an example it can be explained as following. Two transformation matrices T01 and T12 are given. To create coordinate system 2, the transformation matrix and the rotational angles (α, β, γ)T, here denoted to (ϕ, ψ, θ)T, are required. The rotational matrix utilizing the RPY-angles, R

RPY 0 2 , is calculated using Eq. 7. R 0 2 RPY= R0 1 RPY1R 2 RPY= [ a11 a12 a13 a21 a22 a23 a31 a32 a33 ] Eq. 7

Using the equations below the rotational angles (𝜙, 𝜓, 𝜃)𝑇 are calculated.

tan(α) =sin(α) cos(α)= RRPY3,2 RRPY3,3= ! a32 a33 ⇒ α=arctan2 (a32 a33 )≡ ϕ Eq. 8 tan(β) =sin(β) cos(β)= -RRPY3,1 RRPY1,1cγ+RRPY2,1sγ= ! -a31 a11cγ+a21sγ (cos2(φ) + sin2(φ) =1)

(18)

- 12 - ⇒ β=arctan2 ( -a31 a33cγ+a21sγ) ≡ ψ Eq. 9 tan(γ) =sin(γ) cos(γ)= RRPY2,1 RRPY1,1= ! a21 a11 ⇒ γ=arctan2 (a21 a11) ≡ θ Eq. 10

The function artan2(x, y) is used, as its codomain is [-π; π] compared to the codomain of

arctan (yx), [-π2; π2]. [20] [22]

2.4 Fixture Design

Fixtures are an aiding tool in the manufacturing process, with the aim to hold, position and stabilize, or “fix”, the workpiece(s) within the specified tolerances [23] [24]. The fixture can hold a single workpiece in the desired position for grinding or it can fix multiple workpieces for the assembly or welding process. While some progress has been made in the automation of fixture design through CBR (case based reasoning) or expert systems, presented by Wang in [23] and [25], it still requires a lot of time and engineering know-how [26]. Fixture design and manufacturing can make up 10-20% of the total manufacturing system cost according to [27]. For a cost reduction and increased competitivity, fixtures require an adjustable or reconfigurable design to allow for the holding of multiple components for different uses [24] [27]. Welding fixtures are especially expensive [27] due to their need to withstand high temperatures, precisely position multiple parts and, depending on the welding process used, even conduct electricity [26]. Throughout the lifecycle of the fixture, it must endure the repeated fixing/loading and unloading of components while maintaining the tolerances specified. Wang divides the fixture design process into four underlying steps, compare with [23] and Figure 9. It is started off by planning the setups. A setup describes a sequence of processes performed on the workpiece by one tool not requiring the manual change of the orientation or positioning of the workpiece [23]. After the number of setups and positioning and orientation

(19)

- 13 -

of the workpiece is defined, the fixture planning begins. In this step areas of the workpiece suitable for clamps and locators are determined. In the unit design step, the CAD model of the fixture is created. The components can be categorized in three different groups, a base plate on which all components are mounted, a locating unit and a clamping unit. The locating unit ensures the correct positioning of the workpiece, and the clamping unit fixes it in place. In the final step, verification, the design is tested and checked. These tests may include material testing i.e., stiffness or heat resilience, the positioning accuracy or the overall cost and weight of the fixture. Zhang, in [26], includes a fifth step after validation called post processing, in which all components required for the manufacturing of the fixture are defined. This may include load and unload drawings or information regarding the required components and their needed amount. Hajduk, in [24], presents an adapted process specific to the modular concept in fixture design. While the steps largely remain the same, a step between fixture planning and unit design called module selection is added. Pre-existing modules of clamp and locator systems are selected and applied to the workpiece. Furthermore, the use of an industrial robot is incorporated into the process steps. First, the positioning of robot to fixture is defined and afterwards the RM is created using OLP.

Fixtures utilizing an adjustable or reconfigurable design can be classified into two categories, the above-mentioned modular fixtures, and internal flexible fixtures. Modular fixtures are constructed of standardized components of the types, baseplate, locators, clamps, and connections. This allows them to be used for many different assemblies and they are especially useful for batch sizes or prototype work, however, due to their standard parts they may not be applicable for more complicated assemblies. Furthermore, they require a large amount of experience during the design process and lack in structural properties, accuracy and stiffness compared to more solid, permanent solutions. Integral flexible fixtures consist of an unchangeable structure containing variable components at the contact areas between fixture and workpiece. This can be achieved through compliance engineering or temperature/electricity induced phase changes in the material. [27]

In recent years advances in CAFD (computer-aided fixture design) have been made. Wang gives an overview of some in [25]. One method is to design the fixtures with the help of expert systems. These utilize a multitude of IF-THEN rules to determine and suggest a design for the fixtures. Through inquiries answered by the engineer their IF-THEN state is gathered. A newer method is CBR, where new solutions are suggested by mimicking past solutions. These older solutions are stored and categorized in a database. The reasoning algorithm then compares the workpiece to older problems to search for matching components. These are then presented to the engineer to provide a good starting point in the fixture design and avoid a time-consuming and expensive concept generation. In the proposed multi-tier CBR variant this process is completed multiple times to iterate on the proposed solutions and find a better final proposal. However, in all methods it is required of the engineer to rework the proposals to gain a functioning fixture design. [23] [25]

2.5 MIG/MAG Welding

Welding is a manufacturing technique that has been used by humankind already in roman times in the form of forge welding [28]. It can be described as a technique, that bonds or coats metallic materials using pressure and/or heat with or without additional materials [29].Through the usage of high-power-density heat sources the material undergoes a local phase change into the

(20)

- 14 -

liquid phase, which bonds the components after solidifying [29] [30]. The bond is especially useful for transferring forces, bending and torsion torques and allows the use at high temperatures. Furthermore, welding can provide an air-tight seal and is generally a cheap joining technique for single parts, if the necessary tools are at hand [31]. Disadvantages caused by the high heat can be the induction of stresses, shrinkage, or a change in material structure close to the weld, potentially causing the material to become more brittle [29] [31].

A category of fusion welding is arc welding, where the material is molten through an electric arc between the welding tool and the workpiece. Two widely spread arc welding processes are MIG (metal inert gas) and MAG (metal active gas) welding. In these processes a metallic wire is molten and used to carry the electric current to create the arc. The wire is used as additional material to create a bond between the workpieces. As the wire is fed automatically and the movement of the gun can be controlled by industrial robots these processes are suitable for automation to increase the productivity. The difference between MIG and MAG welding lies in the gases used during the process. MIG uses inert gases, such as argon or helium, which do not react with the molten material and provide protection from outside influences. In MAG the gas provides protection as well, but reacts with the molten material, hence “active”. Active gases can be argon mixed with carbon dioxide or oxygen. [31] [32]

(21)

- 15 -

3 Methodology

In the following chapter the approach used to realize the research questions stated in chapter 1.4 is presented. The process, visualized in Figure 10, was started off by performing a proof of concept which was analyzed to produce a list of specifications. Then a concept is generated, modelled, automated, and analyzed, in the respectively called steps. If the automation index (AI) required exceeded the defined value 𝑥 the process looped back to the concept generation phase. If it is below, the process is finished.

Figure 10: Visualization of the process

To perform these steps CATIA V5 was used as the modelling tool. The integrated tool DELMIA was used to model the RE. The tool EXCEL/VBA was used to automate the process.

3.1 Proof of Concept

The work was started off by performing a proof of concept (POC). According to [33] & [34] a POC describes a small test or an exercise to gain insight whether a concept is viable or functional. The concept of whether the OLP process for changing CAD models could be automated was investigated. No detailed brainstorming preceded, as the POC was to be used to test different approaches. The results from the POC were analyzed and the insights gained were used to create the list of specifications and help in the concept generation phase.

The role of the POC was to provide a quick test whether the OLP process can be automated with VBA, which was mainly due to the fact, that not all features in DELMIA are accessible through VBA.

3.2 Specification

In the design specification a list of what is to be created and achieved is defined. It also contains requirements of and restrictions to the final product or the process of manufacturing. Design specifications are used to define the customer requirements and contain customer needs, metrics, targets, importance of metrics and dependency between them. [35] [36]

The product line and the manufacturing method posed some criteria on the part design and manufacturing process. Other specifications were gathered by analyzing the POC.

PROOF OF CONCEPT ANALYSIS CONCEPT GENERATION SPECIFICATION AUTOMATION MODELLING AI x yes no

(22)

- 16 -

Requirements needed for automating the CAD generation or the RM generation were identified and included. These can range from measurement requirements to specific features in the model or the name they are given. The design specification helps in defining and organizing the information and its flow in the project.

3.3 Concept Generation

In the concept generation phase design concepts will be created that fulfill the design specifications. Concepts and solutions are presented and used to perform the modelling phase [36]. During concept generation, methods such as brainstorming can be used to gather creative ideas and solutions [37].

The concept generation was started by stating the problems with the current model/process that needed to be addressed. Using the insights gained from the POC and the design specification as a design space, brainstorming methods were utilized to gather ideas. As the author was working solitarily on the task, the alteration of the traditional oral brainstorming method, the brainwriting method, was used. This method was chosen, as the author had prior experience with it and it allowed the sketching of ideas. These were then sketched for solutions regarding CAD design or mapped out in flow charts for solutions requiring programming. As the overarching process was iterative, the concept generation could be repeated to improve already existing solutions.

3.4 Modelling

In the modelling phase the generated concepts are turned into concrete solutions. The dynamic

top-down approach, discussed in chapter 2.1, was used and started off through the creation of a

reference model, the skeleton. It was followed by the creation of the HLCts for both the work piece and the fixture components. The modelling phase furthermore contained the modelling of the RE, though these steps especially were closely linked to the following phase, automation. Even though the overarching process was iterative, the most work in the modelling phase was done in the beginning of the project. Once HLCt and CAD products were created they might undergo slight improvement in following loops, though the focus of the iterative process lied on increasing the level of automation, compare with Figure 10. This was primarily done through improving the code in the automation phase.

3.5 Automation

In the automation phase the framework for the code, created in the concept generation phase, was implemented to automate the creation of the CAD models and RM. The code was written in EXCEL/VBA starting off from a simple code only able to generate one model type. The code was generalized using functions and more steps were included as the iterations progressed. A GUI was created in EXCEL and linked to code. In the beginning of the process, it contained little information and usability. Throughout the iterations, functions were added.

To allow for the mathematical modelling of the robot and its attached end effector positioning, the mathematical models presented in chapter 2.3, are applied. Figure 11 shows that process for both the direct and inverse kinematic that was followed.

(23)

- 17 -

Figure 11: Flowchart of the direct and inverse kinematic of axis transformations

3.6 Analysis

In the analysis phase the results from the previous modelling and automation phases were analyzed regarding the level of automation, how well they fulfilled the design specifications, as well as the general modelling approach, robustness, and flexibility. The findings were then formulated into problem statements for the following concept generation phase. Using Eq. 11 the automation index (AI) was calculated. It consists of the sum of the manual steps multiplied with the corresponding penalty factor 𝑤. Manual steps that were required before the code was run were multiplied with 𝑤 = 1. If the process of running the code was paused due to additional manual steps needed, 𝑤 is increased by 1 for each instance it occurred. This resulted in the automation index being lower, if all manual steps were performed in the beginning of the process opposed to throughout. The equation was created by the author specifically for enabling the comparison of the level of automation between all iterations.

A I = ∑ (∑ MS) *w n w=1 Eq. 11 With: AI=Automation Index

MS=Number of Manual Steps performed w=Penalty factor

n=Pauses in process through manual steps+1

Additionally, the results were compared to a corresponding manual OLP process. For this, the elapsed run-time of the code was calculated and the number of components needed to be manually created acquired. Using this, the time required to manually create the OLP was estimated. An example of a comparison is shown in Figure 12. It is of note, that the data sets are divided between two vertical axes, with the left axis being linked to the manual process and showing the elapsed time in hours and the right axis displaying the time in minutes. The horizontal axis shows the area of the workpiece in m2. Trendlines for each data set were included providing a linear correlation between the data points, with ETM for the manual and ETA for the automatic process. Using Eq. 12 the percentile difference between the two data sets was calculated. In Figure 13 the distribution of the elapsed time for a single model is shown. It is acquired by running the code for the same model size multiple times. And gives information about how much the run-time varies between different runs i.e., how accurate the estimation for the automatic process in Figure 12 is.

Direct kinematic

Inverse kinematic

, , 𝑇

𝑥, , 𝑇 ,

(Eq. 2 and 6) (Eq. 1) Positioning

, 𝜙, 𝜓, 𝜃

(Eq. 8 to 10)

(24)

- 18 -

percentile difference = 1- ETA [h]

ETM [h] Eq. 12

Figure 12: Comparison of the elapsed time between the manual and automatic OLP process

Figure 13: Distribution of the elapsed time for a single model

From this, using Eq. 13 and Eq. 14 the arithmetic mean value and standard deviation was calculated. [38] x̅=1 n(∑ xi n i=1 ) Eq. 13 ETM = 15*A + 15 ETA = 5*A + 8 0 10 20 30 40 50 60 0 10 20 30 40 50 60 70 0,2 0,6 1 1,4 1,8 2,2 2,6 3 Ela pse d T im e Automatic [ mi n] Ela pse d T im e Ma nua l [h] Area [m2]

Comparison of Elapsed Time

Manual Automatic

(25)

- 19 - σ=√∑(xi-x̅)2

N

(26)

- 20 -

4 Results

Hereinafter the results will be presented, following the process outlined in chapter 3 and visualized in Figure 10. Though the process is of an iterative nature only the results of the last iteration will be presented, as they encompass all changes that were made throughout the loops. However, if interesting observations or changes during a particular iteration were made, these will be presented as well. It is started off with a product description, followed by a presentation of the POC. Thereafter, the list of design specification and the results of the modelling and automation phase will be shown. Lastly, the automation index for all iterations will be presented.

4.1 Product Description

To allow for a better understanding of the following chapters a product description is given. It is of note that the classification of components was performed after completing the POC, thus resulting in a different classification being used in chapter 4.2.

Even though the components and configuration of the grating differs depending on the input parameters, elaborated in chapter 4.3 and following, they can be broken down into the three subclasses “Outer Structure”, “Inner Structure” and “Walkway”. These contain several template components (HLCt) as shown in Figure 14, Figure 15 and Figure 16. The components in the subclasses “Outer Structure” and “Walkway” are present throughout all configurations only changing their size (and number for subclass “Walkway”) in relation to the input parameter. The components of “Inner Structure” vary in configuration and only one is shown below as an illustration. Further information and illustrations can be found in Figure 19 or in Appendix A. Additionally, a visual representation for each HLCt is given in Appendix A. The naming convention for the HLCt was mostly a description of the visual. For PLANEFIXTURE,

BAER and STOED however the component name given by the company was adapted.

Figure 14: Subclass "Outer Structure" with template components 1 1.1 PLANEFIXTURE 1.2 WALL ONE 1.3 WALL TWO Outer Structure 1.1 1.3 1.2

(27)

- 21 -

Figure 15: Subclass "Inner Structure" with template components

Figure 16: Subclass "Walkway" with template components

4.2 Proof of Concept

In the POC the automation of the OLP process in DELMIA using VBA scripting was tested. To reduce the time necessary for modelling, the complexity of the model was reduced and the parts creating the grating, see Figure 17, where cut in their entirety. The inner structures remained however, to keep some complexity in the POC. A visualization of the CAD model used for the POC can be seen in Figure 17. Through analyzing the product, it was broken down into similar parts making use of the same HLCt. Four different HLCts were identified and are listed in Table 2. To further reduce the amount of work, no HLCt for the rounded corner element was created and the original STEP-file (Standard for The Exchange of Product data) used in the model. Furthermore, the HLCts were instantiated manually, corresponding to the third stage of topological transformation in Figure 4. Manual instantiation was chosen, as it did not require the creation of code for automatic instantiation. As the top-down approach was used, linking all the HLCts to a skeleton model, controlled through parameters, the size changes of the model could be controlled.

2

2.1 SUPPORT NO CUT 2.2 SUPPORT ONE CUT 2.3 SUPPORT TWO CUT

Inner Structure 2.2 2.1 2.1 2.3 (not shown) 3 3.1 BAER 3.2 STOED Walkway 3.1 3.2

(28)

- 22 -

Table 2: HLCts identified in the product.

HLCt Parts Count

1 Outer Elements 4

2 Inner Cross Section 2

3 Inner Stabilizers 2

4 Rounded Corner Element 1

The GUI, displayed in Figure 17, requires two input variables, the afore mentioned length and width of the model. Upon stating these, the button “Configure CAD Model” could be activated. It changed the parameter values in the skeleton model to the stated ones and updated all parts in the product. Afterwards the creation of the RM could be initiated by pressing the button “Generate Robot Motion”. A visualization of the RM code is shown in Figure 18. It was started by setting up the link to CATIA/DELMIA and defining all needed references. In the “create

tags” program, shown in Figure 18 (middle), the tag groups were created and the coordinates

for the outer tags located. This was done by accessing the corresponding parts and saving the coordinates of the corresponding points. A tag was then created at that location, with the orientation selected from a table of possible orientations, stored in excel. This process was redone for the inner tags and the moving tags. The outer tags are the welding locations of the outer elements and the inner tags are the welding locations of the inner structures, both the inner cross sections and inner stabilizers. The moving tags refer to approaching and retreating points for the robot when it approaches or retreats from a welding point. After the tags had been created the “create motion” code was run. It was started by creating a robot task in which all motion and welding operations were stored. Afterwards the creation of operations was set up, by defining the necessary parameters and references. For the POC the path of the robot was pre-planned and stored in excel. For each, information about where it was stored and what operation was needed was provided. As the robot needs to travel to each location to be able to weld, a motion was created for each tag. Afterwards an inquiry found the information if a welding operation was to be performed. In the following step it was checked whether the path was completed. If that was not the case, the code looped back to “get tag nr & group from excel” and jumped to the next operation in the pre-planned path list. This process was repeated until the path was finished. After the “create motion” code was completed, the main code was finished as well and a simulation of the motion was possible in DELMIA.

(29)

- 23 -

Using Eq. 11 the AI of the POC could be calculated. Since the trajectory of the RM was pre-planned, the POC requires a large input. The order, in which the tags are moved too, as well as their location and the orientation of the tags lead to a total manual steps of 𝑀𝑆 = 117 introduced over + 1 = 2. Two of the MS were performed for + 1 = 1 and the rest for + 1 = 2, resulting in automation index of 𝐴𝐼 = 232.

4.3 Specification

From the information received through the POC, and specifications from the company, the list of design specifications was created. The specifications underwent a constant update throughout the project, as new insights were gained. Only an excerpt is presented in this chapter, see Table 3, and the whole list can be found in Appendix B.

To identify the specifications more easily, they were divided into different categories. Displayed in Table 3 are specifications on the skeleton model and on the HLCt. The specifications 1.1 to 1.3 come from analyzing the models from the product line. The variables that define the products are their length and width. Depending on these, different configurations of inner support structures were activated. For small length and width values no inner support structures are necessary, see Figure 19 left. When increasing the values, the support structures can be made up out of single or multiple bars in parallel, at an angle or crossing each other. This resulted in a total of nine configurations, displayed in Appendix A. As different configuration required different references in the skeleton model, specification 1.4 was introduced lowering the number of features in the model at a given time.

Figure 18: Flowchart of the "Generate Robot Motion" Code, with the main code (left), “create tag” code (middle) and “create motion” code (right).

(30)

- 24 -

Table 3: Excerpt of the list of design specifications

Design Specification - Excerpt

Number Category Description

1 Skeleton Model

1.1 Design The model follows the given design and includes all design elements.

1.2 Parameter The skeleton model can change length and width through parameters.

1.3 Measurement Except for the parameterized values, all measurements are fixed.

1.3 Design features The skeleton model contains all constant features needed as references to instantiate the HLCt.

1.4 Design features All changing features needed as references are created through code.

4.4 Concept Generation

In this step concepts for the CAD model and RM were generated. For the following chapters, the CAD model and RM are presented separately. It is however of note, that they are closely linked. As the RM requires the CAD model it also influences the concept generation, modelling and automation process of the CAD model.

4.4.1 Concept Generation of the CAD Model

Concepts for the CAD model were generated through brainwriting with the help of sketches. As the process is similar for all components it will be presented by a single example, the reference creation and HLCt modelling of the BAER and STOED components. Extra focus is laid on the interaction with the PLANEFIXTURE component.

The number of instances of the BAER and STOED components was dependent on the length and width of the product, as well as the spacing between each component. An additional complication was provided through the PLANEFIXTURE. The two HLCt were generally instantiated between the outer walls. However, in one corner the available space was reduced through the PLANEFIXTURE, visualized in Figure 20. In the first concept the points were created through patterns of two existing points, shown in Figure 21. Two start points could be manually created and their distance influenced through parameters. In the EXCEL GUI, the number of instances would be calculated, which in return would control the pattern. Upon testing however, the concept proved not usable. While the pattern could be created via code it was not possible to access the individual points through code, making an automatic instantiation

(31)

- 25 -

impossible. In the second concept, see Figure 21, the points that intersect with the

PLANEFIXTURE were still created manually, but the rest of the points were created through

code. The X-, Y- and Z-coordinates were calculated in the excel file in relation to the width and length. This allowed for the individual features to be selected, however also required the deletion of said features prior to the configuration of a new CAD model.

For the third concept, compare with Figure 22, all points were created via code to reduce the complexity of the deleting code, allowing it to delete all features in the given geometrical set. In return it required the change of the HLCt modelling, as the reference point no longer followed the surface of the PLANEFIXTURE. An additional reference was needed to solve the issue. By extruding the component to a reference surface, the length was variable. Using the surface of the WALL or the surface of the PLANEFIXTURE the HLCt was able to take the required shape. This however proved problematic when the component to instantiate was at the edge between two surfaces.

To solve this issue the HLCt was changed to the previous modelling method, not requiring a reference surface, and being instantiated between three points. The location of the points

Figure 20: Interaction of the BAER and STOED components with the PLANEFIXTURE component

(32)

- 26 -

intersecting with the PLANEFIXTURE component were calculated using the Pythagorean theorem, see Figure 22, and created via code.

4.4.2 Concept Generation of the Fixture Design

As written in chapter 1.5, one of the delimitations imposed on this thesis, was to disregard the use of a fixture. To give visual aid and increase the realism and understanding of the problem, a black box design of a fixture was included. Each component had 0-2 fixture components “securing” it for the welding process. As the fixture generation is of black box design only and not the focus of this thesis it will not be discussed further. As reference, a rendering of a generated fixture is provided in Appendix A.

4.4.3 Concept Generation of the RE and RM

The concept generation for the robot can be divided into two segments. The concept generation of the environment and of the motion, whereby the concepts for the motion were influenced through the choices made in the environment. Here, only the concepts for the RE will be presented, as the concepts for the motion were gained mostly through trial and error with the results presented in chapters 4.5.2 and 4.6.2.

Four concepts for the RE were drafted, see that table in Figure 23 (left) with WP = workpiece

positioner, APR = articulate positioning robot, MPR = multi-purpose robot, WR = welding robot and HR = handling robot. Concepts I and II represent concepts often utilized in the

industry. A workpiece positioner was used to rotate the workpiece to the desired orientation for the following manufacturing process and was therefore classified as manipulators. In concepts III and IV it was exchanged through an articulate robot requiring a payload of the fixture and workpiece combined. The other option was, whether the welding and assembly of the workpiece was performed by a single multi-purpose robot or by two robots specialized for their task. Concepts I and II were not chosen, as they represent a common concept in the industry. Concept IV was chosen due to a more complex motion and interaction between three robots. As this does not represent a common concept in the industry it lent itself to a more research-based approach, furthering the potential impact and relevance of the master thesis. A visualization of all four concepts is provided in Appendix C.

(33)

- 27 -

Figure 23: Combination table of the four concepts (left) and chosen concept (right), robot models by [39]

For easier identification, the robots were named as shown in Figure 23. FIXBOT refers to the APR, the robot attached to the fixture and positioning the workpiece for assembly and welding. ASSEMBOT refers to the HR in charge of the workpiece assembly and WELDBOT is the WR performing the welding operations.

4.5 Modelling

In the following two chapters the modelling process of the CAD model and RE are presented. The skeleton model, as well as the modelling of a HLCt will be described.

4.5.1 Modelling the CAD Model

The skeleton model, described in chapters 2.1 and 4.2, was used for the instantiation process of all components by providing necessary references. It therefore contained as little features as possible to ensure flexibility and robustness, limiting the modelling to feature groups 1 and 2 as described by [9] presented in chapter 2.1. These contain planes, curves, points, and (if necessary) surfaces, but excluding all 2D sketches. As mentioned in chapter 4.3, the configuration of the product changed depending on its length and width. Therefore, the references were divided into permanent and changing references and six geometrical sets were created to organize the different references. This can be seen in Figure 24, where the basic version of the skeleton model is shown. The geometrical set “OTR_STRUCT” contained all permanent references used for the HLCts PLANEFIXTURE, WALL_ONE, and WALL_TWO. The other geometrical set were used for the changing references. How they were created will be described in chapter 4.6.1. WP APR MPR WR HR I x x II x x x III x x IV x x x Robot Names 1 FIXBOT 2 ASSEMBOT 3 WELDBOT 2 3 1

References

Related documents

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

I regleringsbrevet för 2014 uppdrog Regeringen åt Tillväxtanalys att ”föreslå mätmetoder och indikatorer som kan användas vid utvärdering av de samhällsekonomiska effekterna av

Parallellmarknader innebär dock inte en drivkraft för en grön omställning Ökad andel direktförsäljning räddar många lokala producenter och kan tyckas utgöra en drivkraft

I dag uppgår denna del av befolkningen till knappt 4 200 personer och år 2030 beräknas det finnas drygt 4 800 personer i Gällivare kommun som är 65 år eller äldre i

Det har inte varit möjligt att skapa en tydlig överblick över hur FoI-verksamheten på Energimyndigheten bidrar till målet, det vill säga hur målen påverkar resursprioriteringar

Detta projekt utvecklar policymixen för strategin Smart industri (Näringsdepartementet, 2016a). En av anledningarna till en stark avgränsning är att analysen bygger på djupa

DIN representerar Tyskland i ISO och CEN, och har en permanent plats i ISO:s råd. Det ger dem en bra position för att påverka strategiska frågor inom den internationella

Det finns många initiativ och aktiviteter för att främja och stärka internationellt samarbete bland forskare och studenter, de flesta på initiativ av och med budget från departementet