A branch-and-bound procedure for robot assembly planning

A branch-and-bound procedure for robot assembly planning

Computers ind. Engng Vol. 17, Nos 1-4, pp. 215-220, 1989 Printed in Great Britain. All rights reserved 0360-8352/89 $3.00+0.00 Copyright © 1989 Perga...

383KB Sizes 1 Downloads 48 Views

Computers ind. Engng Vol. 17, Nos 1-4, pp. 215-220, 1989 Printed in Great Britain. All rights reserved

0360-8352/89 $3.00+0.00 Copyright © 1989 Pergamon Press plc

CIMSYSTENS A BRANCH-AND-BOUND PROCRDURB FOR ROBOT ASSRMBLY PLANNINg

Jim Lee Engineering Management Program University of Southwestern Louisiana, Lafayette,

LA 70504

Tzvi Raz Industrial and Management Engineering University of Iowa, Iowa City, IA, 52242

ABSTRACT

The objective of this study was to develop a branch~and-bound procedure for the global optimization of problems in Robot selection (R), Layout of cell accessories (L) and Sequence of assembly tasks (S) for single-arm assembly cells. The three planning decisions are interdependent because the local optimization of one decision variable may n o longer be optimal when either one or both of the other two variable changes. To evaluate the performance of the proposed procedure, a computer software RAPS ( R o b o t A s s e m b l y P l a n n i n g System) was developed to run the procedure as well as the complete enumeration method. Results from the experiments reveal that the proposed branch-and-bound procedure yields significant savings on execution time, run-time memory required and a weighted sum of the number of mathematical operations required with respect to complete enumeration approach. INTRODUCTION

A high percentage of products produced today are of the low volume, multistyle variety, which are produced in small l o t s o f 5 t o 50 u n i t s per lot. Assembly tasks occupy up to 53% of the total production time and consume up to 22~ of labor cost [Owen 1985]. Consequently, assembly tasks present a good opportunity for seeking productivity improvement and cost reduction in batch job manufacturing.

One answer for higher productivity, uniform quality and lower assembly cost is to use assembly robots. Although assembly is not a very 'common robot application in industry today, a recent forecast [Smith and Heytler 1985] predicted that the robot assembly will surpassing welding as the largest application category by 1995. With the advances in robot technologies and the availability of aseembly robots, the success of s robot assembly system depends heavily on the quality of the design decisions and of the planning strategy. In general, the design and planning for robot assembly involves the following activities: determination of assembly parts and the sub-assemblies; selection of robot and cell configuration; determination of a n optimal assembly sequence; allocation of assembly operations and equipments; determination of the workspace layout; estimation of assembly cycle time and cost. Among these planning issues, the Robot selection (R), Layout of cell accessories (L) and Sequence of assembly tasks (S), abbreviated as the RLS problem, are considered as interdependent because the local optimization of one decision variable may n o l o n g e r b e o p t i m a l when either one or both of the other two variable changes. Recognizing that the three pldnning problems as interdependent and none of the existing methods solves them globally, an optimization procedure using heuristic rules for estimating the upper and lower bounds is developed to solve t h e RLS p r o b l e m i n s i n g l e arm assembly ceil. A preliminary study of this procedure appears in [Lee and Raz 1987]. This paper further explores the tree generation approach and the heuristics for 215

216

Proceedings of the 1lth Annual Conference on Computers & Industrial Engineering

u p p e r b o u n d e s t i m a t i o n . A c o m p u t e r p r o g r a m R A P S was d e v e l o p e d to implement the p r o c e d u r e as well as a c o m p l e t e e n u m e r a t i o n a p p r o a c h . E x p e r i m e n t s for e v a l u a t i n g the p e r f o r m a n c e of the o p t i m i z a t i o n p r o c e d u r e w i t h r e s p e c t to a c o m p l e t e e n u m e r a t i o n a p p r o a c h w e r e p e r f o r m e d a n d the r e s u l t s w e r e analyzed u s i n g SAS p a c k a g e .

THE RLS PROBLEM A typical single-arm a s s e m b l y cell c o n s i s t s of a robot, a set of grippers, various part f e e d e r s , a part t r a n s f e r r i n g mechanism for the assembled products a n d r o b o t i c v i s i o n or o t h e r s e n s o r y aids. During the a s s e m b l y p r o c e s s , the r o b o t m o t i o n can be v i e w e d as a n u m b e r of iterative cycles. In e a c h c y c l e a part, e i t h e r a s i n g l e c o m p o n e n t or a subassembly, is a d d e d to a n o t h e r part u n t i l the a s s e m b l y is c o m p l e t e d . The m o t i o n cycle is g e n e r a l l y c o n s i d e r e d to h a v e two t y p e s of m o t i o n : g r o s s m o t i o n and fine motion. Gross m o t i o n o c c u r s w h e n the u n l o a d e d arm r e a c h e s for a part or w h e n a l o a d e d a r m m o v e s to a d e s t i n a t i o n point. F i n e m o t i o n t i m e r e f e r s to the g r a s p i n g of an o b j e c t or the a c t u a l m a t i n g p r o c e s s of two parts. Each m o t i o n c y c l e is t h o u g h t as a task e l e m e n t . In this study, we a s s u m e that a set of d i s c r e t e l o c a t i o n s w i t h i n the work area can be i d e n t i f i e d as l a y o u t l o c a t i o n s for part feeders. The a s s e m b l y p o i n t of two p a r t s m a y be at a w o r k a r e a w h i c h is a d j a c e n t to one of the l a y o u t l o c a t i o n s of the two p a r t s to be a s s e m b l e d . The fine motion time is a s s u m e d to be b a s e d on the s p e c i f i c g r i p p e r u s e d a n d is considered as fixed. The g r o s s m o t i o n t i m e d e p e n d s on the distance traveled, the payload c a r r i e d a n d the type of robot used. T h e r e f o r e different assembly sequences and cell l a y o u t s w i l l a f f e c t m a i n l y the g r o s s m o t i o n time, and the f i n e m o t i o n time m a y be a f f e c t e d b y the s e l e c t i o n of robot. T h e i n f o r m a t i o n r e q u i r e d to r e p r e s e n t the a s s e m b l y p r o c e s s i n c l u d e the part weight of e a c h c o m p o n e n t parts, p a r t s u s e d in the task elements, mating operation involved for e a c h of the t a s k elements, a precedence m a t r i x w h i c h s p e c i f i e s the c o n s t r a i n t s in a s s e m b l y s e q u e n c e , a n d a d i s t a n c e matrix w h i c h c o n t a i n s the d i s t a n c e b e t w e e n a n u m b e r of d i s c r e t e locations for l a y o u t of p a r t f e e d e r s . The r o b o t s for c o n s i d e r a t i o n are r e p r e s e n t e d by a s l e w v e l o c i t y f u n c t i o n and a w e i g h t f a c t o r as a f u n c t i o n of p a y l o a d . The w e i g h t f a c t o r r e p r e s e n t s the i m p a c t of p a y l o a d to the s l e w v e l o c i t y . The unit cost for a s s e m b l i n g a p r o d u c t is d e t e r m i n e d by the time needed for the robot to c o m p l e t e all the required motions, and the acquisition and o p e r a t i o n cost of the r o b o t s p r e a d o v e r its useful life. The l a t e r m a y be r e p r e s e n t e d as a c o n s t a n t cost per t i m e unit. T h e a s s e m b l y time is the s u m of g r o s s m o t i o n time and the f i n e m o t i o n time. The fine motion time is a s s u m e d to be g i v e n as a f u n c t i o n of the robot used. The gross motion t i m e is an i n c r e a s i n g f u n c t i o n of b o t h the distance D and p a y l o a d P. Thus, any g r o s s m o t i o n time f u n c t i o n T ( D , P ) w h i c h s a t i s f i e s the f o l l o w i n g c o n d i t i o n s can be u s e d to c a l c u l a t e the g r o s s m o t i o n time: dT(D,P)/dD dT(D,P)/dP These

conditions

were

> 0 > 0 verified

in a r o b o t

time

study

[Paul

and

Nof

1979].

After the required a s s e m b l y d a t a are c o l l e c t e d for a given robot assembly cell, a t r e e s t r u c t u r e can be u s e d to r e p r e s e n t the RLS problem. Each node in the t r e e r e p r e s e n t s a s y s t e m s t a t e d e s c r i b i n g the stage of c o m p l e t i o n of the a s s e m b l y , l a y o u t of a c c e s s o r i e s w h i c h h a v e b e e n a l l o c a t e d and the robot s e l e c t e d to a r r i v e at this stage. E a c h e d g e represents the cost incurred for moving f r o m one n o d e to a node in the next level resulting in a c h a n g e of state. A branch-and-bound procedure is then developed to f i n d the m i n i m u m cost p a t h w h i c h b r i n g s the i n i t i a l s t a t e to the g o a l state, r e p r e s e n t i n g an a s s e m b l e d p r o d u c t .

THE BRANCH-AND-BOUND PROCEDURE In formulating the RLS p r o b l e m , s tree structure is employed to express the various planning decisions in the assembly process. The i n i t i a l state is the situation where none of the task elements has been performed, none of the layout locations has been allocated and the robot to be used has not been determined. The goal s t e t e is a s t a t e in which el] the planning decisions h a v e b e e n made. E a c h n o d e at the b o t t o m l e v e l of the

Lee and Raz: Branch-and-bound procedure for robot planning

217

problem tree r e p r e s e n t s a goal state node. There may exist state nodes representing various f e a s i b l e solutions to p l a n n i n g problem.

first

Staring with a root node, the procedure generates the fashion. The g e n e r a t i o n o f t h e n o d e s i s b a s e d on t h e

several goal the assembly

nodes by following

depthrules:

I. Select a robot. If there are R robots available, the tree will have R major branches w i t h each b r a n c h r e p r e s e n t i n g the use of a specified robot. 2. Select a task that s a t i s f i e s the p r e c e d e n c e c o n s t r a i n t s . 3. A s s u m i n g that there is a finite set of part feeder l o c a t i o n s over all robots, select l o c a t i o n s for part feeder layout. 4. Select an a s s e m b l y point. This point may be at one of the l o c a t i o n s of the two parts to be assembled. 5. Assign part feeders to layout locations. The cost for edges c o n n e c t i n g two nodes is d e t e r m i n e d by the cost function. K n o w i n g the cost to reach the current state, the next step is to estimate the r e m a i n i n g cost from the current state to a goal state. The e s t i m a t e s h o u l d p r o v i d e a lower b o u n d w h i c h must not be larger than any of the p o s s i b l e paths e x p a n d i n g from the current state to the goal state. The e s t i m a t e d total cost is c o m p a r e d to a trial solution. The trial solution s h o u l d not u n d e r e s t i m a t e the m i n i m u m total cost as it is used as an initial upper b o u n d on the p o t e n t i a l solutions. If the e s t i m a t e d total cost of a node is g r e a t e r than the upper bound, it is c o n c l u d e d that no further expansion from this node is n e c e s s a r y b e c a u s e doing so will not y i e l d a b e t t e r s o l u t i o n than the upper bound. D u r i n g the tree e x p a n s i o n process, newly g e n e r a t e d nodes are compared to other nodes w i t h d i f f e r e n t parent nodes in the level to see if 'common nodes' exist. Since the common nodes have r e a c h e d the same state of completion, only the one w i t h the s m a l l e s t a c c u m u l a t e d cost should be f u r t h e r expanded. When the tree g e n e r a t i o n reaches the b o t t o m level, a n u m b e r of goal state nodes are obtained. The actual total cost to reach the goal state for each of the nodes is c o m p a r e d to the upper bound. If the cost is less than the upper b o u n d on the optimal solution, it is used as the new upper bound since it is a b e t t e r upper bound.

The initial upper b o u n d on the o p t i m a l s o l u t i o n is d e t e r m i n e d by a trial s o l u t i o n of the RLS p r o b l e m b a s e d on h e u r i s t i c rules. The estimated total cost for the trial s o l u t i o n is then c o m p u t e d b a s e d on the selected robot, a s s e m b l y sequence, and layout of part feeders. In robot selection, the robot w i t h the s m a l l e s t fine m o t i o n cost is s e l e c t e d for a trial solution. The fine m o t i o n cost (FC) for a robot r is computed b a s e d on the cost f a c t o r (F) and the sum of all the fine motion time (TF) r e q u i r e d in the assembly: FC(r)

= TF(r)

x F(r)

For the layout selection, the h e u r i s t i c rule a t t e m p t s to m i n i m i z e the a v e r a g e p a y l o a d by a s s i g n i n g the h e a v i e r parts to the l o c a t i o n s w i t h lower 'average distance' values in an attempt to r e d u c e the a v e r a g e payload. If there are n l o c a t i o n s a v a i l a b l e and D(n,n) is the distance matrix, the a v e r a g e d i s t a n c e AD() of location i is:

AV(i)=[D(1,i)+V(2,i)+...+V(n,i)]/n The heuristic rule assigns lowest AD v a l u e , the next l o w e s t AD, a n d s o f o r t h .

the heaviest heaviest part

part to the location to the location with

with the

the next

In selecting a trial sequence, the heuristic approach also tries to minimize the average payload carried. For each task elements, the 'task weight' is defined a s t h e sum o f t h e w e i g h t s of the two parts involved. The

218

Proceedings of the 1 lth Annual Conference on Computers & Industrial Engineering

trial sequence is a d j u s t m e n t as n e e d e d

arranged based on the order of d u e to the p r e c e d e n c e c o n s t r a i n t s .

task

weight

with

The l o w e r b o u n d on the r e m a i n i n g cost for a g i v e n n o d e d e p e n d s on the task e l e m e n t s r e m a i n i n g a n d the l o c a t i o n s left for a c c e s s o r y layout. The r o b o t is not a f a c t o r b e c a u s e the s e l e c t i o n is d o n e at the f i r s t level and should not be c h a n g e d in the m i d d l e of the a s s e m b l y p r o c e s s . S i n c e at a given s t a t e the a s s e m b l y o p e r a t i o n s r e m a i n i n g to be p e r f o r m e d are known, the t o t a l fine m o t i o n time r e q u i r e d can be o b t a i n e d f r o m the a s s e m b l y data. Only g r o s s m o t i o n t i m e n e e d s to be e s t i m a t e d . A s s u m e that in a g i v e n node t h e r e r e m a i n m task e l e m e n t s a n d n l o c a t i o n s a v a i l a b l e for p part feeders, and let D ( i , j ) be the d i s t a n c e b e t w e e n l o c a t i o n s i a n d j. The p r o c e d u r e to e s t i m a t e a l o w e r b o u n d on the g r o s s m o t i o n time is s u m m a r i z e d below: 1. For e a c h of the n l o c a t i o n s , f i n d the s m a l l e s t D ( i , j ) w h e r e j is an available l o c a t i o n a n d i is a n y l o c a t i o n o t h e r than j. This r e s u l t s in n v a l u e s . R a n k t h e s e v a l u e s and call t h e m DI, D2 .... ,Dn w h e r e DI

<: D2

<:

...

<= Dn

2. For e a c h of the m task weight between the two p a r t s w e i g h t f a c t o r W and let WI

gross

<=

W2

<=

...

e l e m e n t s r e m a i n i n g , p i c k up the s m a l l e r p a r t to be a s s e m b l e d . Rank their corresponding

<=Wm

3. Define S i = D i / V ( D i ) , w h e r e i = 1 , 2 ..... m. m o t i o n time (LBG) for a s s e m b l y is LBG

= SlxWm

+ S2xWm-I

+

...

The

lower bound

on

+ SmxWl

4. The e s t i m a t e d r e m a i n i n g m o t i o n time is the s u m of remaining motion t i m e (RFM) a n d the l o w e r b o u n d on g r o s s m o t i o n time. G i v e n a cost f a c t o r F, the l o w e r b o u n d (LBC) on the r e m a i n i n g cost is: LBC

total

fine robot

= (LBG+RFM)xF

The p r o p o s e d b r a n c h - a n d - b o u n d p r o c e d u r e is s u m m a r i z e d by the f o l l o w i n g steps: S t e p i. O b t a i n a t r i a l s o l u t i o n of the p r o b l e m and u s e it as an upper b o u n d on the o p t i m a l s o l u t i o n . S t e p 2. Start with a root node, g e n e r a t e n o d e s for level one and c o m p u t e the cost for e a c h of the edges. S t e p 3. E s t i m a t e a l o w e r b o u n d of the r e m a i n i n g c o s t for e a c h node. If the s u m of the c u m u l a t i v e cost a n d the e s t i m a t e d r e m a i n i n g c o s t of a node is g r e a t e r than the u p p e r b o u n d , this n o d e is f a t h o m e d . S t e p 4. Expand the tree f r o m the n o d e s w h i c h are not f a t h o m e d by a d e p t h - f i r s t a p p r o a c h . For e a c h n o d e g e n e r a t e d , do s t e p 5,6 a n d 7: S t e p 5. Determine the cumulative cost and check the states of completion to see if c o m m o n n o d e s exist. If so, m a r k the one with the l o w e s t cost, a n d f a t h o m the o t h e r s . S t e p 6. Estimate a l o w e r b o u n d and the t o t a l cost for each node. Fathom nodes when possible. S t e p 7. U p d a t e the u p p e r b o u n d w h e n p o s s i b l e . S t e p 8. R e p e a t s t e p 4 u n t i l no f u r t h e r e x p a n s i o n of the t r e e can be made. The states of the n o d e at the bottom level with the smallest c u m u l a t i v e cost p r o v i d e s an o p t i m a l s o l u t i o n to the p l a n n i n g p r o b l e m .

KXPRRIMBNTAL MKTHOD To evaluate the p e r f o r m a n c e of the proposed procedure, a Pascal program was implemented on A p o l l o D N 3 0 0 0 w o r k s t a t i o n s . The program is called RAPS for Robot Assembly Planning System. The structure of the p r o g r a m is m o d u l a r to f a c i l i t a t e f u t u r e m o d i f i c a t i o n s or a d d i t i o n s of o t h e r s e a r c h rules. A c o m p l e t e d l i s t i n g of the code w i t h d e s c r i p t i o n s of e a c h of the P a s c a l p r o c e d u r e a p p e a r s in [Lee 1987].

Lee and Raz: Branch-and-bound procedure for robot planning

219

The p e r f o r m a n c e m e a s u r e s used in the e x p e r i m e n t s are: (1) the CPU time r e q u i r e d to obtain the d e s i r e d solution, (2) the number of nodes generated as an i n d i c a t i o n of r u n - t i m e m e m o r y required, and (3) a w e i g h t e d sum of the number of m a t h e m a t i c a l o p e r a t i o n s executed. The Apollo w o r k s t a t i o n has a 88000 series m i c r o p r o c e s s o r . Based on the 68000 r e f e r e n c e manual [Motorola Inc. 1984], addition, s u b t r a c t i o n and c o m p a r i s o n operations take about same amount of c o m p u t e r time. R e g a r d l e s s of the a d d r e s s i n g mode used internally and the length of the variables, m u l t i p l i c a t i o n requires about 9.5 times longer than an addition, and division takes about 20 times longer than an addition. The number of m a t h e m a t i c a l operations (MO) is then e s t i m a t e d by the f o l l o w i n g formula based on the number of addition (ADD), subtraction (SUB), c o m p a r i s o n (CMP), m u l t i p l i c a t i o n (MUL) and division (DIV): MO = A D D + S U B + C M P + ( M U L x 9 . 2 5 ) + ( D I V x 2 0 )

Three factors which may h a v e i n f l u e n c e on the performance of the solution procedure are identified. They are: (1) Number of task elements. (2) Number of robots for selection. (3) Precedence constraints on task sequence. The precedence matrix can be summarized by a precedence strictness ratio, which is defined as the ratio between the number of precedence r e q u i r e m e n t s (a 1 in the matrix) and the feasible combinations of two task elements. The three factors were each set at two levels for e x p e r i m e n t a t i o n , and eight basic e x p e r i m e n t s were g e n e r a t e d for a factorial design. Each of the 8 basic e x p e r i m e n t s was r e p l i c a t e d 4 additional times for a total of 40 experiments to show some variations of the 8 basic designs. The m e t h o d to replicate the experiments is based on a 5% random perturbation on the following assembly data: (I) part weights; (2) robot cost factors; (3) d i s t a n c e b e t w e e n locations; (4) a s s e mb l y m a t i n g times. To determine whether the savings r e a l i z e d by using the proposed procedure with respect to complete e n u m e r a t i o n are close to zero, the S t u d e n t ' s t tests are performed. Under the null hypothesis, there should be no d i f f e r e n c e b e t w e e n the p e r f o r m a n c e m e a s u r e s o b t a i n e d from the proposed procedure and those o b t a i n e d from a complete enumeration. If the null h y p o t h e s i s is r e j e c t e d at a selected level of significance, it is c o n c l u d e d that the d i f f e r e n c e exists. Finally an analysis of v a r i a n c e (ANOVA) was done to determine the effects of factors and their interactions on the p e r c e n t a g e savings. Under the null hypothesis, the effects from the factors and their interactions are equal to zero. If the null hypothesis is rejected at s s e l e c t e d level of significance, it is c o n c l u d e d that the effects are significant. RESULTS AND CONCLUSIONS Results from the e x p e r i m e n t s showed that the generates an average of 31% savings on CPU time, 65% number of nodes needed, and 21% on the m a t h e m a t i c a l with respect to a c o m p l e t e e n u m e r a t i o n approach. Based tests, the saving was d i s t i n c t l y different from zero significance.

proposed procedure of savings on the operations required on the Student's t at O.OOl level of

For the CPU time, the saving is a f f e c t e d by the number of tasks based on the output of ANOVA models. The saving on the number of nodes required is affected by the number of robots, the p r e c e d e n c e c o n s t r a i n t s and the interactions between tasks and p r e c e d e n c e constraints. However, none of the factors is found to have major influence on the mathematical operations required. The so l u t i o n occurred

unit assembly cost obtained from the heuristic based trial is about 13% higher than the true optimum. The point of o p t i m a l i t y in the first 42% of the nodes g e n e r a t e d in most of the cases.

The research potential in robot assembly is rich and many problems remain to be solved. P o s s i b l e extensions of the model include: (l) multiple-product environment; (2) m u l t i p l e robots or a multiple-gripper robot in a cell; (3) additional constraints, such as productivity requirement. In addition, heuristic rules should be further studied to obtain near-optimal solutions when the problem size is too large for e c o n o m i c optimization.

220

Proceedings of the 1 lth Annual Conference on Computers & Industrial Engineering

REFERENCES Lee,

J. (1987). Global Optimization of Robot Dissertation. Department of Industrial and Hniversity of Iowa.

Lee, J. and T. Raz (1987).

!t~ Motorola Owen,

!BBB ! ~ Inc.

A. E.

(1984). (1985).

~f~

Assembly Planning. PhD Management Engineering.

"Optimization of Robot Assembly Planning", Prgc~

9~ B g b ~ & ~

M68000 Assembly

16/32 with

Paul,

R. P. a n d S. Y. N o r ( 1 9 7 9 ) . B e t w e e n R o b o t a n d Human T a s k No. 3 , 2 7 7 - 3 0 3 .

Smith,

D. a n d Robotics

P. H e y t l e r (1985). Delphi Report.

~

Bit Robot.

6~19~!9~.

Vot.

Microprocessor. Kogan

"Work Methods Performance", "Industrial

Page

2,

985-990.

Motorola,

Inc.

Ltd.

Measurement - A !~ ~ ~E~= ~.

Robots:

Forecasts

Comparison Vol. 17,

and

Trends",