© Strojni{ki vestnik 49(2003)1,41-51 © Journal of Mechanical Engineering 49(2003)1,41-51 ISSN 0039-2480 ISSN 0039-2480 UDK 658.515:658.52.011.56:004.42 UDC 658.515:658.52.011.56:004.42 Pregledni znanstveni ~lanek (1.02) Review scientific paper (1.02) Nekaj novih algoritmov za ra~unalni{ko podprto na~rtovanje monta`e Some New Algorithms for Computer Aided Assembly Planning Zoran Kunica - Bo`o Vranje{ - Miljenko Hrman Prispevek opisuje nekaj izboljšanih in na novo uporabljenih algoritmov ustvarjanja načrta avtomatizirane montaže (UNAM - GPAS) za računalniško načrtovane sisteme. Algoritmi se nanašajo na določitev montažnih korakov in poti, strukturiranje prostora (lay-out) za montažo na enem mestu oziroma na mizi, sestavljivost izdelkov, obravnavajo pa tudi identične sestavne dele v izdelku. Primer prikazuje montažo mehanskega izdelka, ki je najprej računalniško modeliran (RPN - CAD). Definirani so elementi načrtovanja, na primer zaporedje montažnih opravil, montažni gibi in položaji posameznih delov nesestavljenega izdelka, kar je osnova za konstruiranje montažnih naprav in izvedbo montaže. © 2003 Strojniški vestnik. Vse pravice pridržane. (Ključne besede: montaža, avtomatizacija montaže, planiranje montaže, CAD-CAE-CAM) This paper depicts some of the improved and newly implemented algorithms of the computer aided design (CAD)-based system for the plan generation of automatic assembly (GPAS), relating to definitions of assembly sequence and paths, space structuring (layout) of the assembly process for bench assembly, product orientation, connectivity, and treatment of identical parts in a product. In the approach, the parts of which are presented in the paper, the mechanical product to be assembled is, initially, a CAD-modelled assembled product. After this, the planning elements, such as the assembly sequence, the assembly paths and the parts’ positions of the disassembled product are defined, providing the basis for assembly-device design and assembly execution. © 2003 Journal of Mechanical Engineering. All rights reserved. (Keywords: assembly, assembly automation, assembly planning, CAD-CAE-CAM) 0 UVOD Sedanjim RPN/RPIZ sistemom še vedno manjkajo ustrezne komponente RPI-ja, ki bi omogočale bolj učinkovito načrtovanje montaže v smislu povezave razvoja izdelka, razvoja montažnega sistema, programiranja montažne naprave in izvajanja montaže. Problem se nanaša na zapletenost in nepopolnost metodologij načrtovanja in na pomanjkanje algoritmov v posameznih fazah načrtovanja ([1] do [6] in [13]). Prispevek predstavlja nekaj izboljšanih in nanovo uporabljenih algoritmov za RPN sistem za ustvarjanje načrta avtomatizirane montaže UNAM (sl. 1) ([7] do [9]), namenjenih za definiranje korakov montaže, strukturiranje prostora (lay-out) montažnega postopka za montažo na enem mestu, najugodnejšo usmeritev izdelka, povezljivost in obravnavo identičnih sestavnih delov v izdelku. 0 INTRODUCTION Current CAD/CAM systems are still missing the appropriate CAE component that would allow more efficient assembly planning in an effort to integrate product design, assembly system design, assembly device programming and assembly execution. The problem is related both to the complexity and to the incompleteness of the planning methodology and to the lack of algorithmised planning elements ([1] to [6] and [13]). This paper presents some of the improved and newly implemented algorithms of the CAD-based system for the plan generation of automatic assembly – GPAS (Fig. 1), ([7] to [9]), dedicated to: assembly sequence defining, space structuring (layout) of the assembly process for bench assembly, the most convenient product orientation, connectivity, treatment of the identical parts in a product. isfFIsJBJbJJIMlSlCšD I stran 41 glTMDDC Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms RPN RPI CAD Struktura izdelka Product structure 3E Začetna usmeritev izdelka Initial product orientation X Razpoznavanje SD* Identification of the parts ______ina product______ Razpoznavanje povezav med SD Identification oflhe relationships between parts 3E Razpoznavanje enakih SD Identification of identical pails Ustvarjanje zaporedja demonlaže Generation of initial disassembly sequence Sg I 're ve rj a ii] c- sp re m i 11 j a nj c zaporedja demontažnih opravil' z iskanjem poti Approving Changing disassembly sequence by Ending out _______disassembly paths_______ Jl Izbira tipa montažnega sistema Choice of tlie basic lype{s) of asscniblv system Končni položaj SD glede na tip montažnega sistema The final positions of the parts regarding assembly system lype(s) CAE SŽ Preverjanje vzporednih montažnih opravil Checking of the possibility ofasscinblv in parallel Stabilnost trenutnega sestava Stability of temporal assemblies 1 3E Usmeritev in predstavitev SD in izdelka Orientalion & presentation method for part and product ^Pr Montažna opravila Assembly operations 'Jl = Simulacija poteka montaže Simulation of assembly execution USTVARJANJE NAČRTA PLAN GENERATION IZVAJANJE MONTAŽE RPIZ ASSEMBLY EXECUTION. PROGRAMIRANJ MONTAŽNIH => NAPRAV ASSEMBLY DEVIC PROGRAMMINGS CAM *SD - sestavni del Sl. 1. Elementi načrtovanja in postopka v sistemu UNAM Fig. 1. The elements of a plan and the generation procedure in the system GPAS grin^sfcflMisDSD VBgfirWEBS stran 42 Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms 1 DOLOČITEV (DE)MONTAŽNEGA ZAPOREDJA Temelj za določitev (de)montažnega zaporedja je sestavljen izdelek, zato se večina prikazanih elementov in postopkov nanaša na demontažo. Razlog za to je prvič, da izdelek obstaja v obliki RPN kot rezultat razvojne faze, in drugič, sestavljeni izdelek daje več informacij za planiranje kakor razstavljeni. Glede na drugi razlog montaža in demontaža nista nujno obrnljivi [10]. Če pa vzamemo za začetek ustvarjanja sestavljeni izdelek namesto razstavljenega, sta montaža in demontaža obrnljivi. (De)montažna je definirana v dveh korakih, prvi korak obsega začetni demontažni korak z upoštevanjem “mehkih” pogojev [5] in drugi korak obsega simulacijo demontaže (definiranje poti), kjer je začetni korak potrjen ali spremenjen (da zadovolji “ostrejše” pogoje [5]). Namesto kriterija: razdalja težišča sestavnega dela od težišča izdelka, uporabimo za definiranje prvega demontažnega koraka kombinacijo treh kriterijev: razdaljo težišča sestavnega dela od težišča izdelka, velikost komponente y težišča sestavnega dela in prostornino (maso) sestavnega dela. Kombinacija treh kriterijev daje boljše rešitve za demontažne korake in poti kakor tudi za bolj zanesljivo izbiro osnovnega sestavnega dela izdelka (to je prvi sestavni del, ki naj bo zmontiran v montažnem postopku (sl. 2), kjer je x-z vodoravna ravnina). 1 (DIS)ASSEMBLY SEQUENCE GENERATION (Dis)assembly sequence generation is based on the assembled product, so that most of the elements and procedures that will be shown are related to disassembly. The reasons are: 1. a product really exists in CAD form as a result of the design stage, 2. an assembled product offers more planning information than a disassembled one. Regarding the latter, assembly and disassembly are not necessary reversible [10]. However, having taken an assembled product instead of a disassembled one at the beginning of the generation, disassembly and assembly become reversible. The (dis)assembly sequence is defined in two steps: 1. initial disassembly sequence generation using ‘soft’ constraints [5], 2. disassembly simulation (path defining) in which the initial disassembly sequence is approved or changed (in order to satisfy ‘hard’ constraints [5]). For the initial disassembly sequence defining, instead of the criterion (constraint) distance of the part’s centre of gravity from the product’s centre of gravity, a combination of three criteria is used: the distance of the part’s centre of gravity from the product’s centre of gravity, the value of the y component of the part’s centre of gravity, the part’s volume (mass). The combination of the criteria leads to better solutions of the disassembly sequence and paths as well as to a more reliable choice of the base (main) part in the product (the first part to be assembled in an assembly process) – Fig. 2 (xz is a horizontal plane). y X a) Jb) Sl. 2. a) Spremenjen Cranfieldov sestav, b) demontaža z uporabo predhodnega algoritma, c) demontaža z uporabo izboljšanega algoritma - pravilne demontažne poti in osnovni sestavni del Fig. 2. a) The product - modified Cranfield assembly, b) Disassembly using previous algorithm, c) Disassembly using improved algorithm - proper disassembly paths and the base part isfFIsJBJbJJIMlSlCšD I stran 43 glTMDDC Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms Če je težišče sestavnega dela na večji oddaljenosti od težišča izdelka, je ta sestavni del primernejši za zgodnejšo demontažo. Sestavni deli so urejeni od največje oddaljenosti (utežni indeks wd = 1) do najmanjše (w = n, n - število sestavnih delov v izdelku). Če je komponenta težišča y sestavnega dela -SD manjša, je ta SD primernejši kandidat za kasnejšo demontažo. SD so urejeni od največje do najmanjše vrednosti osi y. Zadnja dva sestavna dela v seznamu (sestavna dela z najmanjšima vrednostima y) imata w= n-1 in w = n. Za preostale sestavne dele je w = 0. y Če je y prostornina sestavnega dela večja, je to boljši kandidat za kasnejšo demontažo. Sestavni deli so urejeni od najmanjše do največje prostornine. Največji sestavni del ima w = n-1, naslednji manjši ima w = n-2, za vse druge je w =0. Uporabljeno hevristiko je mogoče izboljšati y če upoštevamo porazdelitev prostornin sestavnih delov, to dovede do podrobnejših vrednosti za w. Za vse sestavne dele y utežne indekse, seštejemo in sestavimo novo listo z urejanjem -dobimo zaporedje za demontažo. Če ima sestavni del manjšo vsoto utežnih indeksov, je primernejši za zgodnejšo demontažo. Ustvarjanje zaporedja demontaže vsebuje še dodatni ‘mehki’ pogoj - stikanje. Čeprav tega ni mogoče vzeti kot splošno pravilo, predpostavimo, da v vsaki stopnji demontaže velja, da se sestavni deli, ki bodo razstavljeni, neposredno ali posredno dotikajo. Kandidat za demontažo ne izpolnjuje tega pogoja, če obstaja najmanj še en sestavni del v sestavu, ki se dotika samo sestavnega dela, ki naj bo demontiran, in noben drugi. Preverjanje pogoja stikanja je vedno pred določitvijo demontažne poti za določeni sestavni del. Če za ta sestavni del pogoj stikanja ni izpolnjen, se zaporedje demontaže spremeni. Stikanje je mogoče preveriti za izdelek (sl. 3). 1 3 2 If the part’s centre of gravity is at a greater distance from the product’s centre of gravity, it is a better candidate to be disassembled earlier. The parts are sorted from the largest distance (weight wd = 1), to the smallest distance (wd = n, n – the number of parts in a product). If the y component of the part’s centre of gravity is lower, it is a better candidate to be disassembled later. The parts are sorted from the largest to the smallest y value. The two last parts on the list (the parts with the smallest y values) have wy = n-1 and wy = n. For the other parts wy = 0. If the volume of a part’s is larger, it is a better candidate to be disassembled later. The parts are sorted from the smallest to the largest volume. The largest part has wy = n-1, the first smaller part wy = n-2, while the rest of the parts have wy = 0. The applied heuristics can be improved by taking into account the distribution of parts volumes, which leads to refined values of wy. For all the parts the weights regarding the criteria are summarised, and the new list, the disassembly sequence, is made by sorting. If a part has a lower sum of weights, it is a better candidate for earlier disassembly. The disassembly sequence generation contains an additional ‘soft’ constraint called connectivity. Although it cannot be taken as a general rule, it is assumed that at every stage of the disassembly process, all the parts that will be disassembled are in a relationship with each other either directly or indirectly. A candidate part for the disassembly does not satisfy a connectivity check if there is at least one other part in the assembly that is in a relationship with just the part that is going to be disassembled and distanced from all the other parts (in the assembly). The connectivity check for each part in the disassembly sequence list precedes the estimation of the initial disassembly paths for that part. If the part fails the connectivity test, the disassembly sequence will be changed. The connectivity check is shown on the product in Fig. 3. 4 y z^ x Sl. 3. Izdelek za preverjanje kriterija stikanja Fig. 3. A product for connectivity check grin^sfcflMISDSD VH^tTPsDDIK stran 44 Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms Slika 4 prikazuje demontažo brez preverjanja Fig. 4 shows disassembly without the stikanja. Najprej je demontiran del 1. Po demontaži connectivity check. In Fig. 4-a, part 1 is disassembled. dela 2 (sl. 4b) preostaneta dela 3 in 4, ki sta After the disassembly of part 2 (Fig. 4-b), the rest of the identična, se ne dotikata, imata isto usmeritev in parts are distanced (parts 3 and 4). Parts 3 and 4 are njuna položaja sta simetrična glede na preostale identical, they have the same orientation, and their sestavne dele v izdelku. Zato bi vsak od njiju prišel positions are symmetrical with regard to the other parts in v poštev za demontažo. Po demontaži dela 4 vidimo the product. Thus, each of them can be taken as the next da preostali del (del 3) ni primeren za bazni sestavni part, or candidate for disassembly. After the disassembly del. of part 4 (Fig. 4-c), it can be seen that the main part in the product is not the appropriate one (part 3). & ^> ^ 1 A > 4 2X 3 ^^* a) b) c) Sl. 4. Demontaza brez preverjanja kriterija stikanja (3 - osnovni sestavni del) Fig. 4. Disassembly without connectivity check (3 - the base part) Na sliki 5-a bi po prvotnem zaporedju Fig. 5-a, regarding the initial disassembly demontaže moral biti demontiran sestavni del 2, toda sequence, part 2 should be disassembled. But part 2 ta ne izpolnjuje kriterija stikanja, zato pride kot does not satisfy the connectivity check, and the naslednji v poštev del 4. Ta izpolnjuje kriterij stikanja disassembly sequence is changed, so part 4 will be in je demontiran (sl. 5-b). Slika 5 kaže demontažo dela considered. Part 4 satisfies the connectivity test and it 3 in del 2 preostane kot osnovni del, kar je najboljša is removed from the assembly (Fig. 5-b). Fig. 5-c shows rešitev. the disassembly of part 3 and the positions of the parts immediately after the disassembly: part 2 is the main part in the product, which is the best solution. -^ ^ ^ A 1 4 A 3 2 ^ m a) b) c) Sl. 5. Demontaža z upoštevanjem kriterija stikanja (2 - osnovni sestavni del) Fig. 5. Disassembly with connectivity check (2 - the base part) | lgfinHi(s)bJ][M]lfi[j;?n 03-1______ stran 45 I^BSSIfTMlGC Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms Nadaljnje izboljšanje ustvarjanja zaporedja demontaže je izbira dolžine začetnega premika (poti) demontaže (iskanje demontažnih poti) [7]. Namesto stalne vrednosti premika t = 1mm, je najmanjši pomik izračunan z upoštevanjem prostornine sestavnega dela: R t min"100 kjer pomenita: R - polmer vplivne krogle, v mm vol - prostornina izdelka, v mm3 . Vplivna krogla okoli izdelka je prostor, v katerem je treba preverjati vpliv med sestavnimi deli. Središče krogle je v težišču izdelka. Sestavni del je uspešno demontiran, če njegovo težišče pride zunaj vplivne krogle. Četrto izboljšanje ustvarjanja zaporedja demontaže je uvedba dinamičnega nadzora razdalj sestavnih delov med demontažo. Tako odpadejo nepotrebna preverjanja vpliva, kar skrajša čas načrtovanja. Stopnje algoritma so (sl. 6): 1. Sestavni del se premakne za ti 2. Če se razdalje med težiščem sestavnega dela, ki je demontiran, in vsemi drugimi sestavnimi deli povečajo, pojdi na stopnjo 10. 3. Če se razdalje manjšajo, obstaja nevarnost ovire in sestavni del, ki ga demontiramo, pomaknemo do najbližje ovire. 4. Del zopet premaknemo za tin. 5. Če ni oviranja, se demontaža nadaljuje, dokler se razdalje ne povečajo, potem pojdi na stopnjo 10. 6. Če pride do oviranja, se del pomakne v začetno pozicijo. 7. Če je to zadnja smer, pojdi na stopnjo 9. 8. Pojdi na stopnjo 1 (poskusi novo začetno smer). 9. Zaporedje demontaže se spremeni in naslednji sestavni del v zaporedju bo demontiran. 10. Smer demontaže je najdena in sestavni del bo premaknjen zunaj vplivne krogle. 2 USMERITEV IZDELKA Običajno je izdelek “logično” postavljen v modelnem prostoru RPN-ja. “Logično” pomeni, da konstrukter po navdihu postavi izdelek glede na to, kaj je zgoraj (os +y) in kaj je spodaj glede na (še neznano) opremo, ki je namenjena za pravilno usmeritev izdelka. Načrt montaže naj predlaga najprimernejšo usmeritev izdelka (sl. 7). Najprimernejša usmeritev izdelka je določena z analizo demontažnih smeri: The next improvement in the disassembly-sequence generation procedure is made regarding the value of the initial translations (paths) of the part (searching of the disassembly paths) [7]. Instead of a constant value of the translation t = 1 mm, the minimum translation is now calculated taking into account the volumes of the parts: 100 2,2 16 -vol (1), p where: R is the radius of the interference sphere in mm vol is the product’s volume in mm3. The interference sphere around the product is the critical space for interference checking among the parts. The sphere has its centre in the product’s centre of gravity. The part is successfully disassembled when its centre of gravity passes across the sphere boundary. The fourth improvement in disassembly-sequence generation is the involvement of the dynamic control of distances among the parts during disassembly. In this way, unnecessary interference checks are avoided, which reduces the plan’s generation time. The steps in the algorithm are (Fig. 6): 1. The part is translated using the value of tmin. 2. If the distances between the centre of gravity of the part being disassembled and the centres of gravity of all the other, not yet disassembled, parts increase, go to the step 10. 3. If distances decrease, the potential obstacle exists, and the part being disassembled is moved to the closest obstacle. 4. The part being disassembled is moved by the value of tmin (again). 5. If there are no collisions, disassembly continues until the distances increase, and then go to step 10. 6. If the collision is detected, the part will be moved in its starting position. 7. If it is the last initial disassembly path, go to step 9. 8. Go to the step 1 (New initial disassembly path will be examined.). 9. The current disassembly sequence will be changed, and the next part from the disassembly-sequence list will be taken to be disassembled. 10. The disassembly path is found, and the part is translated out of the interference sphere. 2 ORIENTATION OF A PRODUCT Usually, a product is “logically” situated in its CAD model space. “Logically” means that a designer often intuitively places the product with regard to what is up (+y axis) and what is down, and with respect to the (not yet known) equipment that would serve to keep the product in this orientation. The assembly plan should propose the most convenient product orientation (Fig. 7). The most convenient product orientation comes from the analysis grin^sfcflMISDSD VH^tTPsDDIK stran 46 Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms a) r— d) 1 ,__________ 2----------/. y kf a) b) c) d) e) f) f) * e) sestavljen izdelek, sestavni del 1 bo razstavljen, razdalja med deloma 1 in 2 se manjša - del 1 se pomakne do dela 2, ovira med deloma 1 in 2 - zaporedje demontaže je treba spremeniti, sestavni del 2 je sestavljen pred delom 1, razstavljen izdelek. a) Assembled product, b) Part 1 is going to be disassembled, c) Distance between parts 1 and 2 decreases - part 1 is moved right to part 2, d) The collision between parts 1 and 2 - disassembly sequence must be changed, e) Part 2 is disassembled before part 1, f) Disassembled product. Sl. 6. Dinamični nadzor razdalj med sestavnimi deli med demontažo Fig. 6. Dynamic control of distances among parts during disassembly a) b) c) d) e) začetna usmeritev, a) demontiran izdelek in (de)montažne smeri, b) vračanje sestavnih delov na prvotna mesta (začetna c) usmeritev), nova usmeritev izdelka, d) demontiran izdelek. Izognili smo se montaži od spodaj! e) The initial orientation, Disassembled product and (dis)assembly paths, Moving back parts in the positions before disassembly (the initial orientation), New product orientation, Disassembled product. Assembly from below avoided! Sl. 7. Iskanje najprimernejše usmeritve izdelka Fig. 7. Finding the most convenient orientation for a product (sfirWB)bJJ[M]!s[JLD I stran 47 SfTMEC Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms vsebuje naj največje mogoče število smeri od spodaj navzgor in najmanjše število smeri v nasprotni smeri. Glede na zunanji koordinatni sistem RPN je mogočih šest osnovnih usmeritev izdelka. Vektorje demontažnih smeri razstavimo na komponente in jih primerjamo z osnovnimi usmeritvami izdelka. Število demontažnih smeri daje najprimernejšo usmeritev izdelka, ki ga po potrebi zavrtimo. Pričakujemo, da se osi koordinatnega sistema izdelka ujemajo z osmi zunanjega koordinatnega sistema. 3 RAZPORED ZA ENOPOSTAJNI MONTAŽNI PROCES Strukturiranje prostora je določanje končne lege sestavnih delov po demontaži in nasprotno pred montažo. To je določanje razporeda za bodoči montažni sistem. “Od različnih vidikov razvoja za avtomatizacijo, je posvečeno presenetljivo malo pozornosti razporeditvi sestavnih delov v njihovih zalogovnikih”[11]. Celotna pot montaže tako obsega: - gibanje sestavnega dela iz lege pred demontažo na položaj takoj po demontaži in - gibanje sestavnega dela iz lege po demontaži do položaja v zmontiranem izdelku (omenjena pot se določi med demontažo). Strukturiranje prostora je odvisno od vrste montaže: enopostajna, vrtljiva miza in montažna proga. Vrsta montaže se določi pred začetkom načrtovanja na podlagi zahtevane zmogljivosti, števila variant izdelka, investicijske zmožnosti [12] Prav tako lahko vpliva na izbiro sistema število sestavnih delov njihovega položaja v izdelku in (de)montažne poti. Da bi dosegli enosmerne (celotne) montažne poti, se sestavni deli, ki imajo nepokončne poti, gibljejo po demontažnih poteh. V prvotnem algoritmu je razdalja pomika sestavnega dela definirana z njegovo lego v seznamu demontažnih zaporedij: če je sestavni del na kasnejšem mestu v montažnem zaporedju, bo postavljen dlje od “rastočega” izdelka. Ta zahteva lahko v nekaterih primerih povzroči nepotrebno velike razdalje med sestavnimi deli. Da bi obšli to težavo, definira izboljšani algoritem pomik tD, mm, in najmanjše razdalje med že postavljenimi sestavnimi deli d ,mm: of disassembly paths: it should have the maximum possible number of the bottom-up disassembly paths, and the minimum number of paths from the opposite direction. There are six basic product orientations defined regarding the CAD global coordinate system. The vectors of the disassembly paths are divided into their components, and are compared with basic product orientations. Counting of the disassembly directions will suggest the most convenient orientation, and the product will be rotated, if necessary. In the present implementation, it is expected that the axes of the product’s coordinate system are properly aligned with the axes of the global coordinate system. 3 LAYOUT OF THE ASSEMBLY PROCESS FOR BENCH ASSEMBLY Space structuring is a determination of the final positions of parts after disassembly, and, vice-versa, before assembly. It is a layout design of the future assembly system. “Of the various aspects of design that have been considered for automation, the layout of components within their container has received surprisingly little attention” [11]. So, the complete assembly path of a part comprises: - a motion from the part position before assembly to the position immediately after disassembly, - a motion from the part position immediately after disassembly to the part position required in the product (the path is determined during disassembly). Space structuring depends on types of assembly system: workbench, rotary-table, and line. The type of the assembly system may be determined at the beginning of the planning, on the basis of production volumes, the number of product variants, the investment potential etc. [12]. However, the type of the assembly system may come from the number of parts, the parts’ positions in a product and (dis)assembly paths. In order to achieve a one-directional (complete) assembly path, the parts that have non-vertical paths are translated (moved) using their disassembly paths. In the original algorithm, the value of the part translation is defined by its position in the disassembly sequence list: as the part is later in an assembly sequence, it will be positioned farther from the “growing” product. This premise in some cases may lead to unnecessary large distances among parts. To avoid this situation, the improved algorithm defines the translation tD, mm, and the minimum distance between already positioned parts dmin, mm: t = d = 1,1 R min (2). Lego za sestavne dele z nepokončnimi demontažnimi potmi se določijo iterativno. Tako so razdalje med sestavnimi deli bolj zanesljive. (sl. 8). The position of each part with a non-vertical disassembly path is determined iteratively. In this way, the distances among the parts are more reliable (Fig. 8). grin^SfcflMISDSD VH^tTPsDDIK stran 48 Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms (/'IV SCO 1 c% u0rä 2 a) b) t y ^ /1 2 x 1 o \^> \ ti/ 0 c) 2 O I (ill //5 1 , d) e) II^M) f) O z x a) Lege sestavnih delov takoj po demontaži. b) Postavljen je del 1. Umaknjen je stran od drugih sestavnih delov. c) Postavljen je del 2. Je preblizi delu 1. d) Del 1 je ponovno postavljen (pomika se vzdolž demontažne poti), saj je v listi demontažnih zaporedij pred delom 2. e) Pomikanje dela 1 se nadaljuje tako dolgo, da je razdalja med delom1 in preostalimi dovolj velika. f) Vsi sestavni deli so na končnih legah (pred montažo). a) Part positions immediately after disassembly. b) Part 1 is positioned. It is distanced from the other parts of the product. c) Part 2 is positioned. It is too close to part 1. d) Part 1 is positioned again (moved along its disassembly path) since it is prior to part 2 in the disassembly-sequence list. e) The translation of part 1 continues until the distances between part 1 and the other parts are not large enough. f) All parts of the product are in their final positions (the positions before assembly). Sl. 8. Pozicioniranje sestavnih delov pri izdelku, pri katerem imajo vsi sestavni deli nepokončne (de)montažne poti Fig. 8. The positioning of the parts in the product in which all the parts have non-vertical (dis)assembly paths Naslednja izboljšava je pri sestavnih delih s pokončnimi demontažnimi potmi. Namesto da bi postavili vsak sestavni del posebej, algoritem najprej izračuna najboljše lege (z uporabo optimizacijskega kriterija največjih razdalj med sestavnimi deli), in šele nato izvede pomike sestavnih delov[9]. Če vsebuje izdelek več sestavnih delov z enako prostornino in površino, se ti sestavni deli štejejo za identične (sl. 9-a). Identični sestavni deli so razvrščeni, pri tem upoštevamo primere, ko imajo ti deli tudi iste demontažne smeri. Identični sestavni deli z istimi demontažnimi potmi so postavljeni na skupno lego (sl. 9-c), to omogoča prihranek na prostoru in opremi. The next improvement is made with regard to the parts with the vertical disassembly paths. Instead of the positioning of each part with vertical (dis)assembly paths one by one, the algorithm now first calculates the best positions (with the use of the maximum-distance-between-parts optimisation criterion), and just after that makes the translations of the parts. [9] If a product has several parts that have the same volume and surface area, these parts are considered as identical (Fig. 9-a). The identical parts are grouped together, taking into account whether they have the same disassembly directions. Identical parts with the same disassembly directions are positioned at a unique location (Fig. 9-c), which enables equipment and space savings. (sfirWB)bJJ[M]!s[JLD I stran 49 SUMEČ y Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms a) §§ § y; b) M c) Sl. 9. Lege sestavnih delov: a) po demontaži izdelka, b) pred montažo - po prvotnem algoritmu, c) pred montažo - po izboljšanem algoritmu Fig. 9. The positions of the parts: a) after product’s disassembly, b) before assembly - original algorithm, c) before assembly - improved algorithm 4 SKLEPI IN NADALJNJE DELO Z vidika načrtovanja montaže je vsak izdelek, ki ga je treba zmontirati, mehanizem, ki ga je treba določiti v postopku načrtovanja. Ta mehanizem je na začetku zamisel - montažni načrt, ki bo kasneje preoblikovan v resnično montažno napravo in opremo. Tako je montažni načrt ključni element prizadevanja po integriranju razvoja izdelka, razvoju montažnega sistema (če montažni sistem še ne obstaja) in/ali programiranje montažne naprave in montaže (če montažni sistem že obstaja). Obstoj izdelka v sistemu RPN omogoča definiranje elementov in postopkov za ustvarjanje načrta za avtomatsko montažo. Tako je bil razvit podprt sistem RPN za ustvarjanje načrta za avtomatsko montažo. V tem prispevku so prikazani izboljšani in na novo uporabljeni algoritmi za sistem ustvarjanja načrta montaže. Ti algoritmi se nanašajo na: definiranje zaporedja montaže, strukturiranje prostora za montažni postopek pri enopostajni montaži, usmeritev izdelka, stikanje in obravnavo identičnih sestavnih delov v izdelku. Nadaljnje delo bo usmerjeno v izboljšanje postopkov (avtomatskih in iterativnih), obravnavo načrtovanih variant in njihovo vrednotenje, razvoju montažnih naprav in avtomatsko programiranje in delovanje. 4 CONCLUSIONS AND FURTHER WORK From the assembly-planning point of view, each product that is to be assembled is a mechanism – one that should be recognised during the planning stage. This mechanism is at first an abstraction – an assembly plan, that will later on be transformed into real assembly devices and equipment. In this way, the assembly plan is a key element in the effort to integrate the product design, assembly-system design (if the assembly system does not exist yet) and/or the assembly-device programming and the assembly execution (if the assembly system exists). A product’s existence in a CAD system allows a definition of the elements and procedures aimed at an automatic plan generation. Regarding the former, a CAD-based system for plan generation of an automatic assembly has been developed. In this paper, improved and newly implemented algorithms of the plan-generation system are depicted. These algorithms are related to the following: assembly-sequence defining, space structuring (layout) of the assembly process for bench assembly, product orientation, connectivity, and the treatment of identical parts in a product. Further work will cover the improvement of the generation procedure (automatic and interactive modes), the consideration of plan variants and their validation, assembly device design, automatic programming and execution. grin^SfcflMISDSD VBgfFMK stran 50 y Kunica Z., Vranje{ B., Hrman M.: Nekaj novih algoritmov - Some New Algorithms 5 LITERATURA 5 REFERENCES [I] Gottschlich, S., C. Ramos, D. Lyons (1994) Assembly and task planning: a taxonomy, IEEE Robotics & Automation Magazine, Vol. 1, 4-12. [2] Santochi, M. et al. (1995) STC ‘A‘ Cooperative work on assembly-planning software systems, Annals of the CIRP, Vol. 44, 651-658. [3] Kim, G.J., S. Lee, G. A. Bekey (1996) Interleaving assembly planning and design, IEEE Transactions on Robotics and Automation, Vol. 12, 246-251. [4] Jones, R.E., R. H. Wilson, T L. Calton (1998) On constraints in assembly planning, IEEE Transactions on Robotics and Automation, Vol. 14, No. 6, 849-863. [5] Ye, N, D. A. Urzi (1996) Heuristic rules and strategies of assembly planning: experiment and implications in the design of assembly decision support system, International Journal of Production Research, Vol. 34, 2211-2228. [6] Fujimoto, H., M. F Sebaaly (2000) Anew sequence evolution approach to assembly planning, Journal of Manufacturing Science and Engineering, Vol. 122, No. 1, 198-205. [7] Kunica, Z., B. Vranješ (1999) Towards automatic generation of plans for automatic assembly, International Journal of Production Research, Vol. 37, 1817-1836. [8] Kunica, Z., M. Hrman, B. Vranješ (1999) Algorithmisation of assembly stability check at automatic assembly plan generation, Proceedings of 10th International DAAAM Symposium “Intelligent Manufacturing & Automation: Past-Present-Future”, ISBN 3-901509-10-0, Vienna, 281-282. [9] Hrman, M., Z. Kunica, B. Vranješ (1999) Positions of parts with vertical (dis)assembly paths at automatic assembly system planning, Proceedings of 10th International DAAAM Symposium “Intelligent Manufacturing & Automation: Past-Present-Future”, ISBN 3-901509-10-0, Vienna, 199-200. [10] Homem de Mello, L.S., A. C. Sanderson (1990) And/or graph representation of assembly plans, IEEE Transactions on robotics and automation, Vol. 6, 188-199. [II] Cagan, J., D. Degentesh, S. Yin (1998) A simulated annealing-based algorithm using hierarchical models for general three-dimensional component layout, Computer-Aided Design, Vol. 30, No. 10, 781-790. [12] Boothroyd, G., P. Dewhurst (1991) Product design for assembly, Boothroyd Dewhurst Inc., Wakefield. [13] Zorc, S., D.Noe (1998) Efficient derivation of the optimal assembly sequence from product description, Cybernetics and Systems: International Journal, 29, 159-179. Naslov avtorjev: doc.dr. Zoran Kunica profdr. Božo Vranješ Miljenko Hrman Faculty of Mechanical Engineering and Naval Architecture Univerza v Zagrebu Ivana Lučiča 5 HR-10000 Zagreb, Hrvaška zoran.kunica@fsb.hr bozo.vranjes@fsb.hr miljenko.hrman@fsb.hr Authors’ Address: Doc.Dr. Zoran Kunica ProfDr. Božo Vranješ Miljenko Hrman Faculty of Mechanical Eng. and Naval Architecture University of Zagreb Ivana Lučiča 5 HR-10000 Zagreb, Croatia zoran.kunica@fsb.hr bozo.vranjes@fsb.hr miljenko.hrman@fsb.hr Prejeto: Received: 15.3.2001 Sprejeto: Accepted: 29.5.2003 Odprt za diskusijo: 1 leto Open for discussion: 1 year isfFIsJBJbJJIMlSlCšD I stran 51 glTMDDC