• Non ci sono risultati.

An approximated approach for collision check in process planning, an application to spare parts production

N/A
N/A
Protected

Academic year: 2021

Condividi "An approximated approach for collision check in process planning, an application to spare parts production"

Copied!
112
0
0

Testo completo

(1)

INFORMATION ENGINEERING

Master of Science degree in Mechanical Engineering

An approximated approach for collision

check in process planning, an application

to spare parts production

Supervisor: Prof. Marcello URGO

Master of Science Thesis by: Antonino CURCIO ID 858356

(2)
(3)
(4)

Vorrei ringraziare chi mi `e stato vicino: facendolo, mi ha reso le giornate migliori e distratto nei periodi pi`u stressanti.

Ma vorrei soprattutto ringraziare chi non mi `e stato vicino: facendolo, mi ha reso una persona pi`u forte.

(5)
(6)

List of Figures . . . vii List of Tables . . . ix 1 Introduction 1 1.1 Problem statement . . . 2 1.2 CNC Machining Centers . . . 2 1.3 Objectives . . . 4

2 State Of The Art 7 2.1 Skeletonization and garbing: state of the art . . . 7

2.2 Garbing Processes . . . 8

2.2.1 Image-based methods . . . 9

2.2.2 Object-based methods . . . 10

2.2.3 M-Reps and variants . . . 12

2.2.4 Application case . . . 12

2.3 Collision Detection methods: State of the Art . . 13

2.3.1 Surface properties analysis based methods 13 2.3.2 Vector based method . . . 14

2.3.3 Convex Hull method . . . 14

2.3.4 Bounding volume and space partition method 14 2.3.5 Rolling ball method . . . 15

2.3.6 Graphics-assisted approach . . . 16

2.3.7 Sweep plane approach . . . 18

2.3.8 Synthesis . . . 18

3 The method development 21 3.1 The space reconstruction strategy . . . 22

3.1.1 Part programs . . . 23 3.1.2 Trajectory derivation from a part program 24

(7)

3.2 Volume Derivation . . . 27

3.2.1 The “2D” approach . . . 27

3.2.2 The “3D” approach: Ball primitive . . . . 31

3.2.3 The “3D” approach: cylindrical primitive . 33 3.3 Building a new setup . . . 34

3.3.1 The translation of the G-Code and the NPP 34 3.3.2 The choice of the machining environment . 35 3.4 The collision detection . . . 36

3.4.1 Analytical representation of the swept volume 36 3.4.2 Representation of the workpiece and fixtures 36 3.4.3 The membership test and collision map gen-eration . . . 38

3.4.4 A tool for collision detection tests: the WBB method . . . 41

3.4.5 The validation . . . 44

4 The use case and validation 47 4.1 Basic definitions . . . 47

4.2 The workflow of the use case . . . 49

4.3 The component description . . . 51

4.4 The manufacturing cycle description . . . 57

4.5 The part program creation . . . 60

4.6 The selection of the machining equipment . . . . 61

4.7 VERICUT simulation and method application .R 62 4.7.1 First setup . . . 63

4.7.2 Second setup . . . 70

4.8 Application of the WBB method on the use case . 74 5 Conclusions and future works 79 5.1 Conclusions . . . 79

5.2 Future works . . . 80

(8)

1.1 Example of machining centers (from [1]) . . . 3 1.2 Representation of axes in a CNC machine tool . . 3 1.3 Human-Machine interaction process (from [2]) . . 4 2.1 The MAT skeleton ; of the shape O with example

of maximum inscribed balls (red), contributing to M, and not maximum inscribed balls (green), not

contribuiting to M [4] . . . 8 2.2 The ball splatting: naive splatting for parallel

pro-jections, impostor technique for perspective ones . 10 2.3 Representation of a reconstruction using skin

sur-faces. The dashed area is the reconstruction. On

the left s=1, on the right s=0.5 [3] . . . 11 2.4 Collision map output of the method proposed by

Wang et al. case a) is a collision, case b) is a non

collision, case c) is a possible collision . . . 17 2.5 Workflow of the approach proposed in [15] . . . . 17 2.6 Representation of the machining environment and

collision check with the sweep plane approach . . 18 3.1 General workflow . . . 22 3.2 Creation of intermediate points along a linear

in-terpolation tool path . . . 25 3.3 Volume derivation methods . . . 27 3.4 Trajectory of the tool in the analyzed case . . . . 29 3.5 STL format representation of a component . . . 37 3.6 Representation of a component through a points

(9)

3.7 Processes of the collision test module . . . 39

3.8 Example of collision map . . . 40

3.9 The collision map could be also superimposed to the STL representation of the component . . . . 41

3.10 Example of bounding boxes filled with a points cloud with the random function . . . 42

3.11 Structure of the two-phase collision test using the bounding boxes . . . 44

4.1 The workflow of the use case . . . 50

4.2 The IMASFLEX-150 line . . . 52

4.3 Working directions of the 380 component . . . . 53

4.4 Manufacturing features of the 380 component. Im-age modified from [17] . . . 54

4.5 Precedence graph of the 380 component . . . 56

4.6 Tool of the line for MW46 . . . 58

4.7 Tool of the line for MW43 . . . 58

4.8 Tool of the line for MW44 . . . 59

4.9 The selected machine tool: Makino 1010 . . . 61

4.10 Setup with many workpieces: on the left the first setup, on the right the second setup . . . 62

4.11 Most dangerous condition in setup 1 . . . 63

4.12 Discretization of trajectory points. Output from MATLAB codeR . . . 64

4.13 Tool (yellow) and toolhoder (blue) swept volumes for each machining process on one workpiece . . 65

4.14 Representation of the workpieces with the fixtures in Mathematica . . . 66

4.15 A 3D graphical representation of the whole set of geometries . . . 67

4.16 Sparse representation of the passage of the tool and toolholder in the most critical phase . . . 68 4.17 Extract of the script in Mathematica. As can be

(10)

4.18 On the left: collision map using points cloud. On the right: collision map using 3D representation of

components . . . 70 4.19 Collision detected by VERICUT . . . .R 71

4.20 Mathematica script extract with collision tests for

the second setup . . . 73 4.21 Collision maps for the second setup . . . 74 4.22 Bounding boxes . . . 75 4.23 Mathematica extract of WBB application on the

first setup . . . 76 4.24 Mathematica extract of WBB application on the

(11)
(12)

2.1 Comparison of the reviewed approach. Modified

from [9] . . . 19 4.1 Manufacturing workingsteps of the technological

cycle of the 380 component . . . 55 4.2 Manufacturing cycle performed in the application

case . . . 57 5.1 Comparison of the reviewed approach and the

(13)

The thesis is dealing with the problem of crashes and collision during machining operations.

In particular the dealt problem is regarding the management of the production of spare parts, in a context in which there is a change in the production system. The scenarios to be analyzed can be different: for example there could be a passage from a dedicated production line to an FMS, or a change in the supplier of outsourced components that have a machining center with dif-ferent architecture.

The collision detection tools developed so far by other authors are analyzed and reviewed.

Afterwards, a new method is developed by the author of the mas-ter thesis. The approach ranges from the very beginning of the machining process (i.e. the part program creation), to the 3D virtual space reconstruction of the machining environment and eventually to the collision detection test.

Lastly, a critical analysis of the developed method is done, with the identification of the direction of future works.

Keywords: Collision Detection, Machining, Crash De-tection, Spare parts

(14)
(15)

Introduction

The object of this master thesis is in the field of production pro-cess evolution and methods of production linked to the evolution of the product and its lifecycle. In particular the dealt problem is regarding the management of the production of spare parts, in a context in which there is a change in the production system. To give a practical example and understand the context, the fol-lowing scenario is described.

The sample product is an automotive component characterized by high production volumes, that justify the acquisition of a ded-icated line; At a certain point, space on the floor is needed for a new line and the volume of the demand is no more such to jus-tify to keep the production line for this component. Nevertheless, the availability of spare parts should be guaranteed for a given period (e.g. 15 years). Thus, it is necessary to adopt a solution, that could be outsourcing or a change in the production system, introducing an FMS. With this change, it takes place the passage from a configuration in which everything is designed properly for that product, to a configuration that is a multipurpose.

In this context the important question is the following one: is the passage from a dedicated line to an FMS, in terms of machining capability, always feasible? Is it possible to machine the required component in a multi-purpose machining center, without having problems related to the architecture and kinematics of the ma-chine tool?

(16)

1.1

Problem statement

The problem with this change in the production process is re-lated to the necessity of checking if the available equipment is ad-equate to produce the component. This thesis is focused on the machining operations with CNC machine tools. In fact, during operations crashes and collisions between the tool and fixtures, or between the spindle and the workpiece, should be absolutely avoided. It is fundamental to avoid these crashes since they could lead to:

• The breaking of the tool: tools could be replaced in a rel-atively short time, but they cost money. It is particularly important in case of very expensive tools

• A damage of the spindle, toolholder and fixtures: besides the problem of costs, the longer downtime of the machine should be taken into account

Thus, a earlier virtual feasibility check to avoid collisions would allow a producer to save money. The main interest of this thesis work is to create a method that leads to the detection of the collisions that can take place during a machining operation.

1.2

CNC Machining Centers

First of all, it is necessary to describe briefly how a machining center works. A machining center is a multipurpose machine tool that can use many tools type and consequently can do many operations, such as drilling, milling, tapping and others.

(17)

Figure 1.1: Example of machining centers (from [1])

CNC stands for Computer Numerical Control. This control is based on the monitoring of coordinates in a reference system. The ISO 2806:1994 states: machine axes are the principal direc-tions in which a part of a machine can move in a linear or rotary mode. The convention is that z is the spindle rotation axis, x is the axis parallel to the working table and y is normal to the ZX plane. A machining center can have three, four, five or even more axes. The axes follow the right hand rule.

Figure 1.2: Representation of axes in a CNC machine tool

The interaction between human and machine is possible through a man machine interface display. From that computer it is possi-ble to set a part program, that is a list of instruction in terms of coordinates and machine parameters, to be executed.

(18)

Figure 1.3: Human-Machine interaction process (from [2])

In this interface process, the human has the cognition, while the machine is just executing the commands: if a human is giv-ing wrong commands (because of insufficient cognition or dis-traction), the machine cannot recognize an error and fix it, so a misfit can happen (for example a crash). Thus, it is fundamen-tal to have a tool that can anticipate the interface between the process thought by human cognition and the machine execution before the actual implementation of a part program.

1.3

Objectives

To create the virtual process that is presented in this work, a fictitious division of the task into two main parts takes place. The first part is dealing with the 3D space reconstruction of the machining environment. This is done to have a visualization of the swept volumes, in order to have at the end of the process a graphical output as well.

The second part is dedicated to the creation of a collision detec-tion method. There is a link with the first part, since the collision detection method gives outputs that can be displayed using the same tools used for developing the swept volume visualization. Given the relevance of the problem of collisions and crashes during machining operations with CNC machine tools, there is already an existing tool for collision detection, that is the machining

(19)

sim-ulation using software such as Vericut . Substantially, the aimR

of this work is to provide a tool that is: • Fast:

This tool is an alternative to the simulation, it is an approx-imated approach and it should be faster .

• Flexible:

The proposed approach should be adaptable to many kinds of machining environments in terms of:

- Number of components to represent (e.g. just tool and workpiece or tool, workpiece, fixtures and other accessories. - Shape (e.g. Flat end mill, ball end mill.)

(20)
(21)

State Of The Art

The problems that will be faced to reach the desired solution are mainly two: the surface reconstruction problem and the collision detection one. The following sections show the analysis of the literature of the work done so far by other authors.

2.1

Skeletonization and garbing: state of the

art

This chapter is a brief introduction to the concept of skeletoniza-tion and reconstrucskeletoniza-tion of objects. In literature many algorithms are present, applied in different field, spanning from computer graphics to artificial intelligence. These algorithms are compli-cated, with a complex mathematical theory behind it. Further-more, they are used for very complex shapes and even in context in which an accurate reconstruction is needed (e.g. biomedical applications). Since these algorithms were thought to solve a dif-ferent problem, with difdif-ferent tolerances and complexity, an ’ad hoc’ algorithm will be developed, that can satisfy the require-ments of the application field of the master thesis, getting inspi-ration from the work in literature.

Before analyzing the existing literature, it is necessary to answer one question: what is a skeleton?

A skeleton is a thin structure that describes the topology of a body in the most synthetic way.

(22)

Figure 2.1: The MAT skeleton ; of the shape O with example of maximum inscribed balls (red), contributing to M, and not maximum inscribed balls (green), not contribuiting to M [4]

In figure, the red line is the skeleton of the shape. As can be seen, the skeleton represents a topological complete description of the shape, since all the necessary information to come back from the skeleton to the original shape are included, as the recon-struction on the last figure is done starting by the skeleton and its embedded information.

The medial axis for a 2D shape is the locus of the maximal in-scribed circle centers and it is a 1D structure. For a 3D body, the medial axis is a 2D structure (medial surface). Thus, skele-tons are always one dimension smaller than the original shape [4]. The medial axis transform ( from now on called MAT), is the algorithm to obtain a skeleton starting from a shape/volume, it is the medial axis augmented with the corresponding radius [3]. The MAT has an inverse, that is the inverse medial axis trans-form (IMAT). Aim of the IMAT is to reconstruct the initial shape starting from the skeleton. This reconstruction process is also called garbing.

2.2

Garbing Processes

The garbing process is particularly interesting for this thesis work, since one of the main problem will be the reconstruction of the

(23)

swept volumes by the machining equipment.

What can be considered as the definition of garbing is given in [4] : ”reconstructing an approximation ˜Ø of the input shape O from MAT(O),or garbing the skeleton, is another key operation in medial applications”. There are three main groups of garbing methods [4]:

• Image-based methods • Object-based methods • M-reps and variants

These methods are called “complex garbing methods” for analyt-ical skeletons.

The analysis of these methods will not enter into the technical details, that are beyond the meaning of this thesis work.

2.2.1 Image-based methods

The methodology creates a 2D view of the original shape, starting from MAT(O), using the ball splatting. That is, extracting from [4]: ”It means that for each medial atom ai = (si, ri), a 2D texture

B(si) encodes the depth profile of a unit sphere centered at the

origin. These textures are translated to the points si, scaled with

ri and rendered parallel to the view plane”. It is the equivalent

of raytracing. The result is an approximation of the union of balls. This ”regular” version works for orthogonal projection. For perspective projections, it is necessary to use a technique called ”the impostor technique”.

(24)

Figure 2.2: The ball splatting: naive splatting for parallel projections, impostor technique for perspective ones

2.2.2 Object-based methods

These methods create a 3D mesh model. There are three tech-niques:

• Implicit surfaces:

A surface (the union of balls) is defined implicitly. Then the respective function is used to compute the level set. The simplest case is: the function is defined as the sum of radial distances centered at the skeleton points scaled by the radius at that point.

It could lead to some defects such as blending and undula-tions, that can be solved using a convolution skeleton from the medial skeleton. In general the methods based on the implicit surfaces are time consuming and the computation load depends heavily on the volumetric discretization of the original shape.

• Regular triangulation:

(25)

definition is given by [4] : ”Let Bi = (xi, ri) be a set of balls.

The non-void intersection of two balls Bi and Bj contains

two spherical caps bounded by the spheres δBi and δBj and

by a plane orthogonal to the line (xi, xj). The interior of any

cap is contained in the union-of-balls S Bi. The portion of

a sphere δBi that does not belong to any cap represents the

contribution of Bi to the surface of S Bi. This is precisely

the restriction of δBi to the so-called power cell of Bi. The

power cell is a weighted version of a Delaunay cell obtained with the power distance metric”. The power diagram, that is given by the sets of power cells, is the dual of the regular triangulation. It means it is a meshed representation of the skeleton’s union of balls.

• Skin surfaces:

Taken the convex hull of the points (xi, |xi|2 − s2r2i), the 3D

boundary of this convex hull is the skin surface. Depend-ing on the s parameter, the skin surface can have different shapes. For s = 1, the skin surface is the surface of the union of balls, while with s < 1 it is a tangent-continuous compo-sition of spheres and hyperboloids. This method is known as slow, in fact for few hundreds of balls are required min-utes of computation. To make this method faster, a mixed CPU-GPU implementation was found out, but the result is a rendering of the reconstruction, as for the image-based methods.

Figure 2.3: Representation of a reconstruction using skin surfaces. The dashed area is the reconstruction. On the left s=1, on the right s=0.5 [3]

(26)

2.2.3 M-Reps and variants

Medial representations (M-Reps) uses a union of various type of surface primitives, not only spherical with centers located on the skeleton. Subdividing the surfaces, this method can reconstruct both the input shape and the surface skeleton. A good smooth-ness is guaranteed by the control of the primitives based on po-sition and tangent directions, with an higher order of continuity with respect to the union of balls, but it has some parametric constraints that make this method not feasible.

2.2.4 Application case

The methods and tools that are presented in the previous para-graphs are not directly implemented in this work, they had been just an inspiration to find a method and develop an algorithm to reconstruct the swept volumes starting from the trajectory in the most appropriate way.

The problem of the reconstruction the machining trajectories can be seen from the perspective of the skeleton and medial axis trans-form. It is easy to individuate the skeleton in the trajectory of the tool path. It is possible to reconstruct the volume that is swept by the tool using the same assumption used in the power crust method developed in [6]: the availability of an enough dense sample of object’s points.

Being the input a set of sample points, in the analyzed case a discretization of the trajectory will create the topological points that will be used to place the chosen geometric primitives to re-construct the volume as the union of maximum inscribed balls, that is nearly the definition of medial axis transform.

The new algorithm presented in this master thesis started from the idea of reconstructing the original shape with the union of balls, then from each presented approach something is extrapo-lated to build the new algorithm, for example the idea of using not only spherical primitives from m-reps.

(27)

2.3

Collision Detection methods: State of the

Art

The problem of collision detection has already been faced in lit-erature, mainly in the developing of video games. But methods have been developed in the field of machining collision detection as well.

Before analyzing the methods, it could be useful to give a defini-tion about local and global collision. A local collision (also called local gouging) is involving only the active part of the tool, while a global collision is considering the whole structure: the tool and the toolholder.

The following paragraphs are a qualitative review of the most rele-vant methods and algorithms developed in the machining context.

2.3.1 Surface properties analysis based methods

This method is based on differential geometry and its, so called, two fundamental forms. The first form is related to measurements (arcs, areas, etc), while the second is related to the local surface curvature. Given a free form surface, starting from the normal vector and two tangent vectors of such surface in a given point, combining them we can calculate quantities that lead to two mea-sures of the curvature: the mean curvature H and the Gaussian curvature K. The curvature around a point is useful to evaluate if it is a concave, convex or saddle point.

For example, in the method described in [7], the input is the surface of the workpiece, that is classified in concave, convex and saddle points. The collision detection is performed in the concave and saddle surface, that are considered as critical points. Given the dimension of the cutting tool, if in those critical points, the curvature of the workpiece surface is greater than the one of the cutter, there is an interference.

There are many methods that uses the surface properties, all of them are useful for a local collision detection.

(28)

2.3.2 Vector based method

It is based on the calculation of the relative distance between two objects. A first version of this approach was given by [8]. The first step of this method is to discretize the surfaces to be machined using sample points to build facets. The approximated surface error is controlled using the chordal deviation, that is the distance from the geometric midpoint and the parametric midpoint of the approximating facet. The tolerance of this approximation error is user-defined. Then, the tool geometry is projected on the XY plane and it is approximated by a bounding box. The points that are in the shadow of the projected geometry of the tool are considered as critical points that need to be investigated. The tool interference is detected calculating the relative distance between the critical points and the tool axis. The problem linked to this proposed procedure is that even if there is not interference in the locations of the sample points, a collision could be hidden in between these points and this is not investigated [9].

2.3.3 Convex Hull method

Proposed by Lee and Chang, it is a 2-phase approach. The first phase is an evaluation of the potential interference using the con-vex hull property of the mesh (for details about this procedure, see [10] ). If this first evaluation finds a potential interference, the second phase takes place. This phase uses the vector based method and, since it is slow, to reduce calculation time only the points within a region adjacent to the potential interference zone are checked.

2.3.4 Bounding volume and space partition method

This method is based on a hierarchy of bounding volumes. The aim of the use of hierarchy bounding volumes is pointing towards the reduction of the computational load. In fact, as said by Tang [9], ”The main advantages of these approaches are:

(29)

• In many cases, an interference or non-interference situation can be easily detected at the first level in the hierarchy • The refinement of the representation is only necessary in the

parts where collision may occur”.

In Ho et al. [12], the tool is modeled through implicit equations and the workpiece is set as a cloud of points. The collision detec-tion algorithm is based on k-DOPs (hierarchical bounding boxes). The choice of k-DOPs instead of OBB is due to the shape flexi-bility that they can offer, even if there is a loss in generality. The generality is compromised to achieve a fast computation. The limits of this approach are:

• It is not working if both objects are arbitrary

• It is not considering the other objects in the environment of the machining process ( clamping, tables. . . )

• If the implicit equation object is wholly inside the point cloud, the collision is not detected.

• Those implicit equations become very difficult for objects with complex shapes.

Ding et al.[13] proposed an approach in which the workpiece is approximated by an octree and the tool by a hierarchical oriented bounding box structure, and the collision detection is based on the separating axis theorem. This theorem is evaluating if it a line that divides two polygons exists; it works with projections of vertices. Even this approach can detect collision only between tool and workpiece.

2.3.5 Rolling ball method

Actually, this is not a collision detection method, but a collision avoidance one. It means that instead of having the toolpath as input and find possible interferences, it starts from the surface to be machined and gives as out the positioning of the tool. The

(30)

idea of this method is to roll a ball along the tool path and to use a small portion of its surface to approximate the machined sur-face. The radius of the ball is the critical information that should be gathered for each point. Then the cutting tool is positioned internally or externally to the surface, depending on its concavity, inside for concave and saddle regions, outside for convex. An area beneath the tool is selected, it is called the shadow checking area, that it is further discretized in shadow grid points. As explained by Gray et al. [14],” For each shadow grid point, a pseudo-radius of curvature is computed as the radius of the circle whose center lies along the surface normal of the cutter contact point and con-tacts both the cutter contact point and the shadow grid point”. Then, all the radii are compared and the most concave radius is chosen as the rolling bar radius of that tool position. This algorithm creates a tool positioning such that local gauging is avoided. Since this first approach required the surface equations for the shadow grid points, Gray et al., proposed an improved graphic assisted rolling bar method that bypasses the problem of the surface equations.

2.3.6 Graphics-assisted approach

Proposed by Wang et al.[15], the machining environment is di-vided using a binary space partitioning (BSP) tree structure. Be-fore detecting the collisions, the machining environment is con-servatively culled to remove the irrelevant geometry that would just add additional computational time without being actually in-volved in collisions. There are two phases. During the first phase, a collection of triangles is extracted as possible colliding objects and the evaluation is done using a vector based algorithm.

(31)

Figure 2.4: Collision map output of the method proposed by Wang et al. case a) is a collision, case b) is a non collision, case c) is a possible collision

A RGB collision map is generated. The second, more precise stage is used just for some ambiguous case, for example triangles that are in between colliding and non colliding condition (case c) in figure 2.4). The accuracy of this method depends on the graphics hardware’s specification.

(32)

2.3.7 Sweep plane approach

Proposed by Tang et al. [16]. The workpiece and the machine bodies are approximated by an octree of bounding spheres. The interferences between these spheres are tested. If there is any, a further division in subspheres is performed to get a higher resolu-tion. It is a recursive approach until there is no more interference. If at the last level of the octree an an interference is still present, the collision detection is performed using the sweep plane algo-rithm. In the sweep plane algorithm, the check is done using the 2D polygon clipping between parallel slices of the moving bodies. This approach in presence of rotary axes is corrected examin-ing overlaps of the projection of the slices onto the three normal planes.

Figure 2.6: Representation of the machining environment and collision check with the sweep plane approach

2.3.8 Synthesis

The approaches described in the previous paragraphs offer differ-ent opportunities, each one following a differdiffer-ent path. It could be helpful to build a table highlighting the main characteristics

(33)

of these methods, in order to be able to make a comparison. The comparisons are based on the outputs that a method can offer, regardless the algorithm content.

Table 2.1: Comparison of the reviewed approach. Modified from [9]

The literature analysis and the comparison in table 2.1 are useful to indicate what should be the direction of the work of this master thesis. Basically, to improve the tools already available, the thesis work should point to:

• Create a 3D representation as output that is realistic and more usable than the one of the methods that could provide a graphical interface

• Adopt a collision detection method that can represent in a flexible way all the needed objects in the machining environ-ment

(34)
(35)

The method development

As it is stated in the introduction, the problem of collision detec-tion in machining operadetec-tions will be faced in two phases. During the first phase, it is solved the problem of the swept space re-construction: we have to model the toolpath, how the space is occupied by the workpiece, the representation of the obstacles. In few words, we have to recreate the machining environment. The software used for this first phase of space reconstruction are MATLAB and MathematicaR . In MATLABR , the trajec-R

tory is recreated starting from an analysis of the G-Code. In Mathematica , it is developed the whole graphical representa-R

tion andl after, the collision test module. In figure 3.1 it is shown the general workflow of the master thesis, that will be further described in the following paragraphs.

(36)

Figure 3.1: General workflow

3.1

The space reconstruction strategy

The path that will be followed, starts from the skeletonization of a body, as it is stated in the previous chapter. How is the skele-tonization inserted in this work? Basically, to solve the problem of the space reconstruction is equivalent to apply the Inverse Me-dial Axis Transform ( IMAT ). That is, starting from the skeleton obtained with the MAT (in the case of machining the skeleton is the trajectory), the original shape is reconstructed. This will not be done exploiting an already existing IMAT algorithm, but a

(37)

dedicated methodology is developed to satisfy the requirements of this task. In fact, usually the field of application of the garbing process comprehend very complicated shape.

In the case of machining processes, the swept volume could ap-pear complex at a first glance, but it is the composed dragging the tool, whose geometry is simple, along a path and does not need too much sophisticated algorithm from the point of view of the reconstruction smoothness. Thus, a simpler and faster algorithm will be developed.

A further advantage of the development of a new algorithm is that it can be adapted to the available inputs. In fact, at the beginning of the process, once an application case is chosen, the information available are:

• The model of the product that should be produced (with the STL file)

• The description of the machining process • The part program

while, usually, the already existing garbing algorithm requires inputs that are refined data (e.g. binary images with embedded topological information, typical output of a MAT transform).

3.1.1 Part programs

First of all it could be useful to briefly explain what is a part pro-gram. A part program is a list of instructions, usually written in what is commonly named ISO G-Code. The ISO G-Code is the most widely used programming language for machining centers. This programming language basically communicates to the ma-chine tool how to move the cutting tool, its feed rate, a change in the coordinates system, the spindle rotation, the use of coolants; in few words, all the information needed to perform a machining operations in the desired way.

(38)

3.1.2 Trajectory derivation from a part program

Since the trajectory will become the skeleton of the volume, and the skeleton will be the center of the geometric primitives that be used for the volume reconstruction, it is needed to extract it from the G-Code. Futhermore, trajectory will be derived at many levels: at the tool tip, the toolholder tip( or tool end), the toolholder end. As an example, these lines of code:

X0 Y0 Z0 Z0 Y0 Z-20

represent a movement from the (0, 0, 0) coordinates to (0, 0, −20). It means that the G-Code is providing the extreme points of a movement. Since we need to create intermediate points in such a way to have a dense sample, in MATLAB it is performed aR

discretization of the movement.

This discretization is different depending on the nature of the movement:

• Linear movements:

It is performed exploiting the command linspace, whose inputs are starting point, end point and number of desired intermediate points.

For example, the following lines

G90 G1 X0 Y0 Z0 X0 Y20 Z0 X20 Y20 Z0

X20 Y0 Z0 X0 Y0 Z0

means that a linear trajectory (because G1 is the linear inter-polation command) using absolute coordinates (G90) is per-formed. Those coordinates represent the vertices of a square, it means there would be just four points. After the discretiza-tion/densification in MATLAB , the output is this one:R

(39)

Figure 3.2: Creation of intermediate points along a linear interpolation tool path

• Circular movements:

The adopted process is a little bit more different from sim-ply creating a circumference for many reasons. First of all because of the nature of some commands (e.g. circular ma-chine axes movement command) that are not providing the coordinates of the movement, but just the angular length of the arch. In second place, for each level the same n number of points are needed, as it will be explained later during the geometric development. For example, if the command line is:

A90B90

the machine tool will execute an arc movement of the A and B circular axes of 90 degrees. The main assumption of this approach is that the machine tool will perform sequentially the movements: it will complete first one arc, then it will start the next one; this is not a limit of the approach itself, but of this implementation. To draw these arcs in an effec-tive way, using for each level the same number n of points,

(40)

rototranslation matrices are used.

The rototranslation matrix ( or HTM, Homogeneous Trans-form Matrix) in the space is a matrix R4x4, given by the

product of the three rotation matrices (one for each princi-pal axis) and the translation matrix. In general the physical meaning of the R4x4 is:

D3x3 T3x1

P1x3 s



Where D is the deformation/rotation matrix, T the transla-tion matrix, P the perspective matrix and s the scale factor. Assuming that there are rotations of angle α, β, γ respec-tively around the x, y and z axes, we can express the matrix R4x4 as the product of T , Rx,α, Ry,β, Rz,γ.

These matrix are respectively:

Rx,α =     1 0 0 0 0 cos(α) −sin(α) 0 0 sin(α) cos(α) 0 0 0 0 1     Ry,β =     cos(β) 0 sin(β) 0 0 1 0 0 −sin(β) 0 cos(β) 0 0 0 0 1     Rz,γ =     cos(γ) −sin(γ) 0 0 sin(γ) cos(γ) 0 0 0 0 1 0 0 0 0 1     T =     1 0 0 p 0 1 0 q 0 0 1 r 0 0 0 1    

(41)

and the rototranslation matrix R = T ∗ Rx,α ∗ Ry,β ∗ Rz,γ is

eventually obtained. If n points are needed, to represent the circular arc it is enough to iteratively calculate the succes-sion of points performing a rototranslation with an angular rotation whose value is the angle divided by n (e.g. γ

40 if are needed 40 points for a rotation around z).

Using this method, the desired density of points is easily reached.

3.2

Volume Derivation

The volume derivation was thought in parallel with many ap-proaches. In this chapter it is given a brief introduction of all the methods, even if two of them in the end will be discarded.

Figure 3.3: Volume derivation methods

3.2.1 The “2D” approach

The name is due to the fact that, following this approach, the geometry is stored layer by layer. This approach requires a fur-ther treatment of the extracted trajectory in MATLAB . InR

fact, it is necessary to create a matrix that behaves like a grid of physical points, that is the span of the coordinates in the code

(42)

of the machining process. To create this box, it is necessary to measure and save which are the minimum and maximum coordi-nates of the trajectory. Then the trajectory is divided in layers according to the z coordinate, and for each layer a grid using the maximum and minimum x and y values is created. At this point it is possible to compose a 3D matrix M binmxnxq, where q is the

height, m and n are the width and the length of the trajectory. Consequently, each element of the matrix is the representation of a physical point in the “box” created by the trajectory range. The M bin matrix is binary; there is a section of the script in MATLAB that compares the extracted trajectory with the MR

matrix,and if there is the passage for a certain physical point, the corresponding element of the matrix has value 1, otherwise 0. Then, since the trajectory is the physical representation of the tool tip, that is lowest layer, it should be considered also the rest of the body of the tool and the spindle. Starting from the last layer of the matrix, if there is a passage for a point whose coor-dinates are (i, j, k) (thus, the (i, j, k) element is equal to 1), the 1 value should be propagated along the layers to take into account the tool and toolholder length. Then, the resulting matrix is nor-malized and eventually a binary matrix is obtained.

The developing of an example with the following trajectory is shown:

(43)

Figure 3.4: Trajectory of the tool in the analyzed case

After the trajectory extraction, the necessary processing shown in the script is performed

(44)

At this point the matrix M bin is saved and passed to Mathematica .R

In Mathematica the command Table is used to create a matrixR

of balls upon a test. It means, Mathematica will examine theR

M bin matrix element by element; if the (i, j, k) element is 1, it is the centre of a 3D ball, with a proper radius to represent the tool. The result is shown:

(45)

The overall volume is sufficiently represented. Nevertheless, this approach has a fatal limit: it is necessary a simultaneous management of two information for the same slot, that are the center of the ball location and the value of the corresponding radius ( i.e. if the ball belongs to the tool or to the toolholder has a different radius). In fact, it should be done with a one-by-one association (a matrix) that is dramatically increasing the computational load of the script, making the approach slower.

3.2.2 The “3D” approach: Ball primitive

This approach uses directly the extracted trajectory at many levels to create a 3D volume. Once the discretized trajectory

(46)

is stored, it is exported to Mathematica and it is processedR

through the function Ball. This is the closest method to the union of balls seen in garbing processes from the skeleton litera-ture review. The Ball function takes as input:

• One point in the space (x, y, z) , that is the center of the ball • The radius r, that is chosen as the biggest dimension of the

main encumbrance of the cross section at a given level. The list of centers is processed in Mathematica using the com-R

mand Table, as shown in the following extract of the script:

But also this approach shows a fatal limit: if the geometry has a cross section dimension that is much smaller than the length d  L, the representation is inadequate, and it should be created a “column of balls” to take into account the real geometry of the components of the machine. This requirement would complicate too much the preparation of the trajectory, and the same result could be reached in a smarter way.

(47)

3.2.3 The “3D” approach: cylindrical primitive

This approach is part of the “3D” branch as well, since it di-rectly creates a 3D geometry from the extracted trajectory. The difference is in the use of the Cylinder function, that takes as input:

• Two points in space: the center of the lower base circle (x1, y1, z1) and the center of the upper base circle (x2, y2, z2)

• The radius r, chosen again as the biggest encumbrance in the cross section at a given level

With this choice it is possible to set the tool length simply ex-tracting the points of the lower base at the tool tip level, the upper base at level of the toolholder tip and so on. The represen-tation is much more realistic than in the other methods, as it is shown in the script extract.

The only requirement of this approach, since the cylindrical primitive requires two points in the space as input, is that the number of points for each level of the trajectory should be the same, in such a way to have couples of points taking two layers at a time. This should be done carefully for the circular move-ments, since arcs with greater radius requires less points to sweep the same angular distance.For this reason the development of the

(48)

algorithm with rototranslation matrices is particularly comfort-able: it is required to set the angular distance and the number of points required.

Please note that the two “3Ds” approach could be combined to reach an higher flexibility: in fact, combining cylinders and ball, it is possible to properly represent ball end mills, flat end mills and a wide variety of geometries.

3.3

Building a new setup

This operation consists basically in rearranging the machining operations in a certain environment, given that it was initially thought in a different one. In presence of all the initial data, it consists in many passages, that are described in the following paragraphs.

3.3.1 The translation of the G-Code and the NPP

It means that it is necessary to pass from a G-Code that could be a “dialect” of a dedicated line, and rewrite it for a general control system that is adaptable to an FMS (e.g. a Fanuc control). Rewriting the code, it is used the Network Part Program (NPP) approach. The necessity of having a flexible management of spare parts, requires flexibility in the process. The machining process should be defined in a modular way to allow:

• A partial execution of the process. Useful in case of reman-ufacturing, a subset of operation is considered, that is func-tional to refurbish the characteristics of a component.

• Splitting of the process on different machining centers, that could support the production of spare parts on machines and plants that are different from the one in which the compo-nent was originally produced. This difference could be in the architecture of the machine, in the axis length, etc.

To reach this flexibility, a tree of origins is created. The tree of origins is a sequence of the coordinate system origins and how

(49)

they are related among them. These origins are virtual, then they are translated by the control. The list of origins, from the general to the particular, is the following:

• Machine origin: it is the reference point, the fundamental origin. It cannot be modified, it is set by the machine tool builder. It is unique.

• Pallet origin: it indicates a rigid translation of the machine origin. It is the only one that is mandatory to specify. All the other origins are not compulsory. It is unique.

• Equipment origin: it is a rototranslation with respect to the pallet origin. it indicates the face on which I have to work or the equipment. I can have n origins of this type.

• Slot origin: for each equipment origin, it indicates where are the cavities where I will tight my workpiece. It is a rototranslation, and they can be n origins.

• Workpiece origin: it is a rototranslation with respect to the slot origin. It indicates a microdisplacement of the pieces when it is in the machine tool ( e.g. a casting work-piece with a slightly different dimension)

• Feature origin: rototranslation with respect to the workpiece origin. It collocates the geometric feature that is going to be machined. There can be n feature origins, one for each feature.

The use of these origins is possible through the already described rototranslation matrix R (see section 3.1.2), since it allows the passage from a coordinate system s1 to a coordinate system s2.

3.3.2 The choice of the machining environment

The choice of the environment is related to all the objects that will take part to the machining process. First of all, a machine should be chosen: for example it is possible to choose between vertical or horizontal spindle. In second place, the tools to be

(50)

used should be chosen as well: it is not possible to use special tools that are frequently present in lines, thus it is necessary to rethink this aspect. Also the equipment, fixtures and clampings very likely needs to be retought; for example it is necessary to make an hypothesis about a reasonable modular fixture.

3.4

The collision detection

The collision detection module is inserted once all the necessary preparatory processes are completed. The choice of having always a graphical feedback is kept even in this last task. In fact, at the end of the proposed method, a collision map will be obtained.

3.4.1 Analytical representation of the swept volume

The representation of the swept volume is given by the union of the used primitives. In the case of the “3D” approach with cylin-drical primitives, the representation of the swept volume from the analytical point of view, is given by a matrix/list of cylinders. These cylinders are placed in a certain region in the space. Thus the information that we have in that matrix is the position and the encumbrance of each cylinder. Through the function Union, it is possible to unify the lists of the geometric primitives of the tool, the toolholder and all the elements that are represented in the simulation. Thus, the tool and equipment encumbrance has a double representation: the graphical and intuitive one, and the analytical definition that specifies the occupied region. This ana-lytical definition will be the key to reach interesting results, such as the collision map, that allows to visually check where is located the collision and can help to have a faster understanding of the mistake.

3.4.2 Representation of the workpiece and fixtures

The workpiece and fixtures are represented through the use of their STL file. The STL (STereoLitography) is the discretized

(51)

representation of a solid. This discretization is made using trian-gles, with the (x, y, z) coordinates for each vertex and the normal vector to the surface to describe the orientation. The idea is to create a point for each (x, y, z) vertex. In this way a represen-tation of the workpiece as a cloud of points is obtained. The representation is approximated, but for the purpose of this work it is fine. In case of too simple geometry, in which this problem can affect the collision detection mechanism (e.g. a cube), the number of vertices could by increased through the use of proper algorithms already present in the literature and libraries.

(52)

Figure 3.6: Representation of a component through a points cloud

3.4.3 The membership test and collision map

genera-tion

The handled information so far are:

• A specified region in the space that is occupied by the tool, the toolholder and all the elements that are considered. • A points cloud that specifies the region of the space that is

occupied by the stock and the fixtures.

The idea is to detect the collision with a membership test. In Mathematica this could be done through the function Region-Member. The function RegionMember[ reg,x,y,. . . ] takes as input a constant region reg and test if the points in the space (p1,p2,. . . ) belongs to that region. Note that the command gives

the opportunity to adopt many strategies to select the input to setup the test: for example it is possible to conduct a test selecting a subset of the obstacles in the environment versus a particular region; a test like this from now on will be called ”partial test”. The response of the test is boolean: the function gives True if the point belongs to reg. Thus, the output is a list of True or False,

(53)

whose size is give by the number of tested points. The fastest way to check if in the list there is at least one True, in absence of a reliable command in Mathematica library, is to transform the output in a binary list in which F alse = 0 and T rue = 1, then, once did the sum of the content of that list and obtained the to-tal, there is an If statement that checks the value of the total of the response list: if it is the greater than 0, the string “collision” is displayed.

Figure 3.7: Processes of the collision test module

The boolean response of the RegionMember could be repre-sented even in a RGB vector through a computational transfor-mation. Thus, the points whose value is T rue, are associated with the color Red, instead Black is the color of the F alse points. In this way the Graphics3D function can associate a color to each point in the vector of coordinates and a 3D colored collision map as the one shown in figure 3.8 is created.

(54)

Figure 3.8: Example of collision map

Superimposing the red dots to the 3D representation of a com-ponent, a of collision map as the one in figure 3.9 can be created. In general this kind of map is more straightforward and even com-putationally lighter, since it handles much less entities: it needs just to select the red (T rue) points and add them to the graph-ics of the STL of the component, while a high number of points (the non colliding points) are neglected. Mathematica is faster to handle this map.

(55)

Figure 3.9: The collision map could be also superimposed to the STL repre-sentation of the component

3.4.4 A tool for collision detection tests: the WBB method

This paragraph introduces a tool that is not compulsory for the implementation of the standard method; in fact, the tool that will be presented now, requires one more optional passage in the modeling process of the obstacles. Its application depends on the necessity of the user. It is strongly suggested for example in case of complex geometries that would make the computation time unacceptable. This tool is used to lighten the computational load and it can be called the ”warning bounding boxes” method (WBB). A slightly overdimensioned bounding box that circumb-scribes the obstacle is introduced and since the input of the tests should be always a region and a set of points, a points cloud that fills it is created.

The introduction of the bounding boxes is interesting since they allow to run a two-phase approach for collision detection in order

(56)

to reduce the number of partial tests with components’ points cloud. During the first phase collision test, a bounding box and a region are tested. If necessary, the geometry inside the bounding box is tested against the region during the second phase collision test.

This could be important in case of complex geometries or an high number of inserted obstacles, that take a considerable computa-tional load. The method follows this procedure:

• The bounding box is created through the function Cuboid, whose input are the coordinates of two extreme corners of the desired shape (cube or parallelepiped).

• The bounding box is filled with a points cloud.

Figure 3.10: Example of bounding boxes filled with a points cloud with the random function

Different strategies can be adopted to create the points cloud. Points can be created only at the boundary of the box ( to lower drastically the computational load in case of very com-plex geometries) or an homogeneous distribution of points can be reached through the function RandomReal, that takes as input the range for each coordinate and the number

(57)

of desired points. The aim obviously is to have a less dense cloud with respect to the one of the component in order to reduce the computational load

At this point, the tests using the bounding box can be run and three scenarios are possible:

• There is no collision between the selected region and the bounding box. Thus, these parts can be excluded from the critical set of obstacles and no further tests are needed. • There is a collision between the selected region and the

bound-ing box, but the partial test between the region and the bounded geometry is negative. In this case it is a near miss. It is suggested to slightly modify the setup if possible, since little misalignements or an error in the control can cause collisions.

• There is a collision between the selected region and the bound-ing box and the partial test gives a collision. In this case the bounding box worked as a correct warning.

(58)

Figure 3.11: Structure of the two-phase collision test using the bounding boxes

The advantage of this approach is that, regardless the complexity of the components and fixtures, the number of points inside the bounding box is set to be much lower than the initial one and the simulation can target just a subset of partial collision tests that need particular attention with an accurate test, resulting in a saving of computational time.

3.4.5 The validation

The validation of the work is given by the comparison between the result of the analytical test developed in Mathematica and the machining simulation in VERICUT . VERICUTR is a profes-R

sional CNC machining simulation software, that take as input the part program, the control and all the elements of the machin-ing environment. Its machinmachin-ing simulation has the most accurate collision detection available. Thus, it is natural to compare the

(59)

response of the most reliable software with the response of the object of this master thesis work in order to obtain a proof of concept. To validate the method, the response should be the same in terms of:

• Event. The string response (collision/no collision) should be consistent with the VERICUT simulation.R

• Location. If there’s a crash, through the colored map could be evaluated if the collision region is the same.

If both the outputs are consistent with the results of VERICUT R

simulation, the tool is validated and it is possible to state that the proposed method is working.

(60)
(61)

The use case and validation

The proof of concept of this work will be done using a real indus-trial product. This product is taken from the automotive market. The choice of the product is not done considering only an ade-quate complexity in the machining context, but it is addressing a particular situation. In fact, as said in the previous chapters, in the automotive market the problem of the spare parts manage-ment is relevant, and it is common to have obsolescence after a period. But, since the spare parts should be guaranteed, the pro-duction of a proper quantity still goes on, and mainly two solution are possible: to switch the production from a dedicated line to a multiproduct system or outsourcing the spare parts; both of the solutions can experience the problem dealt by this thesis.

4.1

Basic definitions

First of all, it could be useful to give basic definitions about ma-chining processes.

Manufacturing feature: it is the local geometric characteri-zation of the component that defines the volume to machine in order to obtain the final desired shape. The principal types of manufacturing feature are:

• Region • Transition

(62)

• 21

2D features

In the automotive context, it is very common to have 21

2D fea-tures. They are created by the extrusion of a profile along a path. There are many types of 21

2D manufacturing features such as pla-nar face, pockets, slots and even compound features. A coordi-nate system is attached to a manufacturing features, it has mainly two functions: the dimensional description of the manufacturing features and the positioning of it. The coordinate system is ori-ented in such a way that the profile is lying on the XY plane and the material removal direction is the negative Z-axis.

STEP-NC is an ISO standard, proposed to interface the CAM and the CNC and to facilitate the creation of a part program. It is a feature oriented data model. The proposal of STEP-NC is to consider manufacturing features as a component of the workpiece. Machining operation: it is a list of all the technological infor-mation necessary to perform the machining. These inforinfor-mation are:

• Tool requirement • Machining strategy • Technology parameters

• Machine functions (ex. Coolant)

A manufacturing feature could require more than one machining operation to be accomplished.

Machining workingstep: it is the union of a manufacturing feature ( that represents the set of geometrical data) and the ma-chining operations ( set of mama-chining data), thus it fully describes a precise action of the machine tool on the workpiece.

(63)

• Manufacturing features • Machining operations

• The associated part program • Precedence constraints

4.2

The workflow of the use case

Before going into the details, it is convenient to show what is the workflow that will be followed for the proof of concept.

(64)

Figure 4.1: The workflow of the use case

The workpiece choice deals with the research for a component that can give as generality as possible to the use case.

Few manufacturing workingsteps are chosen for the application of the simulation process, without any generality loss. In fact, to

(65)

validate the method is not necessary to execute the whole manu-facturing cycle, since it would be a repetition of the same kind of processes. Thus, just key workingsteps will be chosen.

The manufacturing cycle is defined after the manufacturing work-ingstep choice. Attention will be given to the tool, since special equipment should be noticed and needs to be replaced in a proper way (e.g. using additional axis ).

The part program creation deals with the creation of a G-Code that starting from the original code of the line, it is performing the same operation on the FMS. Furthermore, this code is written following the NPP principles, thus it is modular and it is suitable for the partial execution.

The choice of the machining environment is related to the choice of equipment and elements that will physically take part to the operations. Since they need to be assumed, they must be reason-able.

The simulation on VERICUT is the way of getting a reliableR

result.

The application of the developed method is the crucial stage, that will take to the result comparison and then the validation, in case the method is working properly.

4.3

The component description

The component that will be used is, as already said, an auto-motive component. It was produced in a part mix that included three parts. These parts were produced on a multi model transfer line, the IMASFLEX-150.

(66)

Figure 4.2: The IMASFLEX-150 line

The main characteristics of this transfer line are: • 150 mm working cube

• 10 stations (1 for load-unload, 9 working stations)

• Two 3-axis CNC modules per station, one horizontal and one vertical

• 10 satellites as workpiece holder

Thanks to the double CNC module, all the machining features required by the components could be done with a single setup. From the part mix, it is selected the 380 component. The mate-rial of the component is an aluminum alloy. In the figure 4.3, it is shown the component with the working directions ( Di ).

(67)

Figure 4.3: Working directions of the 380 component

As can be seen, the working directions D1, D2, D4 lies on the same plane, while D3 is on an orthogonal plane. For this rea-son, both the vertical and horizontal CNC modules will be used to machine this component. The use of both modules, that gives more generality to the problem, is the reason why this component of the part mix is chosen.

(68)

Figure 4.4: Manufacturing features of the 380 component. Image modified from [17]

It is available also a list of manufacturing features with the technological information about tools and operations.

(69)
(70)

Since in the transfer line the workpiece is machined in only one setup, all the precedence requirements of tight tolerances are satisfied. The only aspect to respect is the operation sequence, as shown in figure 4.5.

(71)

4.4

The manufacturing cycle description

This paragraph will describe the application of the methodology developed in this thesis work to the use case. To do this, just three machining workingsteps are selected. The choice of the manufacturing workingsteps is made in order to reach a general result, thus the objective was to select features that force the use of all the 5 axis that are at the FMS disposal. To this purpose, the manufacturing workingsteps number MW43, MW44 (on the blue face in figure 4.4) and MW46 ( on the yellow face in figure 4.4) are considered. The assumption is that MW34 and MW26 have already been performed (because of the precedence on the process graph in figure 4.5 ). Thus, the manufacturing cycle that we will recreate is:

Table 4.2: Manufacturing cycle performed in the application case

These are all drilling operations. Since information about the tools are available, their characteristics are analyzed.

(72)

Figure 4.6: Tool of the line for MW46

It is the tool associated to the machining workingstep MW46. The tool tip diameter is 5 mm. The indication about the module and the operation are fundamental to associate the proper part program to the machining workingstep avoiding the scanning of all the code.

• Tool T60

Figure 4.7: Tool of the line for MW43

It is the tool associated to the machining workingstep MW43. The module of the part program is the 6V, the operation number is 208/c.

(73)

• Tool T65/A

Figure 4.8: Tool of the line for MW44

It is the tool associated to the machining workingstep MW44. The module of the part program is 8H. The “H” stands for horizontal, it means that this operation is using the hori-zontal spindle of the station. Since the previous modules were “V”, as stated above, the component needs both the CNC modules. Furthermore, as can be seen in figure 4.8, for this operation a special tool support is used. This dedicated equipment is obviously not present in the FMS we will use, that is a multipurpose machine.

(74)

4.5

The part program creation

The part program creation deals mainly with:

• The individuation of the module that regards the machining workingstep that should be replicated

• The translation of that module in the language of the control of the chosen FMS

• The writing of the code using the modularity principle, al-lowing the partial executing, that could be useful in case of refurbishing.

With the help of the available spindles and tools table, it is pos-sible to have at least a clue on the module in which we have to search for the right code. Once found the code that is about the machining workingstep of interest, an analysis line by line is re-quired, as a work of reverse engineering. The following figure is an example of the analysis:

In this case the comment that are on the right are done by the author of the thesis work. Once understood the information contained in the original code, it is possible to write a code that suits the chosen control. In this case for example, an important information is given by the “A65” command, that tells the incli-nation of the yellow face.

At the end of the code analysis it is possible to get: • The geometrical characterization of the workpiece • A new, modular code suitable for the chosen FMS

(75)

4.6

The selection of the machining equipment

Now the task that has to be accomplished is to take all the nec-essary decisions to setup the machining simulation. The choice of the FMS is relatively easy; in fact, it should be a general-purpose machining center, and in VERICUT there are many. The mainR

difference among the available models in the library is between vertical and horizontal spindle. Since horizontal spindle machine tools are more common in FMS, this type is chosen. Among the horizontal spindle machines, the Makino 1010 is the selected one.

Figure 4.9: The selected machine tool: Makino 1010

The chosen control is a Fanuc, since it is one of the most used controls. In particular, the Fanuc 0m is chosen. The tools are recreated starting from the basis of the drawings of the real tools of the line, shown in the previous paragraph; then their profile is drawn in VERICUT to create the tool; in Mathematica insteadR

(76)

4.7

VERICUT

simulation and method ap-

R

plication

The machining simulation software VERICUT is used. The useR

case is presented in two different scenarios: in one setup there is a collision , while in the other there is not. The discrimination between the two setups is the vertical distance between the work-pieces. For example, it is assumed that an error of calculation of the minimum distance of the pallet configuration is done, and it will cause the collision. In fact, it is normal practice to increase the production rate, to install many workpieces on the pallet on the cube in one setup, as in figure 4.10.

Figure 4.10: Setup with many workpieces: on the left the first setup, on the right the second setup

The workpieces are mounted on the same side of the cube. Since the difference that cause the collision is due to the relative vertical distance between two adjacent workpieces, just two of them at a time will be considered in the simulation with refer-ence to their relative position. From now on, the text will refer to ”upper workpiece” or ”lower swept volume” in this sense, to

(77)

indicate if the object belongs to the part that is in on the top or in the lower position.

4.7.1 First setup

In the first setup, the two components are mounted with a relative vertical distance of 200mm, this distance allows to mount three workpieces on the cube.

Since at this point, following the workflow, all the necessary data to run a machining simulation are acquired and the part program is written, it is possible to use VERICUT to check the feasibilityR

of the process. The result of the simulation is that there are no collisions. The most critical point, in which the tool is in the most dangerous position, is shown in figure 4.11.

(78)

Now it is applied the method proposed in the thesis work. First of all it is necessary to discretize the trajectory of the input points of the part program.

Figure 4.12: Discretization of trajectory points. Output from MATLAB R

code

This set of points is then imported in Mathematica. Remem-bering that are used cylindrical primitives, that set of points be-comes the center of the circles of the upper and lower base of the cylinder. The trajectory layers are assigned to the respective geometry: layer one and two are the tool geometry lower and upper base, layer two and three are the toolholder ones. The voxelization of the discretized points is performed, obtaining the volume swept by the tool and the toolholder for the machining workingsteps MW43, MW44 and MW46 of one component.

Riferimenti

Documenti correlati

29 Regarding the influence of female involvement in the board on the EO–firm performance relationship, higher levels of female involvement strengthen the positive

in “Architecture, Industrial Design and Cultural Heritage” University of Studies of Campania “Luigi Vanvitelli”..

(a) Voltage output from one of the 16 tactile units; (b) result of the algorithm application using a 40 ms window for the ON/OFF signal computation; (c) result of the

Il rilievo di Treviso e di Ceneda, entrambe sedi di ducato nel regno longobardo, all’interno di quella porzione nordorientale dello stesso che, dall’VIII secolo, le fonti

In this frame, since the Italian Pharmacovigilance System (Italian Medicines Agency—AIFA) only collects reports for registered drugs, the Italian National Institute of Health

It is well known that, whereas humans might spontaneously develop BE, mice and rats do not, mainly because of differences in esophageal biology. For these reasons, surgery has

However, within groups with a steeper age-earnings profile high school and college graduates employed in the private sector the generalised Lorenz curve associated with

Si è determinata una situazione, solo apparentemente paradossale, per cui alcuni temi erano dominanti nelle tante segnalazioni dei cittadini cui dovevo rispondere giorno