Top Banner
. 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 materi- als, etc). In [1,2], some of the desired objectives in disassembling products are shown. Among such objectives, we should mention the recovery of valu- able 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 elements that an automatic disassembly system requires from the economic and industrial point of view. The need to have a preconception of the require- ments 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 disas- sembly 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 objec- tives, 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 Computers in Industry 55 (2004) 1–14 * Corresponding author. Tel.: þ34 965 90 3400x2032; fax: þ34 965 90 9750. E-mail address: [email protected] (J. Pomares). 0166-3615/$ – see front matter # 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.compind.2004.03.001
14

Virtual disassembly of products based on geometric models

Jan 16, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Virtual disassembly of products based on geometric models

.

Virtual disassembly of products based on geometric models

J. Pomares*, S.T. Puente, F. Torres, F.A. Candelas, P. GilDepartment 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 materi-

als, etc). In [1,2], some of the desired objectives in

disassembling products are shown. Among such

objectives, we should mention the recovery of valu-

able 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

elements that an automatic disassembly system

requires from the economic and industrial point of

view. The need to have a preconception of the require-

ments 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 disas-

sembly 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 objec-

tives, 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

Computers in Industry 55 (2004) 1–14

* Corresponding author. Tel.: þ34 965 90 3400x2032;

fax: þ34 965 90 9750.

E-mail address: [email protected] (J. Pomares).

0166-3615/$ – see front matter # 2004 Elsevier B.V. All rights reserved.

doi:10.1016/j.compind.2004.03.001

Page 2: Virtual disassembly of products based on geometric models

reflects both, the different components that can be

detached and the possible links for joining the differ-

ent 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 disassem-

bly’, in which we can remove each one of the com-

ponents 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 rota-

tional movement for removing a component, consid-

ering 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 model-

ling of assemblies, which later on allows us to deter-

mine 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 genera-

tion 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 dis-

assembly of PCs is becoming more and more impor-

tant [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. Never-

theless, 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 phy-

sical entities, which form a product: hard drive,

power supply, CD-ROM, etc.

� Fasteners: All the elements with physically inde-

pendent entities, which link two or more compo-

nents: screws, cables, etc.

� Initial assembly: The original setup of all the com-

ponents, 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

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

Page 3: Virtual disassembly of products based on geometric models

during the disassembly, it is necessary to have an

assembly model that allows an optimal storage of

the information needed for its disassembly. Futher-

more, 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 evalua-

tion of the ease with which the product is disas-

sembled.

Fig. 1 shows the relationships that exist among the

different software components involved in the pro-

posed 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 deter-

mine the movements for the removal of a compo-

nent, 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 compo-

nent. That is to say, the way in which the disas-

sembly 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 deter-

mine 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 dis-

cussed.

The components of the product are modelled as a

polyhedron. However, in a product, it is possible to

Fig. 1. Disassembly system.

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

Page 4: Virtual disassembly of products based on geometric models

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 disas-

sembly, 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 com-

ponent.

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 posi-

tion 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 com-

ponents, are stored. Other information such as the

surfaces that allow the manipulation of the object, as

well as attributes of reachability that provide infor-

mation to the manipulator, is also stored. The non-

geometric 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 addi-

tional information about the assembly, such as its

CAD model, which allows the generation of disas-

sembly paths. This representation is based on a graph

of contacts which will be described in the following

section.

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

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

Page 5: Virtual disassembly of products based on geometric models

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 refer-

ences to methods of representing this information by

a graph. Among them Gottipolu and Ghosh [15],

Laperriere 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 repre-

sentation 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 relation-

ships 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 mod-

ified 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 object-

oriented 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 indi-

cated.

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

O1

P12 P13 P14 P15 P16 P17P11

O2

P22

P23

P24

P25

P21

...

O3

P33

P34

P35

P36

P32

P31

...

O2

O1

O3

C1

C2

C3

C4

C5

C5

C3

C4

C1

C2

Assembly P26

Fig. 3. Graph of contacts.

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

Page 6: Virtual disassembly of products based on geometric models

contacts is used. In the following phase, the disas-

sembly path of a component is calculated. Some

authors, such as Mascle et al. [18], Laperriere 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 com-

ponent 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 exam-

ple for determining the SDR for the component O1

from the product of Fig. 3.

Different strategies for obtaining the removal direc-

tions use Gaussian sphere-based methods, and exten-

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 deter-

mining 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 consid-

eration 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

Gaussian sphere Contact C1

Contact C2 Contact C3 Contact C4 Contact C5

SDR

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.

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

Page 7: Virtual disassembly of products based on geometric models

discrete global representation is often used to deter-

mine 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 representa-

tion, such as a graph, from which the removal direc-

tion 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 compo-

nents 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 disas-

sembly process that is presented in this paper. While

local approaches study the possible motion of a com-

ponent 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 con-

cepts, 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 obsta-

cle. The ‘discrete world’ is implemented as a tri-

dimensional array, so that each value of the array has

the occupation information of a global cartesian coor-

dinate (or set of coordinates) of the work space. There-

fore, 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 com-

ponent that is being removed (similar to an ultrasonic

ring in robotics). This set of rays form a sphere around

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 infor-

mation 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’ corre-

sponding 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 coordi-

nates with respect to the geometric centre of the

component to be removed. Thus, local spherical coor-

dinates (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 colli-

sion, 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

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

Page 8: Virtual disassembly of products based on geometric models

repulsion and attraction forces. In [29], similar stra-

tegies 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 propor-

tional 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 direc-

tion of the component. In Eq. (1) ‘hist(j, y)’ repre-

sents 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.

f ðj; yÞ ¼fxðj; yÞfyðj; yÞfzðj; yÞ

264

375 ¼

X8p=pðr;j;yÞ6¼0

histðj; yÞr

�x

y

z

264

375

(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

of components that require more than one translation

(n-disassemblable). In order to determine these move-

ments, 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.

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

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

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

Page 9: Virtual disassembly of products based on geometric models

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 object-

oriented model to be updated (location, geometric

centre, etc.). It also causes the updating of the

graph of contacts.

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 addi-

tional techniques for the control of the trajectory. These

techniques consist of guaranteeing smooth and non-

repetitive 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 polyhe-

dral 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

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 program-

ming. 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:

Surface whose equation is Pu

Surface whose equation is Pv

Screw to be disassembled. O.

Obstacle

DR

(a) (b) (c) (d) (e) (f)

Collisionpoint

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

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

Page 10: Virtual disassembly of products based on geometric models

Solve the linear programming problem of minimiz-

ing 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. 9. (a) PC for the disassembly; (b) contact elements (screws) for hard drives and CD-ROM; (c) removal of a screw.

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.

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

Page 11: Virtual disassembly of products based on geometric models

� 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 max-

imum 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

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 dis-

tance 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.

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

Page 12: Virtual disassembly of products based on geometric models

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 charac-

teristics 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 pro-

posed converts the CAD description of the product to a

VRML (virtual reality modelling language) descrip-

tion 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 simu-

lation 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 compo-

nent. We have decided on an object-oriented repre-

sentation 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, Interna-

tional Journal of Production Research 41 (16) (2003) 3721–

3759.

[2] A. Gungor, S.M. Gupta, Disassembly sequence plan genera-

tion using branch-and-bound algorithm, International Journal

of Production Research 39 (3) (2001) 481–509.

[3] G. Eckrth, T. Bonker, 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.

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

Page 13: Virtual disassembly of products based on geometric models

[4] M.A. Garcıa, A. Larre, B. Lopez, A. Oller, Reducing the

complexity of geometric selective disassembly, in: Proceed-

ing 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 ap-

proach, 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: Proceed-

ings 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. Laperriere, 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 Interna-

tional 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.

[20] T.C. Woo, Visibility maps and spherical algorithms, Compu-

ter-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 Ro-

botics 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-Perez, 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. Schomer, Interaktive montagesimulation mit kollisionser-

kennung. Ph.D. Thesis, Universitat 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 three-

dimensional 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. Gutierrez, 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.

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

Page 14: Virtual disassembly of products based on geometric models

[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 technol-

ogies and (Dis)-assembly, in: Proceedings volume from IFAC

workshop on intelligent assembly and disassembly, Buchar-

est, 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 Engi-

neering and Signal Theory in the Uni-

versity of Alicante since 2000 and

teaches courses in robotics and auto-

matic 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 Com-

puter Science Industrial Engineering and

Ph.D degrees from University of Ali-

cante in 1998 and 2002, respectively.

Since 1999, he has been at the Alicante

University, as professor in robotics and

computer networks. His research inter-

ests include robotics, manufacturing

automation, disassembly, and new tech-

nologies for teaching. Dr. Puente is a

member of the CEA-IFAC. He has pub-

lished several international papers.

Fernando Torres received the Industrial

Engineering and Ph.D degrees from Poly-

technic University of Madrid (UPM) in

1991 and 1995, respectively. Since 1994,

he has been at the Alicante University, as

professor in control, robotics and compu-

ter vision. His research interests include

automatic visual inspection, robotics,

manufacturing automation, visual servo-

ing, 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 Engi-

neering and Signal Theory and teaches

courses in process control and computer

networks. From 1999 he has been work-

ing 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 Vazquez received the Com-

puter 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 Ali-

cante since 2000, and teaches courses in

computer networks, process control and

robotics and sensorial systems. His

research interests include image proces-

sing, pattern recognition, 3D-vision and

virtual laboratories for education, and he is currently working on his

Ph.D in computer vision and 3D vision.

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