ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMB ...
14th World Congress ofIFAC
Copyright © 1999 IF AC 14th Triennial World Congress, Beijing, P.R. China
A-Ia-03-4
ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMBLY CELL
Samo Zorc, Tomaz Perme and Dragica Noe Laboratory for Handling, Assembly and Pneumatics, Faculty of Mechanical Engineering, University of Ljubljana, Askerceva 6, SI-lOOO Ljubljana, Slovenia, e-mail: samo.zorcltomaz.permeldragica.noe@}jS.uni-lj.si
Abstract: This paper describes an integrated planning system that endeavours to support all development phases of a product assembly from design to robotic programming. It consists of several modules: a design module responsible for product specifications, a heuristic assembly sequence planner, a task planner and an assembly cell control module. At this stage only the first two modules have been implemented. The first module is used to design the product and extract the required information in the form of an assembly model understood by the planner. The second is used to automatically derive the optimal assembly sequence from the assembly model, which is then used to program the assembly cell. Copyright © 1999 IFAC. Keywords: artificial intelligence, efficient algorithms, heuristics, intelligent knowledgebased manufacturing systems, optimisation, assembly, computer-aided design, CAD/CAM.
1. INTRODUCTION Intensifying competItIOn in manufacturing has redoubled pressure to cut costs, to improve product quality, and to minimise the time from concept to production. To achieve these goals, various approaches and methodologies have been researched to optimise the processes of product life-cycles. Computer Aided Assembly Planning System is a computer system which supports an assembly planning process (Figure I). Its goal is to integrate all the phases of assembly, such as product design, assembly sequence planning, assembly task planning, and assembly cell programming, into one consistent system. Some of the main issues that must be addressed are the representation of the assembly, the representation of the assembly operation and the assembly sequence, the definition of the search algorithm, and the complexity of the planning process.
Several authors have presented different solutions to the above specific problems, but until now no integration has been successfully implemented. The main relevant ideas for solving specific problems are covered in Homem de Mello and Lee (1991) and Delchambre (1992). Design
Ass(.!mb~ y
Feasibility Optimization
Standardized description of assembly
se:quem;e
planning
operation
SpHce
Time
Layout planning
Standardized d09gcripticn .of component
-<.
FlexilJ.ility
Ass.emblv simutDtio"n
Robot programll"tg
Fig. 1. Assembly planning process.
85
Copyright 1999 IF AC
ISBN: 008 0432484
ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMB ...
14th World Congress ofIFAC
Table 1. Classification of subgroups in the group of displacements (Thomas and Torras, 1988). Dimension d.o.f.
Notation Tv ~ Hu,p
2
3
4
Tp Cu T Gp So Yv,p Xv
Constraints trans(x,O,O) Twix('I') trans(x,O,O) Twix(px) trans(O,y,z) trans(x,O,o) Twix{'I') trans(x,y,z) trans(O,y,z) Twix(\]f) Twix(cp) Twiz(cjl) Twix(\]f) trans(x,y,z) Twix(px) trans(x,y,z) Twix(\]f)
The paper presents the results of the implementation of two modules: the design module and RAP, the Heuristic Assembly Planner. It briefly describes their main characteristics and shows the results of searching for the optimal assembly sequence of the test assembly. At the end we discuss planned work for the future.
Lower pair Prismatic Revolution Screw Cylindrical Plane Spherical
of a group of all displacements represented by D = trans(v) * Rot(u, ~), where trans(v) is translation along the vector v E R3 and Rot(u, ~) E SO(3) rotation around vector u with the angle ~ (Table I). Other relationships can be derived from the basic one by the use of intersection and composition.
2. PRODUCT DESIGN The goal of the design process is to specify all the infonnation needed for the assembly planning process. In general, this infonnation has to include the description of basic parts (shape, dimensions, etc,) and their geometrical and topological relationships.
('.J
We defmed the exact assembly model capable of storing all needed information, and illustrated the implementation of the design module capable of producing it.
p1
Fig. 2, Defmition of relationships between parts. f;j location of feature relative to the local coordinate frame, R j - spatial relationships between parts.
2.1 Assembly representation model
To correctly specifY the necessary assembly move in addition to the type of spatial relationship, the domain of the variables must also be defmed. Figure 2 shows that variable "x" in the relationship R21 = Cu has to be greater or equal than 0 (x = 0), if the relationship is to present a feasible assembly move (part pI cannot be assembled from below).
Assembly (product) representation is input into assembly planning, so it has to provide all the information required by the planning process, Different representations based on a GOC, or Graph Of Connections, have been proposed (Homem de Mello and Sanderson, 1991; Henrioud and Bourjault, 1991; Lee, 1991, Shpitalni at al., 1989) where, In general, nodes of a graph represent parts or subassemblies and connections represent contacts,
The assembly is described by a graph (Figure 2), where nodes are bodies (parts) and directed arcs are relationships between them. There are two types of relationships, The first is the relationship between parts which constrains the local movement of a given part - that is, the relationship defmed between parts in contact (or contact relationships). The second relationship is the one between parts which constrains the global movement of a given part - that is, relationships defined between parts which are not in contact (virtual relationships). Each part can be related to more than one other part, and two parts can
The representation used in our planner is also based on a GOC, with additional infonnation about the geometry of assembling. This information is presented in the form of spatial relationships between features of different parts (Figure 2). A spatial relationship is mathematically defmed using the group theory (Thomas and Torras, 1988). Each basic spatial relationship constitutes a subgroup
86
Copyright 1999 IF AC
ISBN: 008 0432484
ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMB ...
14th World Congress ofIFAC
, n'
~., ,~~,"f)4 .
~
p7
V,J
pc>
X
Fig. 3. Input window for spatial relations. have more than one relationship. By the use of intersection and composition of spatial relationships, it is possible to derive only one relationship of a given part to the remainder of the parts. This relationship represents the move necessary for assembling this part to the others. When such a derived relationship exists, the assembly of the part is geometrically feasible; otherwise, it is not.
Spatial Relationship Defmition Module (SRDM) SR to HAP translation module (SR2HAP) HAP execution module Result module (RM) The Spatial Relationship Defmition Module is a program helping the user to defme spatial relationships between features of given basic parts. The user defmes the local co-ordinate frame CLeF) of each basic part and identifies all features relevant for its assembly. Following this, all spatial relationships are entered interactively (Figure 3) by selecting the proper spatial relationship, its direction and the domain ofthe relationship'S variables.
2.2 Implementation
For design of assembly parts the AutoCAD system is implemented, which supports 3D modelling and representation of parts. For representation of the assembly structure, information about the geometrical relationship between parts is needed, which is very difficult to obtain automatically from the 3D assembly model. The solution was to add spatial relationships (SR) interactively between parts in the 3D model. A special program module was therefore developed which allows the user to defme spatial relationships between parts according to defmed rules.
The SR to RAP translation module is used to generate the dermed assembly representation (graph of spatial relationships), which is used in the next step (assembly sequence planning) by the HAP planner. The HAP execution module executes the HAP planner and calculates its result. The result module obtains the optimal assembly sequence and presents the graphic assembly simulation.
The program was developed for the AutoCAD system and consists of:
87
Copyright 1999 IF AC
ISBN: 008 0432484
ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMB ...
3. HAP - HEURlSTIC ASSEMBLY PLANNER The HAP planner (Zorc, 1997; Zorc, et aI., 1998) automatically f"mds the optimal assembly sequence from the product description. It uses an AND/OR graph (Figure 4) representation of the space of all possible assembly sequences, which is searched using an AO* based heuristic algorithm. The AND/OR graph consists of interconnected "OR" and "AND" nodes. "OR" nodes represent assemblies, sub assemblies or parts. "AND" nodes represent the assembly operation. In the current implementation the assembly operation is defined as putting subassemblies together; it is represented by a list of subassemblies which have to be assembled in the given step. If needed, the representation can hold more specific information when the assembly operation is defined more precisely.
14th World Congress ofIFAC
the generation of all possible (feasible) sequences and the search for the best one. Both steps are executed in parallel in the well-known form (Bratko, 1990) where the algorithm starts with the main assembly ([I, 2, 3,4,5,6] in Figure 4) and generates all possible decompositions of that node (OR node) using feasibility criteria. Those decompositions (AND nodes) are then evaluated using optimisation criteria, and the search continues with the expansion of the best one. It stops when all basic parts have been reached. Alternatives are evaluated using the price of the part of the alternative already expanded, and the heuristic estimate of the part of the alternative not yet expanded. The price is the sum of the costs of the assembly operations (represented by the AND node) perfonned on each step in the process of expanding an alternative. The heuristic estimate is the minimum price that must be paid for the unexpanded part of the alternative (defined in the OR node that represents the subassembly). There are two types of criteria used in the HAP. Feasibility criteria are used in the generation phase to defme the feasible decompositions of the given assembly. At this point, HAP uses geometrical feasibility and stability. Optimisation criteria are used to evaluate the feasible sequences and to find the optimal sequence. At this point RAP uses the parallelism.
4. IMPLEMENTATION AND TESTING Fig. 4. Possible AND/OR graph for an assembly consisting of six parts.
The system is implemented on the NT Windows operating system. The design module is written in AutoLISP for AutoCAD and the HAP planner is written in PROLOG. For testing we used several artificial and industrial assemblies (Santochi and Dini, 1995). Figure 5 shows one of these. In its graphical representation (Figure 6) the spatial relationships are represented by edges (full lines for contact relationships and dotted lines for virtual relationships) and the parts are represented by nodes.
Input to the planner is the assembly model described in the previous section, and the system output is the optimal assembly sequence with a description of the assembly moves required. At this stage, the assembly sequences are evaluated with respect to geometrical feasibility, stability and parallelism, but adding of additional criteria is straightforward. To cope with the complexity of the implemented approach, we developed efficient algorithms for generating and searching the problem space. In addition, we used the idea of imposed subassemblies (Hemioud and Bourjault,1991), over which the assembly must be put together. All of these solutions were shown to be efficient for real-world assembly.
The result of the HAP planner is the optimal assembly sequence with the definition of geometrical moves (Figure 7). Moves are represented by spatial relationships in the same manner as for the specific part in the assembly representation. Figure 7 shows the resulting assembly sequences and the necessary assembly moves for the test assemblies from Figure 5. Sequences are specified by "virtual parts" except when such a part represents the basic actual assembly part. In this case as well, the basic part is specified. Each line in the listing represents a subassembly (consisting of several parts) which is
3.1 The search for the optimal assembly sequence
The search process is based on the AO* heuristic algorithm and consists of two logical steps, namely,
88
Copyright 1999 IF AC
ISBN: 008 0432484
ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMB ...
attached to other subassemblies (written in the listing with the same indentation). The frrst assembly opeTa4· -....... __
84,94
81 ..
,..
,.r-=.~-......
-(\ r~'::;'--. '~"'\, \\
\~)I ~
14th World Congress ofIFAC
added to the previous assembled parts by the cylindrical move Cu, etc. Start: tirr"e End
\12~ 3S~21r28)
: tirr...e(12,36,18,97)
num of all OR node.s : 89 r.um of expandej OR nodes:: 30 imposed subassemblies : -
5 -'.
[vI, vl0 r vII, v12 t
~.r13r'.r14/'j15,'.r16,
v17, v2, v3, v4, vS, .... 6, VI, vS, v91-NDEF-
[VI r vl0, vII, v12 r v13. vII], v15, v16, v17, v2, v3, vll, vS, "17 r v8/"..r9] -Cu[vI, vII. v12, vl3, vIS. v16, v"l"l r v2~ v3, v4~ v~, VI J v8, v9] -Hup[VI, vII, v13, v15, vIi, v2, v3, v4, vS, VI, vS, v9l -Hup-
11 '. ~' .......
[vLvll,v15,v2.v3,v4,v5,v7,v8,v91 -Hup-
".
(vl,v2,v3,v4,vS,v7,v8,v9]
-HUp-
[vI, v2, v3, v4, '15, '17, vg] -Tv[vlrv2,v3,v7,v9)
-Cu-
[vl,v2,vi,v9] -Hup[v2.vi.v9] -Cu[v7,v9} -T-
[v71_lp5) -T-
93
[v~I_{p7]
[v2]_[plO]
-T-T-
[vlJ_lpll -G-.Jcv3,_lpll: -HLP[v4,v"S]
3
-CJ.-
[v5J ~ [p3]
-Xv[v41_lp2] -xv[v8J_[p6]
7
[vll, vIS]
-Tv-
-Hup-
Iv151_[p92J -Cu-
6
rvlll_[p821 -Cu[v13,v17] -Hup-
Fig. 5. Test sample.
[v17]_[p94)
-Cu-
[v131_[p841 -CU[v12{v16]
-Hup[v16;_[p93j -CU-
[v12:_lp83] -Cu[VIO, ..,14:
[·.141
-lfllP-
:p9~]
-Cu-
[vI01_[pB:'1 -Cu-
[v6]_[p41 -CU-
Fig. 7. Optimal assembly sequence for the test assembly. The resulting sequence is fed into the Result module (on A uta CAD) , which interprets it and graphically simulates the product assembly (Figure 8).
5. CONCLUSION An assembly planning system is presented which aims to integrate design of a product, planning of the optimal assembly sequence and programming of the assembly cell. At this stage the design module and assembly planner have been developed and successfully tested on industrial assemblies. With the present system, a user is able to design any mechanical assembly product and fmd the optimal assembly sequence according to implemented criteria.
Fig. 6. Representation of test sample with the graph of spatial relationships. tion is dermed as the assembly of the rightmost parts in the listing. Parts p5 and p7 are fIrst assembled by the translational move T. Following this, part plO is added by the translational move T, part pI is added by the cylindrical move eu, and part pll by the screw move Hup. Concurrent with this, parts p3 and p2 are assembled by the translational move Tv and
In the future, we plan to use additional feasibility and selection criteria to get more realistic solutions from the HAP planner. In addition, we hope to extend the planning system to incorporate the modules for automatically programming the assembly cell, which would assemble the targeted product.
89
Copyright 1999 IF AC
ISBN: 008 0432484
ASSEMBLY PLANNING SYSTEM FOR AN INTELLIGENT ASSEMB ...
14th World Congress ofIFAC
Fig. 8. Some sequences of test sample assembly simulation. REFERENCES
Santochi M. and G. Dini (1995). Technical report: STC A Cooperative Work on aassembly-Planning Software Systems, Annals of ClRP, VoJ.4.
Bratko, I.(1990). Prolog programing for artificial intelligence (2nd edition), Addison-Wesley.
Sphitalni, M., Elber, G., Lenc (1989). Automatic Assembly of three-dimensional structures via connectivity graphs. Annals of the CIRP, Vol. 38(1),
Delchambre, A. (1992). Computer-aided Assembly Planning, Chapman and Hall, London.
25-28.
Henrioud, J.M. and A. Bourjault (1991). LEGA : a computer-aided generator of assembly plans. In: Computer-Aided Mechanical Assembly Planning (Homem de Mello L.S., Lee S. (Ed»), Kluwer Academic Publishers.
Thomas, F. and C. Torras (1988). A Group Theoretic Approach to the Computation of Symbolic Part Relations, IEEE Journal of Robotics and Automation, Vol. 4, No. 6, 622--634.
Homem de Mello, L.S. and S. Lee (Ed)(1991). Computer-Aided Mechanical Assembly Planning.
Zorc, S. (1997). Computer Aided Assembly Sequence Planning, Master thesis (in Slovenian), Faculty of Computer and Information Science, University of Ljubljana, Ljubljana.
Homem de Me110, L.S. and A.C. Sanderson (1991). A basic algorithm for generation of mechanical assembly sequences. In: Computer-Aided Mechanical Assembly Planning (Homem de Mello L.S., Lee S. (Ed)), Kluwer Academic Publishers.
Zorc, S., D.Noe and 1. Kononenko (1998). Efficient Derivation of the Optimal Assembly Sequence from Product Description, Cybernetics and Systems, Vol. 29, No. 2.
Lee, S. (1991). Backward assembly planning with DFA analysis. In: Computer-Aided Mechanical assembly Planning (Homem de Mello L.S.,Lee S. (Ed»), Kluwer Academic Publishers.
90
Copyright 1999 IF AC
ISBN: 008 0432484