Virtual disassembly of products based on ... - Semantic Scholar

5 downloads 825 Views 454KB Size Report
objectives, we should mention the recovery of valu- .... sical entities, which form a product: hard drive, ... different software components involved in the pro-.
Computers in Industry 55 (2004) 1–14

.

Virtual disassembly of products based on geometric models J. Pomares*, S.T. Puente, F. Torres, F.A. Candelas, P. Gil Department of Physics, Systems Engineering and Signal Theory, University of Alicante, Crta. San Vicente s/n. P.O. Box 99, 03080 Alicante, Spain Received 18 September 2002; accepted 26 March 2004 Available online 19 June 2004

Abstract This paper describes different aspects of a disassembly system and presents the information model to obtain, on the one hand, the movements necessary for removing a component, and, on the other, a simulation of the disassembly process carried out. The inputs of the disassembly system are the CAD model of the product to be disassembled and the different features of the components stored in a database. Based on such information, an object-oriented model required for developing the disassembly process in a flexible way is generated. Local and global strategies for the removal of one component, using a set of translational movements, are described. Finally, the paper describes a simulation system that allows the verification of the disassembly movements automatically obtained, and simultaneously, to determine the ease of non-destructive disassembly. # 2004 Elsevier B.V. All rights reserved. Keywords: Disassembly movements; Design for disassembly; Disassembly process; Geometric models; Disassembly simulation; Disassembly path; n-Disassemblability

1. Introduction Disassembly processes allow us to breakdown the product into its different components, taking different criteria into account (functional, according to materials, etc). In [1,2], some of the desired objectives in disassembling products are shown. Among such objectives, we should mention the recovery of valuable components, the removal of defective parts, the re-usability of certain components, the reduction of the amount of left-overs, etc. In [3], once again, the convenience of re-using the components of a product, once its life-cycle has finished, is demonstrated. In this paper, a study is presented that describes different *

Corresponding author. Tel.: þ34 965 90 3400x2032; fax: þ34 965 90 9750. E-mail address: [email protected] (J. Pomares).

elements that an automatic disassembly system requires from the economic and industrial point of view. The need to have a preconception of the requirements for the disassembly of products from the initial phases of their design has given rise to the term ‘design for disassembly’. As already mentioned, the process for the disassembly of a product can be done for many different reasons, such as, the maintenance or the removal of a given component. The type of disassembly or the reason for which it is done conditions the entire disassembly process. As such, depending on the objectives, the methodology for developing its automatic disassembly changes, as well as the information required and, therefore, they should be considered from the very first phases of the design. The case we deal with here is a non-destructive disassembly for maintenance. In such a case, a representation that

0166-3615/$ – see front matter # 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.compind.2004.03.001

2

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

reflects both, the different components that can be detached and the possible links for joining the different components, is required. There are two main types of disassembly, one is ‘destructive disassembly’, in which a component is removed from the product previously assembled, by destroying or damaging some other component of the product, and the other is ‘non-destructive disassembly’, in which we can remove each one of the components without affecting any of the others. In [4–6], different methods of determining the sequence of movements required for removing any of the components of a product (disassembly path) are presented. These authors used, mainly, a disassembly path that allows only one single translational or rotational movement for removing a component, considering that the component cannot be separated from the product if it needs more movements to accomplish the removal operation (1-movability). In this article, we present a method for the modelling of assemblies, which later on allows us to determine the disassembly path, taking into consideration a complex path, composed of a set of movements. Furthermore, it uses an adaptive planning since the state of the disassembly is re-evaluated to find the disassembly path after computing each movement of the component. The method presented is based on non-destructive disassembly. This article proposes an algorithm for the generation of the movements for disassembly. We apply this algorithm to the removal of components of a PC. Within this field, there are several publications, such as [7–11] in which different techniques are applied for the disassembling of computers. Nowadays, the disassembly of PCs is becoming more and more important [12]. To be more specific, in this research we examine the case of a PC that must be disassembled automatically. In order to carry out this process, a model of the PC is made in such a way that it allows us to determine the characteristics of the elements involved in the product. The characteristics are those that offer sufficient information to determine the sequence of disassembly actions required to remove a given component. Nevertheless, to be able to carry out automatic disassembly, using a robot, other characteristics, which are described later on in this paper, are required to allow the grasping of objects and to determine the trajec-

tories to be followed by the arm in the 3D space. We use the model mainly for the determination of the movements required for the removal of a component. It must, therefore, include the necessary geometric information. We also include considerations for its future implementation in automated systems based on robots. In the proposed disassembly system we have a simulation software component that allows us to make a pre-visualization of the steps that are required for the removal of a given component. The rest of the paper is organized as follows: in Section 2, the main parts of the disassembly system are shown. Sections 3–6 describe these steps. Section 7 shows a simulation of the results obtained. Finally, the conclusions that can be drawn from this research are presented, along with suggestions for possible future studies.

2. Disassembly system To provide a clear notation for the rest of this paper we shall now define a set of concepts.  Components: All the elements with individual physical entities, which form a product: hard drive, power supply, CD-ROM, etc.  Fasteners: All the elements with physically independent entities, which link two or more components: screws, cables, etc.  Initial assembly: The original setup of all the components, sub-assemblies and fasteners that form a product.  Product: The initial assembly. The product to be disassembled, S, is composed of a set of components attached to each other with different kinds of contacts (flat, cylindrical, screw, etc.). Each item of data about a component, Oi, (i 2 1; . . . ; n, where n is the number of components) is stored in a database from which the necessary characteristics of the component can be obtained for its subsequent removal. Given a product and a component of that product, the problem to be solved is to determine the necessary movements for the automatic removal of the given component. This problem is called a disassembly path generation. To infer the trajectory to be followed

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

3

Fig. 1. Disassembly system.

during the disassembly, it is necessary to have an assembly model that allows an optimal storage of the information needed for its disassembly. Futhermore, this model stores the necessary features for automatic implementation with a robotic arm. The model used must accurately represent the environment of the product so that the subsequent simulation reproduces the disassembly process that will be carried out in practice, as faithfully as possible. This way, the simulation allows the evaluation of the ease with which the product is disassembled. Fig. 1 shows the relationships that exist among the different software components involved in the proposed disassembly control and simulation system. A geometric model of the product is generated from the CAD model and from the information in the database. This geometric model allows the system to obtain the information necessary for the planner and for the software component that determines the disassembly path. The aspects of the disassembly system listed below will be discussed throughout this article, demonstrating its main advantages over other software tools:  Obtaining the information model required for the disassembly system.  Obtaining a geometric model from this information. Such a model allows the system not only to determine the movements for the removal of a component, but also to have a source of information for the planning software component.

 Describing the strategy that enables the system to determine the disassembly path of a given component. That is to say, the way in which the disassembly path is determined from an object-oriented information model. This set of movements can be implemented by a robot.  Simulating the disassembly process. It is not the objective of this paper to describe the planning of the disassembly process. The planner uses a generic graph of hierarchical relationships among the components that make up the product, to determine the component to be disassembled at each moment [13].

3. Geometric model This section shows a proposal for a geometric model of a product, which allows us to carry out the automatic removal of each of its components. An approach, in which the disassembly model is generated automatically from the CAD design of the product, is proposed. The model, which not only facilitates the determining of the directions of the removal of each component, also allows us to capture the necessary information for the simulation of the disassembly process. The characteristics of its future implementation in a robotic system will also be discussed. The components of the product are modelled as a polyhedron. However, in a product, it is possible to

4

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

Fig. 2. Approximation of the shape of a screw to a polyhedron taking different resolutions into consideration.

find non-polyhedral components. In such cases, their shapes are approximated by a polyhedron, so that the disassembly movements will be determined for the polyhedral envelope. Fig. 2 shows the approximation of the shape of a screw to a polyhedron taking different resolutions into consideration, using different qualities in the representation. A polyhedron is formed by a set of intersecting flat surfaces. A surface has a normal vector, v, associated with it, which is perpendicular to it and is directed outwards from the polyhedron. In addition to the vector, a point is required to obtain the complete equation of the plane corresponding to the surface. Therefore, it is also necessary to have the coordinates of one of its vertices stored. Thus, for each surface, i, a vector and a point will be needed (~ vi1 ,pi1 ), where the sub-index, 1, indicates that it is the initial position of the surface of the polyhedron. Throughout the disassembly, successive transformations will be carried out on the above-mentioned vector and point so that after j transformations of the polyhedron, their values will be ½~ vij pij T ¼ T  ½~ vi1 pi1 , where T represents the set of translations that the surface has undergone. The problem to be solved now will be to determine the set of translations, T, that allows the removal of a component. A model of the product which allows the inclusion of all the characteristics (including the geometric ones) that are implied in the disassembly problem has been developed. This information model is an extension of the model shown in [14], which was designed exclusively for the planning of a disassem-

bly process restricted to 1-movable products. The extension that we propose in this paper also allows the generation of disassembly paths composed of different translation movements. Each component is represented hierarchically using an object-oriented annotation (class, object, method). The attributes of a component may be geometric, physical, relational, etc. The attributes and the geometric features are obtained directly from the CAD model of the product. Within the geometric attributes, information such as the location is stored. The location defines the position and orientation of the component with respect to the global system of coordinates. Furthermore, the characteristics of the geometric model, such as the pair ~ vi1 ; pi1 for each surface, as well as, the physical attributes, such as the geometric centre of the components, are stored. Other information such as the surfaces that allow the manipulation of the object, as well as attributes of reachability that provide information to the manipulator, is also stored. The nongeometric information is obtained by means of a database with the features of the product components (see Fig. 1). Unlike the strategy shown by Zussman et al.[14], in the system proposed here, a separate representation of the previous object-oriented model is used in order to show the relations between the different components of the product, capturing additional information about the assembly, such as its CAD model, which allows the generation of disassembly paths. This representation is based on a graph of contacts which will be described in the following section.

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

O1

C3 P11

O2

5

P12

P13

P15

P14

P16

O1

C1

C3 C4

P21

P31 P32

P22 C4

C2

P23

C1

P17

C2

O3

O2

C5

P24

P26

Assembly

P34

C5 P25

...

P33 O3

P35 P36 ...

Fig. 3. Graph of contacts.

4. Graph of contacts In the previous section, the information required about each component has been described. In this section, the information about the existing relations among the components of the product is presented. In the existing literature, there are numerous references to methods of representing this information by a graph. Among them Gottipolu and Ghosh [15], Laperrie`re and ElMaraghy [16], Yokota and Brough [17], Zussman et al. [14], Garcı´a et al. [4], can be found. The last of these authors describe a representation of the relationships among the different components of a product, which shows the direction in which a contact between the components takes place (in which case the type of contact is not indicated). In [16], the different geometric relationships that exist between each pair of components (contact, blocking, free, etc.) are shown. In [17], the possible degrees of freedom for the removal of a component with a given contact are shown. In [4], a graph is used for computing the possible movement of a component considering its contact with the adjacent components. The main problem with the approaches proposed by these authors is that they use static representations which, as such, are not modified at any time throughout the disassembly process. In this paper, a dynamic representation is proposed. This means that the representation is updated during the progress of the disassembly process. e.g., during the disassembly process a contact will disappear and a new contact can be generated. The features of these

new contacts will be obtained from the objectoriented model. Fig. 3 shows an example of a graph of contacts. For the sake of clarity, in Fig. 3, the adjacent surfaces between each of the components have not been indicated. Therefore, each polyhedron (component Oi) of the product, S, will be stored in the form of a graph with a node for each surface (pij surface j of the component i), so that there will be an edge when one surface of the polyhedron is adjacent to another. Furthermore, this graph has an edge (contact Ci) between each pair of surfaces of each component that are in contact with each other in the initial assembly. Each edge has an attribute that indicates the type of contact it is (flat, screw, cylindrical, etc.). This graph is labelled ‘graph of contacts’ (Fig. 3) and is generated automatically from the geometric model described in Section 3.

5. Simple movements This section describes the method for determining the direction in which the removal of a component from the rest of the product has to be done. Simple directions are considered, so that the disassembly is done with just one translational motion. 5.1. Set of directions of removal To determine the contact relations between each pair of the components of the product, the graph of

6

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

contacts is used. In the following phase, the disassembly path of a component is calculated. Some authors, such as Mascle et al. [18], Laperrie`re and ElMaraghy [16] propose defining the contacts between the components of the product with the degrees of freedom of each union. These publications show a kinematic representation of the product in which the set of movements allowed between the components for removal are defined. In contrast, the approach described in this article uses the concept of the Gaussian sphere, developed by previous authors, such as Shyamsundar and Gadh [19], Woo [20], Woo and Dutta [21], Gadh et al. [22]. This concept is more general than the kinematic approach and it is used to determine the set of directions of removal (SDR) based on the contact surfaces. This set represents the possible separation directions of the component with respect to the rest of the product. To remove a component from the rest of the product (for example O1 in Fig. 3), each of the contact surfaces of the component must be considered. These contact surfaces restrict the directions along which the component is to be removed. Each of the contacts (which can be determined from the graph of contacts) will suppose a cut in the Gaussian sphere, thus limiting the set of separation directions. This way, once all the contact surfaces have been considered, we will have a section of the sphere that represents the set of removl directions for that component. Fig. 4 shows an example for determining the SDR for the component O1 from the product of Fig. 3. Different strategies for obtaining the removal directions use Gaussian sphere-based methods, and extenGaussian sphere

sions to the basic algorithm of the Gaussian sphere can be seen in several studies, such as [23], which consider cylindrical contacts in disassembly problems. In the approach proposed in this article, the different types of contact that are found in common industrial products are considered (screws, cylindrical contacts, or other elements that restrict the removal directions). This allows us to obtain, for a given contact, the set of movements to be carried out to achieve the removal of a component, regardless of the complexity of the movements, as well as the tools that a robot must use for the disassembly process. 5.2. Direction of removal This section describes the method used for determining the direction of removal (DR) from among the set of directions represented by the SDR, calculated with the Gaussian sphere method (a flow-chart of the process followed to get a DR is shown in Fig. 5). In order to determine this direction, taking into consideration robot navigation techniques there are two main approaches: local and global [24]. The global approach uses the complete knowledge of the setting (the model of the product shown in Section 3) where the disassembly is performed. A

Contact C1

SDR

Contact C2

Contact C3

Contact C4

Contact C5

Fig. 4. Set of directions of removal of the component O1 in the assembly shown in Fig. 2.

Fig. 5. Flow-chart to determine the direction of removal.

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

discrete global representation is often used to determine the direction of removal. The visibility graphs or the Voronoı¨ diagrams are found within these global approaches [25,26]. These approaches are based on the construction of a smaller dimension representation, such as a graph, from which the removal direction is determined. As opposed to the previous approaches, there are the global ones that use the decomposition in subspaces of the search space for the direction of removal. This technique is known as cellular decomposition [27,28]. In contrast, when a local approach is used, a local representation of the disassembly environment is needed. This information is often about the components that are closest to the one to be removed. An example of local approach is the potentials approach [29] which will be partially used during the disassembly process that is presented in this paper. While local approaches study the possible motion of a component without considering any blocking by remote components, the global ones study detachment, i.e., motion towards infinity without being obstructed by other components. To obtain the trajectory for the removal of a given component, a mixed approach has been developed. This approach uses both local and global concepts. Local concepts, such as the generation of a set of repulsion forces from the obstacles towards the component to be removed (potentials approach), are used. Global concepts, such as the global information of the environment of the disassembly process, are also used. This global representation, labelled here as ‘discrete world’, stores information that indicates whether a position (or set of positions) in the environment is occupied by an obstacle. The ‘discrete world’ is implemented as a tridimensional array, so that each value of the array has the occupation information of a global cartesian coordinate (or set of coordinates) of the work space. Therefore, each value of the ‘discrete world’ stores numerical information concerning the probability that an obstacle is in the corresponding set of positions. The information contained in the ‘discrete world’ is obtained through the detection of obstacles during the execution of the disassembly process. This detection is made using a set of rays or straight lines coming from the geometric centre of the CAD model of the component that is being removed (similar to an ultrasonic ring in robotics). This set of rays form a sphere around

7

the component, which will be used to determine the probability that a collision could take place in a given direction. The number of rays is estimated by the homogeneity of the component to be removed or by the precision required. As such, the greater amount of rays there are, the greater the precision will be in detecting obstacles and the smaller the obstacles detected may be. However, a higher number of rays will require more extensive processing, which implies a compromise between processing time and precision in detection. A sampling of the trajectory followed by the removed component is made, so that at given intervals of time, the information in the ‘discrete world’ is updated. Once the SDR and the discrete world have been obtained, the following step is to create a histogram, which shows the probability with which a collision might take place, for each possible direction of removal. This histogram is generated from the information in the ‘discrete world’ that is nearest the component that is being removed. The histogram is generated from the nearest information that is within a sphere with a radius of d (proximity subsphere) centred in the position of the ‘discrete world’ corresponding to the geometric centre of the component to be removed. The radius d is a parameter of the algorithm and represents the information that will be accumulated in the histogram. The Cartesian global coordinates of the discrete world are then converted into local spherical coordinates with respect to the geometric centre of the component to be removed. Thus, local spherical coordinates (r, j, y) are obtained from the global cartesian coordinates (x, y, z) which correspond to a position in the ‘discrete world’. In order to determine the values of the histogram, the values of the ‘discrete world’ that are within the subsphere of proximity are accumulated in the positions corresponding to the angles (j, y) in the histogram. Therefore, the histogram will be a grid of two dimensions that stores the probability of collision, p, on carrying out the movement in a given direction. In Fig. 6, an example of a histogram for the bi-dimensional case is shown. The proposed method works in the three-dimensional case, but for better graphical compression a bi-dimensional case has been used in Fig. 6. The following step consists of considering the component to be removed as a particle subjected to

8

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

Fig. 6. Generation of the histogram in the bi-dimensional case.

repulsion and attraction forces. In [29], similar strategies for determining trajectories are shown. In order to determine the direction of the SDR that is selected for removal, a repulsion force against the component to be removed is associated with each value of the histogram. These forces, which are directly proportional to the values stored in the histogram, will be inversely proportional to the distance between the obstacle and the component. The repulsion force for each value of the histogram (j, y) is computed using Eq. (1), which calculates the resultant force in the cartesian 3D space for each possible movement direction of the component. In Eq. (1) ‘hist(j, y)’ represents the value of the histogram at the angles (j, y). ‘f(j, y)’ has three components in the 3D cartesian space (fx, fy, fz) and this force is different in each of the removal directions given by the parameters j and y. 2 3 2 3 x fx ðj; yÞ X histðj; yÞ 6 7 6 7  4y5 f ðj; yÞ ¼ 4 fy ðj; yÞ 5 ¼

r 8p=pðr;j;yÞ6¼0 z fz ðj; yÞ

of components that require more than one translation (n-disassemblable). In order to determine these movements, the following steps are made (Fig. 7): 1. Obtain the DR from the concepts shown in Section 5. 2. Detect possible collisions. In this section we determine what collisions would be obtained if the component is moved in the DR. If no collision takes place, we would have already found the correct direction for the removal. Otherwise, we would have a distance, d, in the DR, after which we would have a collision.

(1) From this histogram, it is possible to know the directions that are free of obstacles. In these directions an attraction force is exerted that will be combined with the previously mentioned repulsive forces. Once the direction of the resulting force has been calculated and verified, the nearest direction within the SDR will be the direction chosen for the removal, DR (direction of removal).

6. Determination of the sequence of movements Up to now, we have considered a 1-movable process (note: 1-movability has already been defined). We shall now describe the technique used for the removal

Fig. 7. Flow-chart to determine the sequence of movements.

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

3. Determine a distance d0 < d, so that, once the component has been transferred through this distance d0 for its removal, an update of the ‘discrete world is made and we return to point 1. This transfer causes the data stored in the objectoriented model to be updated (location, geometric centre, etc.). It also causes the updating of the graph of contacts.

9

component can be transferred in a given direction without causing a collision with any other component in the product. In the algorithmic description of the collision detector that is presented here, the following considerations are made: DR is the direction of removal of the component O obtained from SDR. The algorithm that determines where the component can move to, without any collision taking place, uses the solution of a set of problems of linear programming. From the solution of each one of the previous problems, a set of collision points is obtained. The nearest point to the component to be removed will indicate the maximum distance that the component O can be moved in the DR. To illustrate the general description of the algorithm, the realistic example shown in Fig. 8a is used. This figure shows a case in which the system has to determine up to where the screw (O) can be moved in the DR (i.e., vertical and downwards) without colliding with the obstacle. Thus, the algorithmic description of the method used for the detection of collisions is as follows: For all the surfaces (whose planes correspond to an equation Pu) of the component to be removed O, and whose normal vector~ vji (where j is the numeration for the surfaces of the component O) form an angle with the DR that is in the range of ] p/2, þp/2[, do: For all the surfaces (whose planes correspond to an equation Pv) of the obstacles that have a normal vector that forms an angle with the vector of movement (with a direction equal to the DR) that is in the range ]p/2, 3p/2[ (which, therefore, can collide with surface Pu of the component to be removed O),. do:

The iteration of the three previous steps generates the disassembly path. These movements are not restricted to a set of orthogonal directions, so that every direction is permitted in accordance with what is expressed in Section 5. We have developed additional techniques for the control of the trajectory. These techniques consist of guaranteeing smooth and nonrepetitive movements so that the disassembly is obtained with the least possible number of movements. In the second step for determining the disassembly path of a component, we have shown the need to have a detection system for collisions. The problem of detection of collisions is reduced to a problem of detection of collisions between polyhedral objects in motion. In this field, there are classical publications [30,31]. Other studies directed to the detection of collisions between polyhedral objects, [32], or those that use the simplex method-based detection of collisions, [33], should also be mentioned. The method that is described in this paper is used for the detection of collisions of components that are moving in a straight line (DR), affording the detection, not only of a collision, but also of how far the

Screw to be disassembled. O. Surface whose equation is Pu Surface whose equation is Pv

DR

Obstacle

(a)

(b)

(c)

(d)

(e)

Collision point

(f)

Fig. 8. Sequence in which the set of restrictions for the problem of linear programming for the detection of collisions is shown.

10

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

Fig. 9. (a) PC for the disassembly; (b) contact elements (screws) for hard drives and CD-ROM; (c) removal of a screw.

Solve the linear programming problem of minimizing Pu. The restrictions associated with this problem of linear programming will be:  The equations of the planes corresponding to the surfaces adjacent to Pu, but rotated so that their normal vector is perpendicular to the vector of movement corresponding to the DR, but also continue to be adjacent to Pu (see Fig. 8b). Once the plane has been rotated, the normal vector will point towards the outside of the component.

This restriction will have to be 0 so that the points that fulfil the restriction are those that are in the subspace corresponding to the interior of component O.  The equation of the plane Pu. In this case, the restriction will be 0, to limit the space in which the component O is not located and, therefore, the space that the component O will find during its movement (see Fig. 8c).  The equation of the plane Pv. The restriction will now be equal to 0. (see Fig. 8d)

Fig. 10. Removal of the hard drive. (a) First direction for the removal; (b) second movement for the removal obtained for the hard drive; (c) The last movement of the removal.

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

 The equations of the planes corresponding to the surfaces adjacent to Pv, but rotated so that their normal vector forms a ninety-degree angle with the vector of movement corresponding to the DR, and also continue being adjacent to Pv (see Fig. 8e). Once the plane has been rotated, the normal vector will point towards the outside of the component. This restriction will have to be 0 so that the points that fulfil the restriction are those that are in the subspace corresponding to the interior of component O. When this problem is solved, it gives the maximum distance to which the component O can be moved in the DR without its Pu surface colliding with the surface Pv of the obstacle. Fig. 8f shows (in dark gray) the zone of the space that fulfils all

11

of the restrictions. The collision point is presented in this figure. Once the points are obtained, using the previous algorithm, the nearest point to the component to be removed in the DR will indicate the maximum distance to which component O can be moved during the disassembly.

7. Simulation In this section, the proposed disassembly system is evaluated. To do so, several examples obtained with the proposed simulation system are shown.

Fig. 11. Disassembly process for the power supply. (a) Original position of the power supply; (b) position of the power supply once the first movement is made; (c) position of the power supply once the second movement is made; (d) the last movement for the removal of the power supply.

12

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

The simulation software component is represented in Fig. 1 and it shows the user a simulation that allows him to evaluate the automatic disassembly process. There are many publications [34–38] on this matter. The simulation system implemented uses the characteristics stored in the model generated and obtains a simulation of the movements required for the removal of each component generated using the algorithm described in Section 6. Thus, once the product to be disassembled has been modelled, by employing this tool, the obtained movements for the removal of each component are simulated. The simulation system proposed converts the CAD description of the product to a VRML (virtual reality modelling language) description for the simulation of the disassembly path of a component. VRML is a language for the description of scenes and it is one of the most generalized methods for visualization and virtual world navigation [39]. VRML allows navigation, viewpoints, easy integration in the Web and a high degree of portability. Therefore, this tool is employed to evaluate the disassembly process, obtaining the simulation of the movements required for the removal of the components of a given assembly, obtained as described earlier in this article. Fig. 9 shows the PC modelled for the tests. If an operator indicates to the system that it should make the removal of a hard drive, the system indicates that the previous removal of the fasteners is necessary, as is shown in Fig. 9. Once the fasteners have been disassembled, the system determines that the next component to be removed is the hard drive. Consequently, the path that the component has to follow is computed, using the proposed algorithm. With this information, the simulation system shows the user the path required to disassemble the hard drive. Its related movements are shown in Fig. 10, with an arrow indicating the removal direction in each step of the disassembly path. Another example using the proposed system is shown in Fig. 11. In this case, the component to be removed is the power supply. The component has to follow a disassembly path for removing it from the PC. The movements obtained for the removal of the power supply are shown in Fig. 11, where the arrows indicate the directions for the removal of the power supply at each step of the algorithm. Virtual reality modelling language allows the user to obtain different viewpoints for the evaluation of the

sequence of disassembly and, thus, to determine the ease of disassembly of a product.

8. Conclusions The different aspects of a disassembly system that allows n-movability have been shown. The model needed to infer the sequence of movements for the disassembly by a robot arm is obtained from the CAD model and a database with information about the components, such as the grasping features. A flexible system that allows a manufacturer to determine whether the product can be disassembled easily, as well as to obtain a sequence of the movements to be made by a robot arm, has been proposed. The method designed allows us, not only to obtain the disassembly path, but also to verify whether these movements exist and, if not, to indicate to the user or to the planning software component why the removal is impossible. Information about the fasteners has been added to the product model. We have implemented techniques for the detection of collisions that allow us to correctly simulate the movement of the components in a virtual environment. We have also done a study on the structuring and storage of the required information for each component. We have decided on an object-oriented representation of the information required for the determination of the movements for disassembly. Within the latter information, we include the tools and places that allow a manipulator to grasp and do the disassembly. We are now working on implementing the disassembly with the use of a robot arm that carries out the movements inferred by the system. References [1] A.J.D. Lambert, Disassembly sequencing: a survey, International Journal of Production Research 41 (16) (2003) 3721– 3759. [2] A. Gu¨ ngo¨ r, S.M. Gupta, Disassembly sequence plan generation using branch-and-bound algorithm, International Journal of Production Research 39 (3) (2001) 481–509. [3] G. Eckrth, T. Bo¨ nker, W. Kreis, Intelligent disassembly systems for industrial reusing and closed loop economy, in: Proceedings volume from IFAC Workshop on intelligent assembly and disassembly, Bled, Slovenia, 1998, pp. 105– 110.

J. Pomares et al. / Computers in Industry 55 (2004) 1–14 [4] M.A. Garcı´a, A. Larre´ , B. Lo´ pez, A. Oller, Reducing the complexity of geometric selective disassembly, in: Proceeding of the IEEE International Conference on Intelligent Robots and Systems, Takamatsu, Japan, 2000, pp. 1474–1479. [5] H. Srinivasan, R. Gadh, Selective disassembly of components with geometric constrains, in: Proceedings of ASME design engineering technical conferences, Las Vegas, Nevada, 1999. [6] H. Srinivasan, R. Gadh, A geometric algorithm for single selective disassembly using the wave propagation abstraction, Computer-Aided Design 30 (8) (1998) 603–613. [7] J.E. Boon, J.A. Isaacs, S.M. Gupta, Economic sensitivity for end of life planning and processing of personal computers, Journal of Electronics Manufacturing 11 (1) (2002) 81–93. [8] T.C. Kuo, H.C. Zhang, S.H. Huang, Disassembly analysis for electromechanical products: a graph-based heuristic approach, International Journal of Production Research 38 (5) (2000) 993–1007. [9] K. Lee, M. Martin, Modeling and supervisory control of a disassembly automation workcell based on blocking topology, IEEE Transactions on Robotics and Automation 16 (1) (2000) 67–76. [10] H.C. Zhang, T.C. Kuo, A Graph-Based Disassembly Sequence Planning for EOL Product Recycling, in: Proceedings of IEEE/CPMT Electronics Manufacturing Technology Symposium, Austin, TX, 1997, pp. 140–151. [11] A. Gungor, S.M. Gupta, An evaluation methodology for disassembly processes, Computers and Industrial Engineering 33 (1–2) (1997) 329–332. [12] B. Kopacek, P. Kopacek, Intelligent disassembly of electronic equipment, in: Proceedings volume from IFAC Workshop on Intelligent Assembly and Disassembly, Bled, Slovenia, 1998, pp. 87–92. [13] F. Torres, S.T. Puente, R. Aracil, Disassembly planning based on precedence relations among assemblies, International Journal of Advanced Manufacturing Technology 21 (5) (2003) 317–327. [14] E. Zussman, E. Lenz, M. Shpitalni, An approach to the automatic assembly planning problem, Annals of the CIRP 39 (1) (1990) 33–36. [15] R.B. Gottipolu, H. Ghosh, Representation and selection of assembly sequences in computer-aided assembly process planning, International Journal of Production Research 35 (12) (1997) 3447–3465. [16] L. Laperrie`re, H. ElMaraghy, GAPP: A generative assembly process planner, Journal of Manufacturing Systems 15 (4) (1996) 282–293. [17] K. Yokota, D.R. Brough, Assembly/disassembly sequence planning, Assembly Automation: International Journal 12 (3) (1992) 31–38. [18] C. Mascle, E. Dupinet, R. Maranzana, Feature modeling in assembly planning, in: Proceedings of the IFIP International conference on feature modelling and recognition in advanced CAD/CAM systems, Valenciennes, France, 1994, pp. 605–627. [19] N. Shyamsundar, R. Gadh, Geometric abstractions to support disassembly analysis, IIE Transactions 31 (1999) 935–946.

13

[20] T.C. Woo, Visibility maps and spherical algorithms, Computer-Aided Design Journal 26 (1) (1994) 6–16. [21] T.C. Woo, D. Dutta, Automatic disassembly and total ordering in three dimensions, Journal of Engineering for Industry 113 (2) (1991) 207–213. [22] R. Gadh, H. Hjalmarsson, F.B. Prinz, On the recognition and classification of shape features using MANU-facture, ASME Issues in Design/Manufacture Integration 39 (1991) 53–58. [23] Z. Siddique, D.W. Rosen, A virtual prototyping approach to product disassembly reasoning, Computer-Aided Design Journal 29 (12) (1997) 847–860. [24] H. Choset, Coverage for robotics—A survey of recent results, Annals of Mathematics and Artificial Intelligence 31 (1–4) (2000) 113–126. [25] X.B. Zou, Z.X. Cai, G.R. Sun, Non-smooth environment modelling and global path planning for mobile robots, Journal of Central South University of Technology 10 (3) (2003) 248–248. [26] O. Takahashi, R. Schilling, Motion planning in plane using generalised Voronoı¨ diagrams, IEEE Transactions on Robotics and Automation 5 (2) (1989) 143–150. [27] H. Choset, Coverage of known spaces: the boustrophedon cellular decomposition, Autonomous Robots 9 (3) (1999) 247–253. [28] T. Lozano-Pe´ rez, A simple motion-planning algorithm for general robot manipulators, IEEE Journal of Robotics and Automation 3 (3) (1997) 224–238. [29] M.B. Reid, Path planning using optically computed potential fields, in: IEEE Proceedings of the International conference on robotics and automation, Atlanta, GA, USA, 1993, pp. 295–300. [30] J.W. Boyse, Interference detection among solids and surfaces, Communications of the ACM (CACM) 22 (1) (1979) 3–9. [31] J. Canny, On detecting collision between polyhedra, in: Proceedings of ECAI, 1984, pp. 533–542. [32] E. Scho¨ mer, Interaktive montagesimulation mit kollisionserkennung. Ph.D. Thesis, Universita¨ t des Saarlandes, Saarland, Germany, 1994. [33] G.E. Gilbert, D.W. Johnson, S.S. Keerthi, A fast procedure for computing the distance between complex objects in threedimensional space, IEEE Journal of Robotics and Automation 4 (2) (1988) 193–203. [34] H. Bullinger, W. Menrad, K. Seidel, Advanced assembly and disassembly planning using virtual reality techniques, in: Proceedings volume from IFAC Workshop on intelligent assembly and disassembly, Bled, Slovenia, 1998, pp. 7–10. [35] T. Gutie´ rrez, J.I. Barbero, A. Eguidazu, Virtual assembly and disassembly simulation, in: Proceedings volume from IFAC workshop on intelligent assembly and disassembly, Bled, Slovenia, 1998, pp. 35–40. [36] H. Srinivasan, R. Figueroa, R. Gadh, Selective disassembly for virtual prototyping as applied to de-manufacturing, Journal of Robotics and Computer Integrated Manufacturing 15 (1999) 231–245.

14

J. Pomares et al. / Computers in Industry 55 (2004) 1–14

[37] G. Schmidt, A. Kron, J. Hoogen, Tele-Assembly and– Disassembly in Real and Virtual Environments, in: Proceedings volume from IFAC workshop on intelligent assembly and disassembly, Bucharest, Romania, 2003, pp. 1–12. [38] D. Noe, P. Kopacek, Synergies between information technologies and (Dis)-assembly, in: Proceedings volume from IFAC workshop on intelligent assembly and disassembly, Bucharest, Romania, 2003, pp. 27–36. [39] R. Carey, G. Bell, The annotated VRML 2.0 reference manual. Addison-Wesley, Boston, MA, 1997.

Jorge Pomares received the Computer Science Engineering degree from the University of Alicante, Spain, in 1999. He has been working as professor in the Department of Physics, Systems Engineering and Signal Theory in the University of Alicante since 2000 and teaches courses in robotics and automatic control. He is also doing his research in Automatics, Robotics and Computer Vision Group in the same department since 1999, where he has been involved in several research projects in collaboration with industry and the Spanish Government. He is currently working on his Ph.D and his main research interests are visual servoing, robotics and computer vision. Prof. Pomares is a member of the CEA-IFAC. Santiago T. Puente received the Computer Science Industrial Engineering and Ph.D degrees from University of Alicante in 1998 and 2002, respectively. Since 1999, he has been at the Alicante University, as professor in robotics and computer networks. His research interests include robotics, manufacturing automation, disassembly, and new technologies for teaching. Dr. Puente is a member of the CEA-IFAC. He has published several international papers.

Fernando Torres received the Industrial Engineering and Ph.D degrees from Polytechnic University of Madrid (UPM) in 1991 and 1995, respectively. Since 1994, he has been at the Alicante University, as professor in control, robotics and computer vision. His research interests include automatic visual inspection, robotics, manufacturing automation, visual servoing, morphological processing and new technologies for teaching. Prof. Torres is a member of the CEA-IFAC, IEEE and the Spanish Image Analysis and Pattern Recognition Society. He has published several international papers. Francisco A. Candelas was born in Alicante, Spain in 1972. He received the Computer Science Engineering degree and Ph.D from the University of Alicante (UA) in 1996 and 2001, respectively. Since 1997, he has been working as professor at UA in the Department of Physics, Systems Engineering and Signal Theory and teaches courses in process control and computer networks. From 1999 he has been working as full professor at UA. His main research interests are virtual laboratories, tele-manipulation of robots, and real-time computer vision. Prof. Candelas is also a member of the CEA-IFAC. Pablo Gil Va´zquez received the Computer Science Engineering degree from the University of Alicante in 1999. He is working as professor at the Department of Physics, Systems Engineering and Signal Theory of the University of Alicante since 2000, and teaches courses in computer networks, process control and robotics and sensorial systems. His research interests include image processing, pattern recognition, 3D-vision and virtual laboratories for education, and he is currently working on his Ph.D in computer vision and 3D vision.

Suggest Documents