Evaluation method of assembly sequences

Information

  • Patent Grant
  • 5523960
  • Patent Number
    5,523,960
  • Date Filed
    Wednesday, August 10, 1994
    30 years ago
  • Date Issued
    Tuesday, June 4, 1996
    28 years ago
Abstract
An evaluation method of assembly sequences includes the steps of designing an assembly composed of a plurality of parts; preparing a component relation diagram indicating the joint relation between the plurality of parts; reducing assembly sequences containing infeasible subassemblies by computing weights of all the subassemblies in the respective processes of an AND/OR tree structure of the assembly; evaluating feasible assembly sequences obtained from the CRD by the evaluation functionE(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is the sum of the weights of all subassemblies for the assembly sequence q, J(q) is number of joining direction changes for the assembly sequence q, T(q) is the number of tool changes for the assembly sequence q; and performing assembly in the assembly sequences depending on the evaluation result.
Description

BACKGROUND OF THE INVENTION
The present invention relates to an evaluation method of assembly sequences, and more particularly, to an evaluation method of assembly sequences by which an assembly process is reduced to the utmost in order to be performed efficiently.
The assembly process is a production process generally performed in the latter stages of production. Also, unlike other production processes which have been highly automated, the assembly process still requires many manual operations which cannot be easily automated. Accordingly, much research into the generation, evaluation and selection of assembly sequences aiming to facilitate the assembly process is being conducted worldwide, in order to reduce manpower costs.
This research, however, has been limited to two major fields. These are (1) a technology with regard to a generation method of assembly sequences for obtaining feasible assembly sequences, by taking the geometrical properties of the respective components to be assembled and systematically generating therefrom all possible assembly sequences; and (2) a technology with regard to an evaluation method for determining the efficiency of the ultimately obtainable assembly process during the product design stage, so that a design can be changed prior to reaching the production stage.
Therefore, since the above-described conventional technologies do not take into consideration the assembly process design itself, it is impossible to determine the most efficient assembly sequence at the time of designing a product.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide an evaluation method of assembly sequences which evaluates and selects the most efficient assembly sequence in the process planning step, for manufacturing a product after the product design is completed.
To accomplish the above object, the evaluation method of assembly sequences according to the present invention comprises the steps of: designing an assembly product composed of a plurality of parts; preparing a component relation diagram (CRD) indicating the joint relation between the plurality of parts; reducing assembly sequences containing infeasible subassemblies by computing weights of all the subassemblies in the respective processes of an AND/OR tree structure of the assembly; evaluating feasible assembly sequences obtained from the CRD by the evaluation function
E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is the sum of the weights of all subassemblies for the assembly sequence q, J(q) is a number of joining direction changes for the assembly sequence q, T(q) is the number of tool changes for the assembly sequence q; and performing assembly in the assembly sequences depending on the evaluation result.





BRIEF DESCRIPTION OF THE DRAWINGS
The above objects and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:
FIG. 1 is a flowchart showing the evaluation method of assembly sequences according to the present invention;
FIG. 2 is a flowchart showing the generation process of component structure in a component relation diagram (CRD);
FIG. 3 is a schematic diagram for explaining an evaluation method of assembly sequences according to the present invention;
FIG. 4 is a component relation diagram of the assembly shown in FIG. 3;
FIG. 5 is an AND/OR graph showing all possible assembly sequences of the assembly shown in FIG. 3;
FIG. 6 shows infeasible subassemblies {A,D} of the assembly shown in FIG. 3;
FIG. 7 shows infeasible subassemblies {C,D} of the assembly shown in FIG. 3;
FIG. 8 is an AND/OR graph showing only the feasible assembly sequences of the assembly shown in FIG. 5;
FIG. 9 is an assembled product accomplished according to the present invention;
FIG. 10 is a structural diagram showing the assembly relation of the assembly of FIG. 9; and
FIG. 11 shows the best assembly sequence of the assembly structure shown in FIG. 10.





DETAILED DESCRIPTION OF THE INVENTION
In FIG. 1, the evaluation method of assembly sequences includes the steps of designing an assembly product (step 100), expressing assembly relation of the parts composing the assembly product in data which is identifiable by a computer (step 200), selecting only efficiently valuable assembly sequences among numerous possible assembly sequences (step 300), and evaluating the respective assembly sequences objectively and efficiently (step 400).
Step 200 consists of the steps of setting parameters indicating an assembly relation between the respective parts (step 210) and preparing CRD indicating an assembly relation between the respective parts (step 220). Step 300 consists of the steps of generating all possible assembly sequences (step 310), finding efficient assembly sequences and reducing sequences (step 320) and determining efficient assembly sequences (step 330). Step 400 consists of the steps of computing an evaluation function (step 410), selecting assembly sequences (step 420) and performing assembly depending on the selected assembly sequences (step 430).
In this manner, the most efficient assembly sequence is finally selected.
Now, the evaluation criteria of assembly sequences will be explained.
Criterion 1
Equipment constraint (measured by weight): It is determined whether or not the current assembly equipment (e.g., a robot) is capable of handling the respective subassemblies/parts, and excludes from the alternatives the assembly sequences containing subassemblies which cannot be handled.
Criterion 2
Ease of part handling (measured by weight): The heavier a part is, the more difficult it is to handle. Since heavier and lighter subassemblies may be generated depending on the respective assembly sequences, the assembly sequences should be evaluated accordingly.
Criterion 3
Ease of part joining (measured by the number of joining direction changes): The number of joining direction changes is proportionate to the amount of user intervention and the number of fixture changes. Thus, it is preferable to select the assembly sequences having few joining direction changes.
Criterion 4
Tool changes (measured by the number of tool changes): Fewer tool changes saves set-up time and the amount of user intervention.
Next, the development of a data structure for expressing the assembly relation between parts will be described.
In order to evaluate the respective assembly sequences, there is a prerequisite need of a data structure the assembly state of the respective parts of which is identifiable by a computer. For this purpose, a component relation diagram (CRD) is developed.
The most current evaluation system requires too much user intervention. This is because the system requires information about all subassemblies and corresponding assembly operations. Since the maximum number of possible subassemblies in a product composed of n components is ##EQU1## it increases exponentially with the increase in the number of components. Thus, the amount of information about subassemblies also increases exponentially with the number of components. In addition, the number of assembly operations is greater than that of subassemblies because multiple assembly tasks usually correspond to one subassembly. The CRD requires only the information about parts and minimal user intervention.
FIG. 2 is a flowchart for explaining the generation method of a CRD. Here, initialization is performed whereby S becomes the set of all components in an assembly and G is set to .phi. (step 1000). A component s is arbitrarily chosen from the set S (step 1100). An edge is made with respect to the chosen component s and all components in G (step 1200). New values of S and G are obtained in accordance with S.rarw.S-s and G.rarw.G.orgate.s (step 1300). Steps 1100 through 1300 are repeated until S equals .phi. (step 1400).
The component relation diagram G=(N, E, NA, EA) consists of a set of nodes N, a set of edges E, a set of node attributes NA, and a set of edge atrributes EA. Each node in a CRD corresponds to a component of an assembly, and each edge corresponds to the joining relation between two components. If there is no joining operation requirement between two components, no edge exists between them. Each edge is either directed or undirected. The starting node associated with a directed edge indicates a base component to the terminal node. Each node attribute corresponds to a property of a component and each edge attribute corresponds to the information about the joining relation between two components.
FIG. 3 shows an imaginary assembly for explaining a CRD according to the present invention, showing an assembly consisting of nodes A, B, C and D. FIG. 4 is a CRD indicating edge attributes, node attributes, nodes and joining directions for the assembly shown in FIG. 3. In FIG. 4, A, B, C and D are nodes, 10, 20, 30 and 40 are node attributes, 1, 2, 3 and 4 are edge attributes, and x- and y- are joining directions, respectively.
Now, the following Tables 1 and 2 illustrate the assembly shown in FIG. 3 which is expressed as a CRD data structure, with Table 1 showing node attributes and Table 2 showing edge attributes.
TABLE 1______________________________________ part baseedge i j part______________________________________1 A B B2 B C B3 C D C4 A D A or D______________________________________
TABLE 2______________________________________ part weight______________________________________ A 10 B 20 C 30 D 40______________________________________
In a method of constructing feasible assembly sequences, all possible assembly sequences of an imaginary assembly composed of N parts increases enormously with the increase in the number of parts. Therefore, all possible assembly sequences performed by joining all parts and subassemblies should be generated, which is possible by using data provided by various existing systems. The invention will be described by using the data structure of an AND/OR graph disclosed in a paper by L. S. Homem de Mello (see IEEE Transactions on Robotics and Automation, Vol.7, No.5, October 1991). The AND/OR graph contains information on all assembly sequences and the contents of the data structure thereof have all assembly sequences. In all imaginary assembly sequences, a best assembly sequence for all assembly sequences can be selected by passing through an evaluating step directly without passing through a reduction step to be described later.
However, in the case of an assembly having numerous parts, if infeasible assemblies are also evaluated, too many assembly sequences should be evaluated, thereby lowering the evaluation efficiency. Therefore, according to the present invention, in order to secure an efficient evaluation, there is provided a reducing step for evaluating only the feasible assembly sequences by deleting the imaginary assembly sequences containing the infeasible cases due to factors such as an equipment constraint, in the step prior to evaluating the efficiency of imaginary assembly process. To accomplish the reduction step, in the present invention, only the practically feasible assembly sequences are evaluated in the following evaluation step, by deleting the infeasible assembly sequences which are logically impossible to obtain due to the equipment constraint among all assembly sequences expressed in the AND/OR graph. Thus, the assembly sequences become simplified, as compared with the conventional one.
The process of finding feasible assembly sequences will now be described.
There are numerous assembly sequences for any given assembly. Theoretically, the number of assembly sequences increases depending on the increase in the number of parts and this increase is enormous. However, among the vast number of assembly sequences, only those practically feasible need be considered. Thus, a reduced number of sequences can be obtained by deleting the logically infeasible assembly sequences from among all the sequences, using a reduction procedure. The reduction procedure consists of the following steps:
Step 1. Using the weight information of the CRD, the weight of each subassembly in an AND/OR tree is computed.
Step 2. If a subassembly has a weight greater than the upper limit of the weight which can be handled by the current equipment, it is determined to be a subassembly which is infeasible for handling.
Step 3. All assembly sequences containing infeasible subassemblies are deleted.
FIG. 5 is a chart for showing all imaginary assembly sequences expressed in an AND/OR tree data structure of the assembly shown in FIG. 3, while FIG. 8 shows only the feasible assembly sequences and excludes infeasible subassemblies {A,D} and {C,D} as shown in FIGS. 6 and 7.
Next, the steps of setting and computing an evaluation function for each assembly sequence will be described.
The evaluation values of the respective possible assembly sequences obtained in the above step are obtained from the CRD values by the following evaluation function:
E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q)) (1)
where q is an assembly sequence; f is a scale function; W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, satisfying W.sub.h +W.sub.j +W.sub.t =1 and assuming that Wh, Wj, Wt are each greater than zero; and H, J and T are the evaluation functions based on ease of part handling, ease of part joining, and tool changes criteria, respectively, such that H(q) is the sum of the weights of all subassemblies in the assembly sequence q, J(q) is the number of joining direction changes, and T(q) is the number of tool changes.
That is to say, assuming the value of E to be defined as 0.ltoreq.E.ltoreq.100, the scale function is expressed as ##EQU2## for X.sub.min .ltoreq.X.ltoreq.X.sub.max.
Hereinbelow, the computing procedure of H(q), J(q) and T(q) will be described.
First, the procedure for computing H(q) is as follows:
Step 1. Using the weight information of the CRD, the weight of each subassembly in an AND/OR tree is computed.
Step 2. For all assembly sequences q, H(q) is computed as follows: ##EQU3## where A.sub.q is a set of subassemblies in the assembly sequence q, and W.sub.s is the weight of a subassembly s.
For the evaluation based on the ease of part joining, the assembly sequence which requires fewer joining direction changes is preferred because it avoids extra manipulation to reorient the workpiece, simplifies the fixture, and requires less operational dexterity. Thus, the criterion is to minimize the number of joining direction changes and the number of reorientations.
The evaluation function J(q) is the number of joining direction changes that occur during the execution of an assembly sequence q. (Here, as many assemblies need multiple joining directions, e.g., various diagonal directions, let us consider six joining directions.)
The procedure for computing J(q) is as follows:
Step 1. For an assembly sequence q, consider a subassembly s in q. Suppose the subassembly s consists of two subassemblies s.sub.1 and s.sub.2. Let Cs, Cs1 and Cs2 be the set of components in the subassemblies s, s.sub.1 and s.sub.2, respectively. Then, using the CRD, we construct the set of joining directions Ds as follows: ##EQU4## where Es is the set of edges connected between Cs1 and Cs2 in a CRD, and JA.sub.i is the joining attribute on edge i in a CRD.
Step 2. Then, J(q) is computed as follows: ##EQU5## wherein, if s is a leaf subassembly, X.sub.s =0, and if s is not a leaf subassembly, then X.sub.s =n.sub.s -1 for D.sub.s .andgate.D.sub.P(s) .noteq..phi. and X.sub.s =n.sub.s for D.sub.s .andgate.D.sub.P(s) =.phi., and where n.sub.s is the number of different directions in D.sub.s, P(s) is a set of direct predecessors of subassembly s, X.sub.s is an indicator variable representing the changes of joining directions for subassembly s, and A.sub.q is a set of subassemblies in q.
For the evaluation based on the tool changes, the assembly sequence which requires the least number of tool changes is preferred because it reduces the set-up time for tool change and avoids extra operations to change the tools. Thus, the criterion is to minimize the number of tool changes.
The evaluation function T(q) is the number of tool changes that occur during the execution of an assembly sequences q. The procedure for computing T(q) is as follows:
Step 1. For an assembly sequence q, consider a subassembly s in q. Suppose the subassembly s consists of two subassemblies s.sub.1 and s.sub.2. Let C.sub.s, C.sub.s1 and C.sub.s2 be the set of components in the subassemblies s, s.sub.1 and s.sub.2, respectively. Then, using the CRD, we construct T.sub.s, the set of tools for subassembly s, as follows: ##EQU6## where E.sub.s is the set of edges connected between C.sub.s1 and C.sub.s2 in a CRD, and TA.sub.i is the tool attribute on edge i in a CRD.
Step 2. T(q) is computed as follows: ##EQU7## wherein, if s is a leaf subassembly, Y.sub.s =0, and if s is not a leaf subassembly, Y.sub.s =n(T.sub.s -T.sub.P(s)), and where P(s) is a set of direct predecessors of subassembly s, Y.sub.s is an indicator variable representing the changes of tools for subassembly s, n(T.sub.s -T.sub.P(s)) is the number of elements in the set T.sub.s -T.sub.P(s), and A.sub.q is a set of subassemblies in q.
Lastly, the procedure for constructing the most efficient assembly sequence will now be described.
The evaluation values for the respective feasible assembly sequences, which are obtained in the above steps, are compared, and the most efficient value is selected by the following computing procedure: first, for the respective assembly sequences, the evaluation function value E is computed; second, an assembly sequence q* having the largest evaluation function value is selected; that is to say, the value of q* satisfying E(q*).gtoreq.E(q) for all assembly sequences q.
FIG. 9 is an assembled product (a switch) accomplished according to the present invention;
FIG. 10 shows the configuration of the switch for explaining the evaluation method of the assembly sequences according to the present invention.
The following Table 3 indicates edge attributes in the CRD wherein T1, T2 and T3 are each tools for assembly. Table 4 indicates node attributes in the CRD.
TABLE 3______________________________________component pairs base joiningedge i j component direction tools______________________________________1 1 2 1 z+2 1 3 3 z-3 1 4 1 x-4 1 5 1 x+5 1 6 1 x+6 1 7 1 x+7 1 12 1 z- T18 1 13 1 z- T19 1 14 1 x- T110 1 15 1 x+ T111 2 4 0 x+ T212 2 5 0 x+ T213 2 6 0 x+ T214 2 7 0 X+ T215 4 8 4 x+ T316 5 9 5 x- T317 6 10 6 x- T318 7 11 7 x- T3______________________________________
TABLE 4______________________________________component (or node) name weight (in grams)______________________________________1 upper case 61.72 button-set 18.03 lower case 50.54, 5, 6, 7 connector 3.58, 9, 10, 11 nut 0.712, 13, 14, 15 screw 0.5______________________________________
TABLE 5______________________________________sequence ranknumber H J T R1 R2 R3 R4______________________________________ 45 1378.1 7 4 (9) (52) 3 4 46 1369.7 7 5 (16) (27) 4 (56) 53 1328.1 7 4 1 (12) 1 1 54 1319.7 7 5 2 3 2 (49)113 1328.1 10 4 (7) (23) (67) 2115 1316.9 8 5 3 1 (6) (50)117 1314.1 8 6 (14) 4 (12) (121)175 1316.9 8 5 3 1 (7) (51)180 1314.1 8 6 (15) 4 (13) (122)______________________________________
TABLE 6______________________________________sequencenumber sequences______________________________________ 45 ((((((((((((((1,4)5)6)7)8)9)10)11)2)13)3)12)14)15) 46 ((((((((((((((1,4)8)5)6)7)9)10)11)2)13)3)12)14)15) 53 ((((((((((((((1,4)5)6)7)8)9)10)11)2)12)13)3)14)15) 54 ((((((((((((((1,4)8)5)6)7)9)10)11)2)12)13)3)14)15)114 ((((((((((((((1,5)4)6)7)9)8)10)11)2)12)13)3)14)15)115 ((((((((((((((1,5)4)9)8)6)7)10)11)2)12)13)3)14)15)117 ((((((((((((((1,5)9)4)8)6)7)10)11)2)12)13)3)14)15)175 ((((((((((((((1,6)5)10)9)4)7)8)11)2)12)13)3)14)15)180 ((((((((((((((1,6)5)10)9)4)8)7)11)2)12)13)3)14)15)______________________________________
In the above Table 5, H is the total sum of weights of subassemblies with a range [1311.3, 1419.7], J is the total number of joining direction changes with a range [7, 14], T is the total number of tool changes with a range [4, 7], R1 is a rank at weighting factor for (1/3, 1/3, 1/3), R2 is a rank at weighting factor for (0.8, 0.1, 0.1), R3 is a rank at weighting factor for (0.1, 0.8, 0.1), R4 is a rank at weighting factor for (0.1, 0.1, 0.8), and () is the lower rank than the fourth at each weighting factor.
The above Table 5 indicates the selected assembly sequences for a switch. That is to say, 180 feasible assembly sequences are generated for a switch composed of fifteen components. The evaluation is performed by the evaluation function as expressed in equation (1) above, the thirty upper assembly sequences are selected. Table 10 indicates the thirty selected assembly sequences for the case where Wh, Wj and Wt are (1/3, 1/3, 1/3), respectively. Among them, the values H, J and T and ranks of the selected assembly sequences are as indicated in Table 5. Table 6 indicates the assembly sequences of the selected sequence numbers.
TABLE 7______________________________________1. 53 ((((((((((((((1,4)5)6)7)8)9)10)11)2)12)13)3)14)15)2. 54 ((((((((((((((1,4)8)5)6)7)9)10)11)2)12)13)3)14)15)3. 115 ((((((((((((((1,5)4)9)8)6)7)10)11)2)12)13)3)14)15)4. 175 ((((((((((((((1,6)5)10)9)4)7)8)11)2)12)13)3)14)15)5. 114 ((((((((((((((1,5)4)6)7)9)8)10)11)2)12)13)3)14)15)______________________________________
TABLE 8______________________________________ sequencerank number E H J T______________________________________1 53 91.7 1328.1 7 42 54 83.8 1319.7 7 53 115 80.1 1316.9 8 54 175 80.1 1316.9 8 55 114 79.2 1319.7 8 5______________________________________
Table 7 indicates the five best assembly sequences for a switch in the case where W.sub.h, W.sub.j and W.sub.t are (1/3, 1/3, 1/3), respectively.
Table 8 indicates the evaluation result in the case where W.sub.h, W.sub.j and W.sub.t are (1/3, 1/3, 1/3), respectively. Here, the values of H, J and T are the same as those of H, J and T shown in Table 5, respectively, and E is the evaluation score of assembly sequences with a range [17.6, 91.7]. From Table 8, sequence number 53 is considered the best sequence.
TABLE 9______________________________________sequencenumber sequence______________________________________1 ((((((((((((((1,4)8)5)6)7)9)10)11)2)3)14)15)13)12)2 ((((((((((((((1,4)5)8)9)6)7)10)11)2)3)14)15)13)12)3 ((((((((((((((1,4)5)6)8)9)10)7)11)2)3)14)15)13)12)4 ((((((((((((((1,4)8)5)9)6)7)10)11)2)3)14)15)13)12)5 ((((((((((((((1,4)8)5)6)9)10)7)11)2)3)14)15)13)12)6 ((((((((((((((1,4)8)5)9)6)10)7)11)2)3)14)15)13)12)7 ((((((((((((((1,4)5)8)9)6)10)7)11)2)3)14)15)13)12)8 ((((((((((((((1,4)8)5)6)7)9)10)11)2)3)14)12)15)13)9 ((((((((((((((1,4)5)8)9)6)7)10)11)2)3)14)12)15)13)10 ((((((((((((((1,4)5)6)8)9)10)7)11)2)3)14)12)15)13)11 ((((((((((((((1,4)8)5)9)6)7)10)11)2)3)14)12)15)13)12 ((((((((((((((1,4)8)5)6)9)10)7)11)2)3)14)12)15)13)13 ((((((((((((((1,4)8)5)9)6)10)7)11)2)3)14)12)15)13)14 ((((((((((((((1,4)5)8)9)6)10)7)11)2)3)14)12)15)13)15 ((((((((((((((1,4)8)5)6)7)9)10)11)2)3)13)14)12)15)16 ((((((((((((((1,4)5)8)9)6)7)10)11)2)3)13)14)12)15)17 ((((((((((((((1,4)5)6)8)9)10)7)11)2)3)13)14)12)15)18 ((((((((((((((1,4)8)5)9)6)7)10)11)2)3)13)14)12)15)19 ((((((((((((((1,4)8)5)6)9)10)7)11)2)3)13)14)12)15)20 ((((((((((((((1,4)8)5)9)6)10)7)11)2)3)13)14)12)15)21 ((((((((((((((1,4)5)8)9)6)10)7)11)2)3)13)14)12)15)22 ((((((((((((((1,4)8)5)6)7)9)10)11)2)3)13)12)14)15)23 ((((((((((((((1,4)5)8)9)6)7)10)11)2)3)13)12)14)15)24 ((((((((((((((1,4)5)6)8)9)10)7)11)2)3)13)12)14)15)25 ((((((((((((((1,4)8)5)9)6)7)10)11)2)3)13)12)14)15)26 ((((((((((((((1,4)8)5)6)9)10)7)11)2)3)13)12)14)15)27 ((((((((((((((1,4)8)5)9)6)10)7)11)2)3)13)12)14)15)28 ((((((((((((((1,4)5)8)9)6)10)7)11)2)3)13)12)14INFO : Now processing account (000100): 0552402500714)12)15)30 ((((((((((((((1,4)8)5)6)7)9)10)11)2)13)3)14)12)15)31 ((((((((((((((1,4)5)8)9)6)7)10)11)2)13)3)14)12)15)32 ((((((((((((((1,4)5)6)8)9)10)7)11)2)13)3)14)12)15)33 ((((((((((((((1,4)8)5)9)6)7)10)11)2)13)3)14)12)15)34 ((((((((((((((1,4)8)5)6)9)10)7)11)2)13)3)14)12)15)35 ((((((((((((((1,4)8)5)9)6)10)7)11)2)13)3)14)12)15)36 ((((((((((((((1,4)5)8)9)6)10)7)11)2)13)3)14)12)15)37 ((((((((((((((1,4)5)6)7)8)9)10)11)2)13)3)14)15)12)38 ((((((((((((((1,4)8)5)6)7)9)10)11)2)13)3)14)15)12)39 ((((((((((((((1,4)5)8)9)6)7)10)11)2)13)3)14)15)12)40 ((((((((((((((1,4)5)6)8)9)10)7)11)2)13)3)14)15)12)41 ((((((((((((((1,4)8)5)9)6)7)10)11)2)13)3)14)15)12)42 ((((((((((((((1,4)8)5)6)9)10)7)11)2)13)3)14)15)12)43 ((((((((((((((1,4)8)5)9)6)10)7)11)2)13)3)14)15)12)44 ((((((((((((((1,4)5)8)9)6)10)7)11)2)13)3)14)15)12)45 ((((((((((((((1,4)5)6)7)8)9)10)11)2)13)3)12)14)15)46 ((((((((((((((1,4)8)5)6)7)9)10)11)2)13)3)12)14)15)47 ((((((((((((((1,4)5)8)9)6)7)10)11)2)13)3)12)14)15)48 ((((((((((((((1,4)5)6)8)9)10)7)11)2)13)3)12)14)15)49 ((((((((((((((1,4)8)5)9)6)7)10)11)2)13)3)12)14)15)50 ((((((((((((((1,4)8)5)6)9)10)7)11)2)13)3)12)14)15)51 ((((((((((((((1,4)8)5)9)6)10)7)11)2)13)3)12)14)15)52 ((((((((((((((1,4)5)8)9)6)10)7)11)2)13)3)12)14)15)53 ((((((((((((((1,4)5)6)7)8)9)10)11)2)12)13)3)14)15)54 ((((((((((((((1,4)8)5)6)7)9)10)11)2)12)13)3)14)15)2 = 3.83(wave length) 2.pi.NA = 0.61 .mu.m 105? ((((((((((((((1,5)4)6)7)9)8)10)11)2)13)3)12)14)15)? 106? ((((((((((((((1,5)9)4)6)7)8)10)11)2)13)3)12)14)15)? 107? ((((((((((((((1,5)4)9)8)6)7)10)11)2)13)3)12)14)15)? 108? ((((((((((((((1,5)4)6)9)8)10)7)11)2)13)3)12)14)15)? 109? ((((((((((((((1,5)9)4)8)6)7)10)11)2)13)3)12)14)15)? 110? ((((((((((((((1,5)9)4)6)8)10)7)11)2)13)3)12)14)15)? 111? ((((((((((((((1,5)9)4)8)6)10)7)11)2)13)3)12)14)15)? 112? ((((((((((((((1,5)4)9)8)6)10)7)11)2)13)3)12)14)15)? 113? ((((((((((((((1,5)4)6)7)9)8)10)11)2)12)13)3)14)15)? 114? ((((((((((((((1,5)9)4)6)7)8)10)11)2)12)13)3)14)15)? 115? ((((((((((((((1,5)4)9)8)6)7)10)11)2)12)13)3)14)15)? 116? ((((((((((((((1,5)4)6)9)8)10)7)11)2)12)13)3)14)15)? 117? ((((((((((((((1,5)9)4)8)6)7)10)11)2)12)13)3)14)15)? 118? ((((((((((((((1,5)9)4)6)8)10)7)11)2)12)13)3)14)15)? 119? ((((((((((((((1,5)9)4)8)6)10)7)11)2)12)13)3)14)15)? 120? ((((((((((((((1,5)4)9)8)6)10)7)11)2)12)13)3)14)15)? 121? ((((((((((((((1,6)10)5)4)7)9)8)11)2)3)14)15)13)12)? 122? ((((((((((((((1,6)5)10)9)4)7)8)11)2)3)14)15)13)12)? 123? ((((((((((((((1,6)5)4)10)9)8)7)11)2)3)14)15)13)12)? 124? ((((((((((((((1,6)10)5)9)4)7)8)11)2)3)14)15)13)12)? 125? ((((((((((((((1,6)10)5)4)9)8)7)11)2)3)14)15)13)12)? 126? ((((((((((((((1,6)10)5)9)4)8)7)11)2)3)14)15)13)12)? 127? ((((((((((((((1,6)5)10)9)4)8)7)11)2)3)14)15)13)12)? 128? ((((((((((((((1,6)10)5)4)7)9)8)11)2)3)14)12)15)13)? 129? ((((((((((((((1,6)5)10)9)4)7)8)11)2)3)14)12)15)13)? 130? ((((((((((((((1,6)5)4)10)9)8)7)11)2)3)14)12)15)13)? 131? ((((((((((((((1,6)10)5)9)4)7)8)11)2)3)14)12)15)13)? 132? ((((((((((((((1,6)10)5)4)9)8)7)11)2)3)14)12)15)13)? 133? ((((((((((((((1,6)10)5)9)4)8)7)11)2)3)14)12)15)13)? 134? ((((((((((((((1,6)5)10)9)4)8)7)11)2)3)14)12)15)13)? 135? ((((((((((((((1,6)10)5)4)7)9)8)11)2)3)13)14)12)15)? 136? ((((((((((((((1,6)5)10)9)4)7)8)11)2)3)13)14)12)15)? 137? ((((((((((((((1,6)5)4)10)9)8)7)11)2)3)13)14)12)15)? 138? ((((((((((((((1,6)10)5)9)4)7)8)11)2)3)13)14)12)15)? 139? ((((((((((((((1,6)10)5)4)9)8)7)11)2)3)13)14)12)15)? 140? ((((((((((((((1,6)10)5)9)4)8)7)11)2)3)13)14)12)15)? 141? ((((((((((((((1,6)5)10)9)4)8)7)11)2)3)13)14)12)15)? 142? ((((((((((((((1,6)10)5)4)7)9)8)11)2)3)13)12)14)15)? 143? ((((((((((((((1,6)5)10)9)4)7)8)11)2)3)13)12)14)15)? 144? ((((((((((((((1,6)5)4)10)9)8)7)11)2)3)13)12)14)15)? 145? ((((((((((((((1,6)10)5)9)4)7)8)11)2)3)13)12)14)15)? 146? ((((((((((((((1,6)10)5)4)9)8)7)11)2)3)13)12)14)15)? 147? ((((((((((((((1,6)10)5)9)4)8)7)11)2)3)13)12)14)15)? 148? ((((((((((((((1,6)5)10)9)4)8)7)11)2)3)13)12)14)15)? 149? ((((((((((((((1,6)5)4)7)10)9)8)11)2)13)3)14)12)15)? 150? ((((((((((((((1,6)10)5)4)7)9)8)11)2)13)3)14)12)15)? 151? ((((((((((((((1,6)5)10)9)4)7)8)11)2)13)3)14)12)15)? 152? ((((((((((((((1,6)5)4)10)9)8)7)11)2)13)3)14)12)15)? 153? ((((((((((((((1,6)10)5)9)4)7)8)11)2)13)3)14)12)15)? 154? ((((((((((((((1,6)10)5)4)9)8)7)11)2)13)3)14)12)15)? 155? ((((((((((((((1,6)10)5)9)4)8)7)11)2)13)3)14)12)15)? 156? ((((((((((((((1,6)5)10)9)4)8)7)11)2)13)3)14)12)15)? 157? ((((((((((((((1,6)5)4)7)10)9)8)11)2)13)3)14)15)12)? 158? ((((((((((((((1,6)10)5)4)7)9)8)11)2)13)3)14)15)12)? 159? ((((((((((((((1,6)5)10)9)4)7)8)11)2)13)3)14)15)12)? 160? ((((((((((((((1,6)5)4)10)9)8)7)11)2)13)3)14)15)12)? 161? ((((((((((((((1,6)10)5)9)4)7)8)11)2)13)3)14)15)12)? 162? ((((((((((((((1,6)10)5)4)9)8)7)11)2)13)3)14)15)12)? 163? ((((((((((((((1,6)10)5)9)4)8)7)11)2)13)3)14)15)12)? 164? ((((((((((((((1,6)5)10)9)4)8)7)11)2)13)3)14)15)12)? 165? ((((((((((((((1,6)5)4)7)10)9)8)11)2)13)3)12)14)15)? 166? ((((((((((((((1,6)10)5)4)7)9)8)11)2)13)3)12)14)15)? 167? ((((((((((((((1,6)5)10)9)4)7)8)11)2)13)3)12)14)15)? 168? ((((((((((((((1,6)5)4)10)9)8)7)11)2)13)3)12)14)15)? 169? ((((((((((((((1,6)10)5)9)4)7)8)11)2)13)3)12)14)15)? 170? ((((((((((((((1,6)10)5)4)9)8)7)11)2)13)3)12)14)15)? 171? ((((((((((((((1,6)10)5)9)4)8)7)11)2)13)3)12)14)15)? 172? ((((((((((((((1,6)5)10)9)4)8)7)11)2)13)3)12)14)15)? 173? ((((((((((((((1,6)5)4)7)10)9)8)11)2)12)13)3)14)15)? 174? ((((((((((((((1,6)10)5)4)7)9)8)11)2)12)13)3)14)15)? 175? ((((((((((((((1,6)5)10)9)4)7)8)11)2)12)13)3)14)15)? 176? ((((((((((((((1,6)5)4)10)9)8)7)11)2)12)13)3)14)15)? 177? ((((((((((((((1,6)10)5)9)4)7)8)11)2)12)13)3)14)15)? 178? ((((((((((((((1,6)10)5)4)9)8)7)11)2)12)13)3)14)15)? 179? ((((((((((((((1,6)10)5)9)4)8)7)11)2)12)13)3)14)15)? 180? ((((((((((((((1,6)5)10)9)4)8)7)11)2)12)13)3)14)15)?
TABLE 10______________________________________The thirty best assembly sequences for (W.sub.h, W.sub.j,W.sub.t) = (1/3, 1/3, 1/3) are:______________________________________((((((((((((((1,4)5)6)7)8)9)10)11)2)12)13)3)14)15) no. 53 E = 91.7 H = 1328.1 J = 7 T = 4((((((((((((((1,4)8)5)6)7)9)10)11)2)12)13)3)14)15) no. 54 E = 83.8 H = 1319.7 J = 7 T = 5((((((((((((((1,5)4)9)8)6)7)10)11)2)12)13)3)14)15) no. 115 E = 80.1 H = 1316.9 J = 8 T = 5((((((((((((((1,6)5)10)9)4)7)8)11)2)12)13)3)14)15) no. 175 E = 80.1 H = 1316.9 J = 8 T = 5((((((((((((((1,5)9)4)6)7)8)10)11)2)12)13)3)14)15) no. 114 E = 79.2 H = 1319.7 J = 8 T = 5((((((((((((((1,6)5)4)10)9)8)7)11)2)12)13)3)14)15) no. 176 E = 79.2 H = 1319.7 J = 8 T = 5((((((((((((((1,5)4)6)7)9)8)10)11)2)12)13)3)14)15) no. 113 E = 78.0 H = 1328.1 J = 10 T = 4((((((((((((((1,6)5)4)7)10)9)8)11)2)12)13)3)14)15) no. 173 E = 78.0 H = 1328.1 J = 10 T = 4((((((((((((((1,4)5)6)7)8)9)10)11)2)13)3)12)14)15) no. 45 E = 76.4 H = 1378.1 J = 7 T = 4((((((((((((((1,4)5)8)9)6)7)10)11)2)12)13)3)14)15) no. 55 E = 75.5 H = 1316.9 J = 9 T = 5((((((((((((((1,4)5)6)8)9)10)7)11)2)12)13)3)14)15) no. 56 E = 74.7 H = 1319.7 J = 9 T = 5((((((((((((((1,4)5)6)7)8)9)10)11)2)13)3)14)12)15) no. 29 E = 71.8 H = 1378.1 J = 8 T = 4((((((((((((((1,4)5)6)7)8)9)10)11)2)13)3)14)15)12) no. 37 E = 71.8 H = 1378.1 J = 8 T = 4((((((((((((((1,5)9)4)8)6)7)10)11)2)12)13)3)14)15) no. 117 E = 70.5 H = 1314.1 J = 8 T = 6((((((((((((((1,6)5)10)9)4)8)7)11)2)12)13)3)14)15) no. 180 E = 70.5 H = 1314.1 J = 8 T = 6((((((((((((((1,4)8)5)6)7)9)10)11)2)13)3)12)14)15) no. 46 E = 68.5 H = 1369.7 J = 7 T = 5((((((((((((((1,4)8)5)9)6)7)10)11)2)12)13)3)14)15) no. 57 E = 65.9 H = 1314.1 J = 9 T = 6((((((((((((((1,4)8)5)6)9)10)7)11)2)12)13)3)14)15) no. 58 E = 65.9 H = 1314.1 J = 9 T = 6((((((((((((((1,5)4)9)8)6)7)10)11)2)13)3)12)14)15) no. 107 E = 64.7 H = 1366.9 J = 8 T = 5((((((((((((((1,6)5)10)9)4)7)8)11)2)13)3)12)14)15) no. 167 E = 64.7 H = 1366.9 J = 8 T = 5((((((((((((((1,4)8)5)6)7)9)10)11)2)13)3)14)12)15) no. 30 E = 63.9 H = 1369.7 J = 8 T = 5((((((((((((((1,4)8)5)6)7)8)10)11)2)13)3)14)15)12) no. 38 E = 63.9 H = 1369.7 J = 8 T = 5((((((((((((((1,5)9)4)6)7)8)10)11)2)13)3)12)14)15) no. 106 E = 63.9 H = 1369.7 J = 8 T = 5((((((((((((((1,6)5)4)10)9)8)7)11)2)13)3)12)14)15) no. 168 E = 63.9 H = 1369.7 J = 8 T = 5((((((((((((((1,4)8)5)6)7)9)10)11)2)3)13)12)14)15) no. 22 E = 63.6 H = 1419.7 J = 7 T = 4((((((((((((((1,5)4)6)7)9)8)10)11)2)13)3)12)14)15) no. 10E = 62.6 H = 1378.1 J = 10 T = 4((((((((((((((1,6)5)4)7)10)9)8)11)2)13)3)12)14)15) no. 165 E = 62.6 H = 1378.1 J = 10 T = 4((((((((((((((1,5)9)4)6)8)10)7)11)2)12)13)3)14)15) no. 118 E = 61.3 H = 1314.1 J = 10 T = 6((((((((((((((1,5)4)9)8)6)10)7)11)2)12)13)3)14)15) no. 120 E = 61.3 H = 1314.1 J = 10 T = 6((((((((((((((1,6)10)5)9)4)7)6)11)2)12)13)3)14)15) no. 177 E = 61.3 H = 1314.1 J = 10 T = 6______________________________________
FIG. 11 indicates an assembly sequences for the switch shown in FIG. 10, according to the process of sequence number 53 in Table 8.
In FIG. 11, first, connectors 4, 5, 6 and 7 are assembled with upper case 1. Then, nuts 8, 9, 10 and 11 are attached to connectors 4, 5, 6 and 7. Next, button set 2 is fixed to upper case 1 using screws 12 and 13, and then lower case 3 is fitted into upper case 1. Lastly, upper case 1 and lower case 2 are secured using screws 14 and 15.
Therefore, in the evaluation method of the best assembly sequence according to the present invention, all feasible assembly sequences are evaluated and the most efficient assembly sequence based on the ease of assembly can be found. For the enhancement of system efficiency, the system uses the efficient data structure by which all information can be extracted from subassemblies, and employs an efficient method for selecting good assembly sequences. Also, by an assembly using the proposed data structure, called a CRD, all information needed throughout evaluation processes can be represented easily.
Therefore, the best assembly sequence is determined in the process planning step before the manufacturing starts, thereby reducing considerably the factors which incur higher manufacturing costs.
Conventionally, the determination of the best assembly sequence was made by the user's subjective judgement. However, according to the present invention, better assembly sequences can be selected by evaluating and determining assembly sequences on the basis of objective standards and strict logic in view of new technology.
Claims
  • 1. An evaluation method of assembly sequences comprising steps of:
  • designing an assembly composed of a plurality of parts;
  • preparing a component relation diagram (CRD) indicating a joint relation between said plurality of parts;
  • reducing assembly sequences containing infeasible subassemblies by computing weights of all subassemblies in respective processes of an AND/OR tree structure of said assembly, said step of reducing assembly sequences containing infeasible subassemblies including steps of:
  • categorizing said subassemblies into infeasible subassemblies if said subassemblies have respective weights greater than upper limit weights which can be handled by respective assembly tools; and
  • deleting assembly sequences containing said infeasible subassemblies;
  • evaluating feasible assembly sequences obtained from said CRD by the evaluation function
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all of said subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, and T(q) is a number of tool changes for said assembly sequence q; and
  • performing assembly in said assembly sequence depending on a result of said step of evaluating feasible assembly sequences.
  • 2. An evaluation method of assembly sequences comprising steps of:
  • designing an assembly composed of a plurality of parts;
  • preparing a component relation diagram (CRD) indicating a joint relation between said plurality of parts;
  • reducing assembly sequences containing infeasible subassemblies by computing weights of all subassemblies in respective processes of an AND/OR tree structure of said assembly;
  • evaluating feasible assembly sequences obtained from said CRD by the evaluation function
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all of said subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, and T(q) is a number of tool changes for said assembly sequence q; and
  • performing assembly in said assembly sequence depending on a result of said step of evaluating feasible assembly sequences;
  • wherein H(q) in said evaluation function is obtained by the equation ##EQU8## where A.sub.q is a set of subassemblies in said assembly sequence q and W.sub.s is a weight of a subassembly s.
  • 3. An evaluation method of assembly sequences comprising steps of:
  • designing an assembly composed of a plurality of parts;
  • preparing a component relation diagram (CRD) indicating a joint relation between said plurality of parts;
  • reducing assembly sequences containing infeasible subassemblies by computing weights of all subassemblies in respective processes of an AND/OR tree structure of said assembly;
  • evaluating feasible assembly sequences obtained from said CRD by the evaluation function
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all of said subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, and T(q) is a number of tool changes for said assembly sequence q; and
  • performing assembly in said assembly sequence depending on a result of said step of evaluating feasible assembly sequences;
  • wherein J(q) in said evaluation function is obtained by the steps of:
  • constructing a set of joining directions D.sub.s by the equation ##EQU9## where E.sub.s is a set of edges connected between two components in a CRD, and JA.sub.i is a joining attribute on edge i in a CRD; and
  • computing J(q) by the equation ##EQU10## wherein, if s is a leaf subassembly, X.sub.s =0, and if s is not a leaf subassembly, then X.sub.s =n.sub.s 1 for D.sub.s .andgate.D.sub.P(s) .noteq..phi. and X.sub.s =n.sub.s for D.sub.s .andgate.D.sub.P(s) .noteq..phi., and where n.sub.s is a number of different directions in D.sub.s, P(s) is a set of direct predecessors of said subassembly s, X.sub.s is an indicator variable representing said changes of joining directions for said subassembly s, and A.sub.q is a set of subassemblies in said assembly sequence q.
  • 4. An evaluation method of assembly sequences comprising steps of:
  • designing an assembly composed of a plurality of parts;
  • preparing a component relation diagram (CRD) indicating a joint relation between said plurality of parts;
  • reducing assembly sequences containing infeasible subassemblies by computing weights of all subassemblies in respective processes of an AND/OR tree structure of said assembly;
  • evaluating feasible assembly sequences obtained from said CRD by the evaluation function
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all of said subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, and T(q) is a number of tool changes for said assembly sequence q; and
  • performing assembly in said assembly sequence depending on a result of said step of evaluating feasible assembly sequences;
  • wherein T(q) in said evaluation function is obtained by the steps of:
  • constructing a set of tools for said subassemblies T.sub.s by the equation ##EQU11## where E.sub.s is the set of edges connected between two components in a CRD, and TA.sub.i is the tool attribute on edge i in a CRD; and
  • constructing T(q) by the equation ##EQU12## wherein, if s is a leaf subassembly, Y.sub.s =0, and if s is not a leaf subassembly, Y.sub.s =n(T.sub.s T.sub.P(s)), and where P(s) is a set of direct predecessors of a subassembly s, Y.sub.s is an indicator variable representing changes of tools for said subassembly s, n(T.sub.s T.sub.P(s)) is a number of elements in a set T.sub.s TP(s), and A.sub.q is a set of subassemblies in said assembly sequence q.
  • 5. An evaluation method of assembly sequences comprising steps of:
  • generating all possible assembly sequences for assembling a plurality of parts of an assembly;
  • determining parameters for assembling said plurality of parts;
  • computing evaluation values for respective assembly sequences using said parameters by the following equation, depending on a relation between said plurality of parts,
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, T(q) is a number of tool changes for said assembly sequence q; and
  • selecting an assembly sequence corresponding to a largest one of said computed evaluation values;
  • said step of computing evaluation values further comprising a step of deleting ones of said assembly sequences q which are infeasible before computing said evaluation values.
  • 6. An evaluation method of assembly sequences comprising steps of:
  • generating all possible assembly sequences for assembling a plurality of parts of an assembly;
  • determining parameters for assembling said plurality of parts;
  • computing evaluation values for respective assembly sequences using said parameters by the following equation, depending on a relation between said plurality of parts,
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, T(q) is a number of tool changes for said assembly sequence q; and
  • selecting an assembly sequence corresponding to a largest one of said computed evaluation values;
  • wherein said step of computing evaluation values for respective assembly sequences includes steps of:
  • categorizing ones of said subassemblies having respective weights greater than upper limit weights which can be handled by respective assembly tools into infeasible subassemblies; and
  • deleting assembly sequences containing said infeasible subassemblies.
  • 7. An evaluation method of assembly sequences comprising steps of:
  • generating all possible assembly sequences for assembling a plurality of parts of an assembly;
  • determining parameters for assembling said plurality of parts;
  • computing evaluation values for respective assembly sequences using said parameters by the following equation, depending on a relation between said plurality of parts,
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, T(q) is a number of tool changes for said assembly sequence q; and
  • selecting an assembly sequence corresponding to a largest one of said computed evaluation values;
  • wherein H(q) in said evaluation function is obtained by the equation ##EQU13## where A.sub.q is a set of subassemblies in said assembly sequence q, and W.sub.s is a weight of a subassembly s.
  • 8. An evaluation method of assembly sequences comprising steps of:
  • generating all possible assembly sequences for assembling a plurality of parts of an assembly;
  • determining parameters for assembling said plurality of parts;
  • computing evaluation values for respective assembly sequences using said parameters by the following equation, depending on a relation between said plurality of parts,
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, T(q) is a number of tool changes for said assembly sequence q; and
  • selecting an assembly sequence corresponding to a largest one of said computed evaluation values;
  • wherein J(q) in said evaluation function is obtained by the steps of:
  • constructing a set of joining directions D.sub.s in accordance with the equation ##EQU14## where E.sub.s is a set of edges connected between two components in a CRD, and JA.sub.i is a joining attribute on edge i in a CRD; and
  • computing J(q) by the equation ##EQU15## wherein, if s is a leaf subassembly, X.sub.s =0, and if s is not a leaf subassembly, then X.sub.s =n.sub.s 1 for D.sub.s .andgate.D.sub.P(s) .noteq..phi. and X.sub.s =n.sub.s for D.sub.s .andgate.D.sub.P(s) =.phi., and where n.sub.s is a number of different directions in D.sub.s, P(s) is a set of direct predecessors of a subassembly s, X.sub.s is an indicator variable representing changes of joining directions for said subassembly s, and A.sub.q is a set of subassemblies in said assembly sequence q.
  • 9. An evaluation method of assembly sequences comprising steps of:
  • generating all possible assembly sequences for assembling a plurality of parts of an assembly;
  • determining parameters for assembling said plurality of parts;
  • computing evaluation values for respective assembly sequences using said parameters by the following equation, depending on a relation between said plurality of parts,
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q is an assembly sequence, E(q) is an evaluation function, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of part handling, ease of part joining, and tool changes criteria, respectively, f is a scaling function, H(q) is a sum of weights of all subassemblies for said assembly sequence q, J(q) is a number of joining direction changes for said assembly sequence q, T(q) is a number of tool changes for said assembly sequence q; and
  • selecting an assembly sequence corresponding to a largest one of said computed evaluation values;
  • wherein T(q) in said evaluation function is obtained by the steps of:
  • constructing a set of tools for said subassemblies T.sub.s by the equation ##EQU16## where E.sub.s is a set of edges connected between two components in a CRD, and TA.sub.i is a tool attribute on edge i in a CRD; and
  • constructing T(q) by the equation ##EQU17## wherein, if s is a leaf subassembly, Y.sub.s =0, and if s is not a leaf subassembly, Y.sub.s =n(T.sub.s T.sub.P(s)), and where P(s) is a set of direct predecessors of a subassembly s, Y.sub.s is an indicator variable representing changes of tools for said subassembly s, and n(T.sub.s T.sub.P(s)) is a number of elements in a set T.sub.s T.sub.P(s), and A.sub.q is a set of subassemblies in said assembly sequence q.
  • 10. An evaluation method of assembly sequences comprising steps of:
  • providing a plurality of parts for forming an assembly;
  • selecting a plurality of possible assembly sequences of assembling said plurality of parts by deleting from among all possible assembly sequences those assembly sequences which include infeasible subassembly structures;
  • computing an evaluation value for each of said plurality of possible assembly sequences using the following equation,
  • E(q)=W.sub.h .multidot.f(H(q))+W.sub.j .multidot.f(J(q))+W.sub.i .multidot.f(T(q))
  • where q represents each of said plurality of possible assembly sequences, E(q) is an evaluation function for a respective one of said plurality of possible assembly sequences, W.sub.h, W.sub.j and W.sub.i are weighting factors for ease of handling said plurality of parts, ease of joining said plurality of parts, and tool changes required for said respective one of said plurality of possible assembly sequences, respectively, f is a scaling function, H(q) is a sum of weights of all subassemblies for said respective one of said plurality of possible assembly sequences, J(q) is a number of joining direction changes for said respective one of said plurality of possible assembly sequences, and T(q) is a number of tool changes for said respective one of said plurality of possible assembly sequences; and
  • assembling said assembly using an assembly sequence having a largest one of said computed evaluation values.
US Referenced Citations (17)
Number Name Date Kind
4615011 Linsker Sep 1986
4648023 Powell Mar 1987
4931944 Richter et al. Jun 1990
5040123 Barber et al. Aug 1991
5047947 Stump Sep 1991
5093794 Howie et al. Mar 1992
5155677 Kurtzberg et al. Oct 1992
5155679 Jain et al. Oct 1992
5177688 Rentschler et al. Jan 1993
5216593 Dietrich et al. Jun 1993
5231567 Matoba et al. Jun 1993
5233533 Edstrom et al. Aug 1993
5255181 Chapman et al. Oct 1993
5258915 Billington et al. Nov 1993
5280425 Hogge Jan 1994
5315521 Hanson et al. May 1994
5321620 Tanaka et al. Jun 1994
Non-Patent Literature Citations (14)
Entry
Vincze, "Expert Choice", Decision Line, Mar. 1990, pp. 10-12.
Saaty et al., "Operations Management", 1990.
Nahmias, "Production & Operations Analysis", 1989.
Vajda, "Readings in Linear Programming", 1958.
De Floriani et al., "A Graph Model for Face-To-Face Assembly", Aug. 1989.
de Mello et al., "A Correct and Complete Algorithm for the Generation of Mechanical Assembly Sequences", Aug. 1989.
de Mello et al., "Two Criteria for the Selection of Assembly Plans: Maximizing the Flexibiltiy of Sequencing the Assembly Tasks & Minimizing the Assembly Time through Parallel Execution of Assembly Tasks", Oct. 1991.
de Mello et al., "And/Or Graph Representation of Assembly Plans", Apr. 1990.
Waarts et al., "A Semi-Automatic Assembly Sequence Planner", Apr. 1992.
Chen, "Neural Computation for Planning And/Or Precedence-Constraint Robot Assembly Sequences", Jan. 1990.
Sanderson et al., "Task Planning for Robotic Manipulation in Space Applications", Sep. 1988.
Sanderson et al., "Generation of Precedence Relations for Mechanical Assembly Sequences", Jan. 1989.
de Mello et al., "Assembly Planning for Large Truss Structures in Space", Jan. 1990.
Huang, "Development of an Assembly Planner Using Decomposition Approach", Jan. 1993.