Computtrs ind. Engng, VoL31,No. 3/4,pp. 919- 924,1996
Pergamon
Copy~ghtO 1995ChinaMachinePress Publishedby ElsevierScienceLtd.Pnntedin Gw.atBtitaht S0360-8352(96)00264-1 0360-8352j96 $15.00+ 0.00
A Genetic Algorithm Based Approach to Optimal Fixture Configuration N. H. Wu, K. C. Chart School of Mechanical and Manufacturing Engineering, University of New South Wales, NSW 2052, Australia Abstract: In this paper the application of genetic algorithms (GAs) to the fixture configuration optimisation problem is presented. A general purpose fixturing verification system has been developed to check the validity of individual fixture configurations by analysing various contact types in the workpiece-f~ture system. Based on the information provided by the verification system, a genetic algorithm based aplxoach carries out the evaluation process to detezmine the most statically stable fixture configuration among a large number of candidates. The preliminary implementation is introduced to demonstrate the ability of GAs and two different coding schemes are tested to explain their influence on the performance of GAs. Keywords: Genetic Algorithms, Hxturing verification system, Fixture configuration optimisation, Automated f'vtture design methodology. 1. INTRODUCTION Fixture configuration design is a major concern in the development of automated fixture design (AFD) systems. The task of fixture configuration design is to layout a set of locating and clamping points on workpiece surfaces such that the workpiece is accurately located and completely restrained during manufacturing operations. For years, researchers have proposed different methods to assist the design and evaluation of fixture in order to obtain the most suitable configuration. Based on kinematic, force and robotic grasp analyses, King and Huttet proposed a theoretical approach for generating optimal fLxturing locations to secure workpieces ideally with respect to maximum stiffness, resistance to slip and stability [1]. Menassa and DeVries used Finite Element Method to formulate the fixture design problem to the minimisation of the workpiece deflection and then to detea'mme the positions of the fixture supports [2]. Although these approaches had their successes on achieving respective goals for a succe~ful futture configuration, it is noted the computational difficulties associated with the models restricted their applications on prismatic workpieces. In this paper, we aim at a vast coverage of workpieces/fixturing elements geometry. Different types of contacts and frictional effects will be involved in fixturing analyses. A general purpose fLxture configuration verifgation system can effectively check the validity of individual configurations and also provide sufficient information for the evaluation of individuals. Thus, unlike those in previous approaches the problem posed here is which individual has the best performance among all candidates. However, the variation of workpiece geometry and placement limitation of fixturing elements inevitably cause the functional evaluation to have the characteristics of discontinuity, multimodality and uncertainty. A heuristic approach seems to be a natural alternative to solve such a problem. In this paper, Genetic Algorithm (GA), a robust stochastic and heuristic optimisation algorithm based on biological reproduction process, will be applied to search the best result due to its powerful searching ability and easy manneuvrability. 2. GENETIC ALGORITHMS According to Darwinian survival-of-the-fittest evolutionary theories, only the most suited elements in a population are likely to survive and generate offsprings, thus transmitting their biological heredity to new generations. A genetic algorithm emulates biological evolutionary theories to solve optimisation problems. It comprises a set of individual elements (the population) and a set of biologically inspired operators [3]. Fig. 1 summarises the working structure of a simple GA (SGA), which has the following components: * a population of encoded strings • a mechanism to encode the solutions as strings • a fitness function • genetic operators • control parameters • a selection mechanism We will briefly describe them and a SGA in the following sections. 2.1. String representation and encoding mechanism To start the search process, a GA randomly initialises a population of potential solutions and maps it onto a set of strings (artificial chromosomes). Each string can be encoded by various encoding mechanisms into a set of bits in a unique form, e.g. binary or integer. A bit of a string is the equivalent of a gene of a chromosome in nature. The 919
920
18th International Conference on Computers and Industrial Engineering
encoding mechanism is fundamental to the GA sm~ture for representing the optimisation problem's variables, and depends on the nature of the problem's variables. 2.2. Fitness function The objective function provides the mechanism for evaluating each string. However, the objectives can he stated as either maximisation or minimisation. Moreover, the range of function values can vary from solution to solution. To maintain uniformity over various optimisation problems and to transfer the objective function values into a convenient range, it is necessary to map the underlying natural objective function to a fimess function form through mapping, scaling and normalisation techniques.
2.3. Genetic operators Reproduction, crossover and mutation are three basic genetic operations. Reproduction is a biased selection process to choose "mates" for the offspring generation. The selection policy is ultimately responsible for assuring survival of the best fitted individuals. Proportionate selection schemes, like the roulette wheel selection scheme in SGA, are often used. Rank-based selection schemes and tournament selection schemes have also been developed to improve the performance of GAS. Crossover is the most crucial operation to GA functioning. The crossover operator takes two chromosomes and exchange part of their genetic information to produce new chromosomes. The exchange is accomplished by swapping a number of genes between two selected chromosomes at one or few randomly selected positions. Single point, multipoint and uniform crossover are commonly used techniques. Reproduction and crossover operators recombine a population's genetic material and assure that special genetic structures (building blocks) are retained for future generations. The building blocks then represent the fittest genetic structures in a population. However, recombination alone cannot avoid the risk of losing promising building blocks in the presence of other genetic structures, which leads to local optimum. It also cannot explore search space sections not represented in the population's genetic structure. Hence, the mutation operator is used to introduce new genetic structure in the population by randomly modifying some of its building blocks and then to help the search escape from local optimum's trap. The modification is done by assigning a new value to the selected gene within its interval. 2.4. Control parameters The control parameters of a GA refer to the population size, crossover and mutation probabilities. The population size controls the divcrsity of search region, the probability of permanent convergence to a local optimum and the time required for the convergence to the optimal region. The crossover probability controls the rate of recombination and disruption of building blocks. The mutation probability controls the inclination of a GA from a structured search to a random search and the chance of reintroducing the lost promising building blocks. We can visualise the functioning of GAs as a balanced combination of exploration of new regions in the search space and exploitation of already sampled regions. This balance, which critically controls the performance of GAs especially the interaction between genetic operators, is determined by the right choice of control parameters. Traditionally, all the control parameters must be specified before execution of GAs and often have to be finalised empirically. The dynamic control of GA has been investigated and is regarded as a promising prospect. 2.5. A SGA After having determined its components, a GA then manipulates the most promising strings in its search for improved solutions by the genetic operators. Fig. 1 outlines a SGA structure. After randomised initialisation, the SGA works iteration by iteration successively to generate and test a population of artificial chromosomes, and stops at a predefmed count that is usually called generation number.
3. FIXTURE CONFIGURATION OPTIMISATION PROBLEM In our approach to optimal fixture configuration, the overall evaluation of candidate configurations relies on the assessment of individuals. In this section, we introduce a general ~ fixturing verification system [4] and the objective function for stability optimisation. 3.1. Modelling of contacts and fixture configurations From the point of view of fixture design, a fixture configuration should not only include the spatial positions and orientations of iocators and clamps, but their geometrical characters, and the clamping sequence and clamping forces as
18th International Conference on Computers and Industrial Engineering
921
well. lhsed on screw u~xy, contacts betwnea wo~kpiece mrfac~ and fixtaring eleanems cun be modened as frictional holding wrenches. A frictional point contact can be relnmented as either a force form (Eq. 1) or a location form (Eq. 2).
,.x,
w,
rxn
,.x,
rx,JV;./fL,.x,
rxt
rxl
,.x.
;-
I] ( t = ~ -r....t ~ I=~-~)
al
<')
(2)
La2J
where n =[n.
n,
n,] r is the (3xn)unit inward normal vector of the contact point, r = [ x
y z] is
(3 x n) the position vector of the contact point, and r x n is the moment of the unit normal about the origin, t is the tangent vector at the contact, I is the cotangent vector at the contact, H is the magnitude of a vector. Note that a frictional holding wrench consists of three linearly independent sub-wrenches (Fig. 2), namely, nocmalised wrench w . , tangent wrench w t , and cotangent wrench w:. They are associated with their intensifies f,,,f, and f~. To deal with the fixturing problems in a practical manufacturing environment, the different contact types and friction effects mug be considered in the fixtm'ing analyses. Thus, a contact model has an additional constraint (Eq. 3). It is the modification of the Coulomb's friction law IF, I_< ~ F / I , where F~ is the force applied in the normal direction of the contact, F/ is the friction force on the tangent plane of the contact, p is the coefficient of friction, and s is the safety index to balance the unpredictable behaviour of friction (0 _
ct2 +a22 <(sp)2 or f2 +f,2 <_(W,,)2
(3)
Although frictionless point contacts are the most primitive contacts, line contacts and face contacts including planar, cylindrical and spherical contacts can be approximated by a set of point contacts. Therefore, a fLxtore configuration C can be represented as a set of n individual holding wrenches C = {Pl, P2 ..... p, }. Because each frictional point contact consists of three linearly independent sub-wrenches, C can also be represented as a combination of 3 x n sub-wrenches.
C = {p, ,P2 ..... P.} = {P,,,,P,,,P,t,P2,,,P2,,P2,.--,
P,,,,, P,,*,P,~}
(4)
3.2. A general purpose fixture configuration verification system Based on kinematic and force analyses, a general ~ fixture configuration verification system has been developed to check the validity of fixture configmation. A feasible configuration is to have deterministic location, static stability during clamping and machining and total constraint. In most practical cases, the wotkpiece equitila'ium is statically indeterminate. Moreover, the mathematical formulations of constraints have nonlinear formulations. Thus, nonlinearlm~gramming methods are applied to solve the feasible solutions. We describe the model as following: The objective function is to minimise the sum of intensity of all holding wrenches f~
(5) IV4-m
and Minimise Y~ (f, + f~ + .f:)
(manufacturing)
i
(6)
where n and m are the numbers of contacts representing locators and clumps respectively S.T.
(a) the static equilibrium equations are Wp G = -P~ - wo F. (fixtarins) or W,,F,~ = - p , (manufacturing) with Rank of Wp= 6or detWp ;~0
(7) (8) (9)
where We is a 6 x 3a matrix of n holding wrenches representing n kr.ators, Fp is an 3n x 1 intensity vector of the holding wrenches, W. is a 6 x 3m matrix of m clamping wrenches, and F. is an 3m x 1 intensity vector of the clamping wrenches, W . is a 6x(3n+3m) wrench matrix, F m is an (3n+3m)xl intensity vector, p. is the external wrench which represents the resultant external force and moment Pc is the external wrenches representing weighL
922
18th International Conference on Computers and Industrial Engineering
(b) the intensity of the normalised holding wrenches should be non-negative and they are also constrained under the maximum allowable fixturing force limits (f~=i~) O< f,u < f ~ . i for i=1,2 ..... n +m (c) the frictional constraint of each frictional point contact is
(10)
f : + f 2 < (~./,)2 or a izl + a 22 S (sit i )2, for i = 1,2..... n + m, with the safety index O < s -< 1 If a fixture configuration is valid, the mathematical model has feasible solutions, and unknown fixturing forces are found from the computational results too. The sums of the solutions (F.q. 13) are the magnitudes of resultant forces in their uni-sense directions applied to the workpiece. F=[FT F. r ]T +F~, (11) 3.3 Stable fixture configuration A fixture configuration is stable if small external disturbance forces do not cause the contacts to slip or separate from the workpiece which is in static equilibrium. From the virtual work point of view, the fixture configuration is stable if and only if the potential energy of C reaches a local minimum. The synthesis of stable fixture configuration constructs virtual springs at the contact interface of each locating and clamping regions on the workpiece's surface. Each frictional contact is modelled as a set of three linear springs, all going through the point of contacts with one along the normal direction and two along tangential directions of the contact surface. A linear spring is characterised by its stiffness constant ki, so for each contact there is a diagonal stiffness matrix. k=
k,
(12)
0 kt If a workpiece is made of uniform materials, the stiffness constants on the normal direction k~ should have the same value k for each contact. Other two on the tangential and ¢otangential directions k, and k t should be the same and with constraint k, = kt = lSk, where [~ is the ratio of the stiffness on the normal direction to that on the tangential direction. Thus, the potential energy of C can be written as 1 a,
-2
2
1 n
1 ~
k(::
The objective function is to minimise the configurations.
= 7,_-z,
potential energy of all kinematically and statically feasible fixture
Optimise Obj(Cl ,C2 ..... C ..... )=Minimise
obj(.Ic,,.Ic
, , ....
....
)
(14)
S.T.
(a) (b)
individual f~ture configurations ate approved by the fixturing verification system. they must cooperate with manoeuvring ranges of fixturing elements.
Note that a fixture configuration, defined as a set of fixturing elements, can be described mathematically by a holding wrench matrix. Thus, the variables of above objective function consist of the components of the matrix. However, Eq. 13 indicates that it is calculated by a quadratic formulation of force magnitudes. It is realised highly difficult to construct or approximate a direct functional relationship between the variables and the objective function. Other commonly used optimisation methods such as dynamic programming, calculus-based gradient techniques not only require compficated modelling and optimisation procedures, but a large number of auxiliary information to guide the search process as well. GAs concern with the objective function and variables themselves rather than the functional relationship between them. As the fixturing veaification system can effectively generate the force magnitudes for calculating values of the objective function, it is also a means to satisfy the constraints of the objective function. 4. PRELIMINARY IMPLEMENTATION The preliminary implementation is carried out on a fixture configuration to hold a 80 x 40 x 40 workpiece. The fixture configuration is based on the 3-2-1 principle and thus consists of six locators and three clamps. The magnitudes of clamping forc,es are predefined although they will be considered as adjustable and then become variables of the optimisation model during its further development. Machining forces are modelled as a single time-unvarying resultant force. The fixturing verification model applied linear programming method so that friction is neglected at this stage but will be considered in full implementation.
18th International Conference on Computers and Industrial Engineering
923
_Be~J__u~wofkpiece surfaces are continuous functions and fixturing elements can make contact with them freely on any positions, the number of available fixture configurations presented by combinations of objective function variables is practically an infinite number. It is realistic to divide the woAviece surfaces into a finite number of small size segments, as if they are covered many tiles (Fig. 3). The centroid of each tile is a specific point of which the position vector and the normal vector together define a holding wrench. The objective function thus can be wriuen as: Optimise
Obj(Ci,C2..... C,)
= Minimise
Obj(~c ' ,~c2,...,U[c. )
(15)
Assuming each iocator or clump has its own manoeuvring area in some datum surfaces, the surfaces can be divided into few soctionsm (Fig. 4 and Fig. 5). Each tile is given an identification code and contained in a certain group that consists of every tiles in a section. Thus, a fixture configuration is represented by a set of codes which act as genes to form an artificial chromosome. If randomly initialise a population, one of the strings can have an integer form like 9-71-118153-235-310-406-478-638. The number of fixturing elements is obviously the length of a string. Note that the bits of each suing are kept in an order of their belonging groups so they will not be misplaced after crossing-over, and a bit can only be replaced by one of its own group ff the mutation operator is active. Because different coding schemes are interchangeable, a string of nine integers can be replaced by a binary string like
0000001001/0001000111/0001110110/0010011001/O011101011/0100110110/0110010110]0111011110/1001111110. The intensity of tile coverage on the surfaces determines how accuratethe result is. If a workpiece is covered by tiles of size 0.625 × 0.625, we face a task to search the best combination of nine tiles from a total number of 20480. Since GAS are inherently parallel search algorithms and the computational speed of optimisation model is critical in a practical manufacturing environment, the convergence speed of GAs is important to its overall performance. It can be justified by developing and testing different GA operators and adjusting different sets of GA control parameters. In a preliminary implementation. Different settings of GA control parameters associated with two different coding schemes will be tested empirically. Fig. 6 shows the fitness average value versus generation for three independent runs based on binary coded GAs. Fig. 7 shows the coomparison between integer coded GAs and binary coded GAs. Although the fitness average is above the population best, the trend toward improvement and steady status is clear in all cases. The length of an integer string is shorter than that of a binary string. If using same population size and mutation probability, the number of bits mutated in a binary coded GA is far more than that in an integer coded GA. It is observed that GAs applying integer coding schemes consume less time than those applying binary-coding scheme. In those charts, the results of the binary coded GAs show more fluctuation that those of the integer coded GA because it has more chance to disrupt the successful building blocks due to long length of the strings. Thus a small mutation probability is recommended. The integer coded GAS show the relatively steady pace towards the best but also face the risk to fell in a local minimum. Thus large population size is recommended and the mutation probability needs to be increased slightly. $. CONCLUSIONS This paper wesents a G A based approach to the fixture configurationoptimisationproblem. The optimisation model for stable fLxture configuration is introduced and analysed. It is generally regarded as a complex multimodal and discrete problem. While other methods fred difficulties to deal with it, the trials on GAs provide a viable alternative. The results from the preliminary implementations demonstrate GA's robustness, efficiency and unique advantages to solve such an optimisation problem. The optimisation model's association with a general purpose fixture configuration verification system also makes this approach have the advantages not to be restricted by specific workpiece geometry and to be free
from frictionlessassumptions. The preliminary implementation reveals the problems needed to be investigated on different GA mechanisms. Different control parameter settings are tested and two different coding schemes are introduced. It is expected integer coding schemes make GAs works faster and binary coding schemes enable GAs to explore more regions in the search space thus inevitably cause rapid convergence and have more globalperspective. It is confident that GAs can be a practical tool in assisting fixture configuration design. Further improvement is needed 1o enhance their performance and the reliability for such a complicated optimisation problem so that the optimisution model can be applicable for computer-integrated design systems. Although the research efforts of this approach are to be contributed to the development of AFD methodology, it can be adapted to robot grasping studies with only minor modifications due to many similarities existing between fixtures and robot grippers.
924
18th International Conference on Computers and Industrial Engineering
REFERENCES !. King, L. S.-B., and Hurter, Ivan, "Theoreucal Approach for Generating Optimal Fixmring Locations for Prismatic Workpans in Automated Assembly", Journal of Man,/acturing Systems, Vol. 12, No. 5, pp. 409-416, 1993. 2. R.J. Menassa, and W. R. DeVries, "Optimisation Methods Applied Io Selecting Support Positions in Fixture Design", Journal o/Engineering/or Industry, Transactions o/ASME, Vol. 113 (Nov. 1991), pp. 412-418, 1991. 3. D.E. Goldbefg. Genetic Algorithms in Search, Optimisation,and Machine Learning, Addison Wesley, 1989. 4. N.H. Wu, K. C. Chan and S. S. Leong, "A General Frictional Model For Fixturing Verification", Proceedings of the third International Conference on ComputerIntegrated Manufacturing, Singapore, 1995. Figure 1. SGA structure
Figure 2. The ith Frictional Holding Wrench
nr~t..__
Simple Genetic Algorithm ( ) initialise population; evaluate population,
z
while termination criterion not reach {
select solutions for next population; perform crossover and mutation;
} }
evaluate population:
Figure 3. A workpiece covered by "tiles" Figure 4. Surface developed sketch Figure 5. Sections for fLxturing elements
•
\
\v\/7//
Figure 6. Avcmgn fimess plot from binary coded GAs Figure 7. Average fitness plot from GAs of two coding schemes •
At~mmNC l e r ~ l m I ~ m
~0~
71
z 10s 1.7
le
W
1
Smq Wqlm: 110
m
• ~0.8,
M
~l~ ~
~k0.006
I.3
1.
~.S, lm~.~
1.2
11
11
!
,o
2o
3o
.o
~ G~m~m
.
161
111
I
.
~
~
,~
.
,®
Atq~ ~ .
.
I~lm~
0 ~
~
.
.
m: W
~ ~
~ ~